Réinstaller un VPS
Différé Asynchrone · 202
POST
/api/v1/
operationIdpostServerRebuild
- Niveau requis
- Complet
- Quota
- opérations lourdes, 6 appels par heure et par VPS (60 par compte)
Réinstalle le système. Tout le contenu du disque est détruit (fichiers, configuration, comptes), sans retour possible : ce qui n'est pas dans une sauvegarde ou un snapshot est perdu.
Le couple os / variant se reprend tel quel de GET /catalog/os-templates. La mémoire du VPS est comparée au minimum du template avant toute action : une réinstallation qui laisserait une machine incapable de démarrer est refusée en 409.
Les mots de passe sont générés, pas choisis, et rendus une seule fois dans cette réponse : root_password toujours, app_password en plus pour une variante applicative (variant différent de default). Ils prennent effet au démarrage du système réinstallé.
ssh_key_ids remplace les clés à poser sur la machine reconstruite. Un identifiant qui n'appartient pas au compte n'installe rien. Une clé weak est refusée (400), avant toute action.
Cette requête est traitée en arrière-plan : elle répond immédiatement pendant que le travail se poursuit. Suivez-la avec les opérations de tâches ou de requêtes.
Paramètres du chemin
-
vmidstring requis -
Identifiant du VPS. Il doit appartenir au compte et à la portée de la clé.
Corps de la requête
application/json
-
osstringrequisChamp
osd'une entrée deGET /catalog/os-templates -
variantstringfacultatifChamp
variantde la même entrée -
ssh_key_idsstring[]facultatifClés du compte à installer. Absent ou vide : cet appel ne touche pas aux clés.
Exemple de requête
{
"os": "debian-12",
"variant": "default",
"ssh_key_ids": [
"45"
]
}
Réponses
202
Réinstallation mise en file ; mots de passe rendus une seule fois
La requête a été acceptée, pas exécutée. La réponse contient une tâche à suivre.
{
"data": {
"tasks": [
{
"id": "tsk_000002e1",
"status": "pending",
"action": "server.rebuild",
"vmid": "116807",
"description": "Réinstallation du serveur VPS-116807 avec le template Debian 12",
"created_at": "2026-08-20T14:31:02+02:00",
"finished_at": null
}
],
"root_password": "shfKvbnERTUP2345",
"effective_after_reboot": true
}
}
Champs de la réponse 12
-
dataobject -
tasksobject[] -
idstringIdentifiant opaque
-
statusstringunknownsignalerait un état que l'API ne sait pas nommer -
actionstringType de tâche
-
vmidstring -
descriptionstring -
created_atstring (date-time) -
finished_atstring (date-time)nulltant que la tâche court -
root_passwordstringMot de passe root généré, rendu une seule fois
-
app_passwordstringMot de passe applicatif, pour une variante autre que
default -
effective_after_rebootboolean
400
Paramètres invalides : validation_failed — os absent, ou couple os / variant inconnu du catalogue ; validation_failed — clé de ssh_key_ids marquée weak.
validation_failed — os absent, ou couple os / variant inconnu du catalogue ; validation_failed — clé de ssh_key_ids marquée weak.os absent, ou couple os / variant inconnu du catalogue
{
"type": "https://docs.lws.fr/kvm/errors/validation-failed",
"title": "Paramètres invalides",
"status": 400,
"code": "validation_failed",
"detail": "Aucun système ne correspond à ce couple os / variant.",
"request_id": "3f9a1c07b2e45d18",
"errors": {
"os": "Reprenez un couple os / variant de /catalog/os-templates."
}
}
clé de ssh_key_ids marquée weak
{
"type": "https://docs.lws.fr/kvm/errors/validation-failed",
"title": "Paramètres invalides",
"status": 400,
"code": "validation_failed",
"detail": "La clé SSH 45 ne respecte plus les critères actuels (type reconnu, RSA d'au moins 2048 bits) : elle ne peut pas être posée à la réinstallation.",
"request_id": "3f9a1c07b2e45d18",
"errors": {
"ssh_key_ids": "Retirez la clé 45, ou remplacez-la par une clé conforme."
}
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
401
Authentification refusée : invalid_token — en-tête Authorization absent ou malformé, ou clé inconnue ; access_disabled — accès API coupé pour ce compte, ou service API momentanément coupé par LWS.
invalid_token — en-tête Authorization absent ou malformé, ou clé inconnue ; access_disabled — accès API coupé pour ce compte, ou service API momentanément coupé par LWS.en-tête Authorization absent ou malformé, ou clé inconnue
{
"type": "https://docs.lws.fr/kvm/errors/invalid-token",
"title": "Authentification invalide",
"status": 401,
"code": "invalid_token",
"detail": "Clé inconnue ou révoquée.",
"request_id": "3f9a1c07b2e45d18"
}
accès API coupé pour ce compte, ou service API momentanément coupé par LWS
{
"type": "https://docs.lws.fr/kvm/errors/access-disabled",
"title": "Accès API désactivé",
"status": 401,
"code": "access_disabled",
"detail": "L'accès API est désactivé pour ce compte. Réactivez-le depuis la page « API / MCP » du panel.",
"request_id": "3f9a1c07b2e45d18"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
403
Accès refusé : insufficient_scope — niveau de la clé insuffisant ; ip_not_allowed — adresse d'appel non autorisée.
insufficient_scope — niveau de la clé insuffisant ; ip_not_allowed — adresse d'appel non autorisée.niveau de la clé insuffisant
{
"type": "https://docs.lws.fr/kvm/errors/insufficient-scope",
"title": "Droits insuffisants",
"status": 403,
"code": "insufficient_scope",
"detail": "Niveau de permission « full » requis.",
"request_id": "3f9a1c07b2e45d18",
"required_level": "full"
}
adresse d'appel non autorisée
{
"type": "https://docs.lws.fr/kvm/errors/ip-not-allowed",
"title": "Adresse non autorisée",
"status": 403,
"code": "ip_not_allowed",
"detail": "L'adresse 203.0.113.10 ne figure pas parmi les adresses autorisées de ce compte.",
"request_id": "3f9a1c07b2e45d18"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
404
Ressource introuvable : vm_not_found — VPS inexistant ou hors de la portée de la clé.
vm_not_found — VPS inexistant ou hors de la portée de la clé.{
"type": "https://docs.lws.fr/kvm/errors/vm-not-found",
"title": "VPS introuvable",
"status": 404,
"code": "vm_not_found",
"detail": "Aucun VPS 999999 sur ce compte.",
"request_id": "3f9a1c07b2e45d18"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
409
Conflit avec l'état courant : invalid_state — mémoire du VPS inférieure au minimum du système, ou VPS absent de la base de son hyperviseur ; task_already_running — une réinstallation est déjà en cours ; service_suspended — VPS désactivé ou expiré : seules les lectures restent possibles ; server_locked — VPS verrouillé par l'hyperviseur, voir reason ; avec operation_in_progress, Retry-After donne l'attente conseillée.
invalid_state — mémoire du VPS inférieure au minimum du système, ou VPS absent de la base de son hyperviseur ; task_already_running — une réinstallation est déjà en cours ; service_suspended — VPS désactivé ou expiré : seules les lectures restent possibles ; server_locked — VPS verrouillé par l'hyperviseur, voir reason ; avec operation_in_progress, Retry-After donne l'attente conseillée.mémoire du VPS inférieure au minimum du système, ou VPS absent de la base de son hyperviseur
{
"type": "https://docs.lws.fr/kvm/errors/invalid-state",
"title": "Opération impossible en l'état",
"status": 409,
"code": "invalid_state",
"detail": "Ce système demande au moins 7 Go de mémoire ; ce VPS en dispose de 4.",
"request_id": "3f9a1c07b2e45d18"
}
une réinstallation est déjà en cours
{
"type": "https://docs.lws.fr/kvm/errors/task-already-running",
"title": "Opération déjà en cours",
"status": 409,
"code": "task_already_running",
"detail": "Une réinstallation est déjà en cours sur ce VPS. Attendez qu'elle aboutisse.",
"request_id": "3f9a1c07b2e45d18",
"task_id": "tsk_000002d5"
}
VPS désactivé ou expiré : seules les lectures restent possibles
{
"type": "https://docs.lws.fr/kvm/errors/service-suspended",
"title": "Service suspendu",
"status": 409,
"code": "service_suspended",
"detail": "Le VPS 116807 est expiré.",
"request_id": "3f9a1c07b2e45d18"
}
VPS verrouillé par l'hyperviseur, voir reason ; avec operation_in_progress, Retry-After donne l'attente conseillée
{
"type": "https://docs.lws.fr/kvm/errors/server-locked",
"title": "Serveur verrouillé",
"status": 409,
"code": "server_locked",
"detail": "Action impossible pour le moment : une sauvegarde est en cours sur le serveur. Réessayez dans quelques minutes.",
"request_id": "3f9a1c07b2e45d18",
"lock": "snapshot",
"reason": "operation_in_progress"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
429
Quota dépassé : rate_limited — quota horaire de la famille épuisé.
rate_limited — quota horaire de la famille épuisé.{
"type": "https://docs.lws.fr/kvm/errors/rate-limited",
"title": "Quota dépassé",
"status": 429,
"code": "rate_limited",
"detail": "Quota dépassé pour les opérations de type « heavy » sur le VPS 116807 : 6 appels par heure. Réessayez dans 214 seconde(s).",
"request_id": "3f9a1c07b2e45d18",
"family": "heavy",
"limit": 6,
"retry_after": 214
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
502
Dépendance injoignable : hypervisor_unreachable ; upstream_unavailable — catalogue, clés SSH ou file de réinstallation indisponibles.
hypervisor_unreachable ; upstream_unavailable — catalogue, clés SSH ou file de réinstallation indisponibles.Hyperviseur injoignable
{
"type": "https://docs.lws.fr/kvm/errors/hypervisor-unreachable",
"title": "Hyperviseur injoignable",
"status": 502,
"code": "hypervisor_unreachable",
"detail": "L'hyperviseur hébergeant ce VPS n'a pas répondu. Réessayez dans quelques instants.",
"request_id": "3f9a1c07b2e45d18"
}
catalogue, clés SSH ou file de réinstallation indisponibles
{
"type": "https://docs.lws.fr/kvm/errors/upstream-unavailable",
"title": "Service momentanément indisponible",
"status": 502,
"code": "upstream_unavailable",
"detail": "La demande de réinstallation n'a pas pu être enregistrée. Réessayez dans quelques instants.",
"request_id": "3f9a1c07b2e45d18"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
503
Serveur hôte en intervention : server_maintenance — serveur hôte en intervention annoncée par LWS et injoignable ; respectez Retry-After.
server_maintenance — serveur hôte en intervention annoncée par LWS et injoignable ; respectez Retry-After.{
"type": "https://docs.lws.fr/kvm/errors/server-maintenance",
"title": "Intervention en cours sur le serveur hôte",
"status": 503,
"code": "server_maintenance",
"detail": "Le serveur hébergeant ce VPS fait l'objet d'une intervention programmée par LWS : il est momentanément inaccessible. Fin prévue : 2026-10-21T18:00:00+02:00.",
"request_id": "3f9a1c07b2e45d18",
"maintenance": {
"kind": "works",
"started_at": "2026-10-21T14:00:00+02:00",
"expected_end": "2026-10-21T18:00:00+02:00"
}
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)