Documentation API L’hébergement web accessible à tous Visiter LWS

Réinitialiser le mot de passe root

POST /api/v1/servers/{vmid}/root-password

operationIdpostServerRootPassword

Niveau requis
Complet
Quota
mutation, 300 appels par heure

Définit un nouveau mot de passe pour le compte root du VPS. Opération immédiate : il n'y a pas de tâche à suivre.

Le mot de passe est généré, pas choisi : il ne transite pas dans la requête (où il finirait dans un journal ou un historique de shell), et son alphabet écarte les touches qui changent de place entre AZERTY et QWERTY. Il est rendu une seule fois, dans cette réponse, et n'apparaît pas dans le journal d'activité.

Le mot de passe est posé dans le système en marche par l'agent QEMU (qemu-guest-agent) : il est utilisable dès la réponse, sans redémarrage (effective_after_reboot vaut false). Le VPS doit être démarré et l'agent actif, sinon l'appel répond 502.

Paramètres du chemin

vmid string requis

Identifiant du VPS. Il doit appartenir au compte et à la portée de la clé.

motif ^\d+$ Exemple: 116807

Réponses

200

Mot de passe posé

{
  "data": {
    "password": "shfKvbnERTUP2345",
    "effective_after_reboot": false
  }
}
Champs de la réponse 3
  • data object requis
  • password string

    Mot de passe généré, rendu une seule fois

  • effective_after_reboot boolean

    Toujours false : le mot de passe est actif dès la réponse

    parmi :

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.

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
  • type string (uri)

    Exemple: https://docs.lws.fr/kvm/errors/vm-not-found

    requis
  • title string

    Titre court

    Exemple: VPS introuvable

    requis
  • status integer (int64)

    Statut HTTP

    Exemple: 404

    requis
  • code string

    Code machine stable (voir « Erreurs » dans Pour commencer)

    Exemple: vm_not_found

    requis
  • detail string

    Message détaillé

    Exemple: Aucun VPS 999999 sur ce compte.

    requis
  • request_id string

    Identifiant de la requête, à communiquer au support

    Exemple: 3f9a1c07b2e45d18

    requis
  • errors object

    validation_failed : message par paramètre fautif

  • required_level string

    insufficient_scope : niveau exigé par l'opération

    parmi : read, exploitation, full

  • task_id string

    task_already_running : tâche en cours sur ce VPS

    Exemple: tsk_000002d5

  • family string

    rate_limited : famille de quota épuisée

    parmi : read, mutation, heavy

  • limit integer (int64)

    rate_limited : plafond horaire de la famille

  • retry_after integer (int64)

    rate_limited : secondes à attendre

  • lock string

    server_locked : verrou posé par l'hyperviseur (backup, snapshot, suspended…)

    Exemple: snapshot

  • reason string

    server_locked : operation_in_progress, une opération est en cours, réessayez après Retry-After ; suspended, le VPS hiberne, démarrez-le d'abord ; support_notified, verrou anormal, l'équipe LWS est prévenue et intervient

    parmi : operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance : nature de l'intervention, début et fin prévue (null pour un incident)

  • kind string

    parmi : works, incident

  • started_at string (date-time)
  • expected_end string (date-time)
403

Accès refusé : 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
  • type string (uri)

    Exemple: https://docs.lws.fr/kvm/errors/vm-not-found

    requis
  • title string

    Titre court

    Exemple: VPS introuvable

    requis
  • status integer (int64)

    Statut HTTP

    Exemple: 404

    requis
  • code string

    Code machine stable (voir « Erreurs » dans Pour commencer)

    Exemple: vm_not_found

    requis
  • detail string

    Message détaillé

    Exemple: Aucun VPS 999999 sur ce compte.

    requis
  • request_id string

    Identifiant de la requête, à communiquer au support

    Exemple: 3f9a1c07b2e45d18

    requis
  • errors object

    validation_failed : message par paramètre fautif

  • required_level string

    insufficient_scope : niveau exigé par l'opération

    parmi : read, exploitation, full

  • task_id string

    task_already_running : tâche en cours sur ce VPS

    Exemple: tsk_000002d5

  • family string

    rate_limited : famille de quota épuisée

    parmi : read, mutation, heavy

  • limit integer (int64)

    rate_limited : plafond horaire de la famille

  • retry_after integer (int64)

    rate_limited : secondes à attendre

  • lock string

    server_locked : verrou posé par l'hyperviseur (backup, snapshot, suspended…)

    Exemple: snapshot

  • reason string

    server_locked : operation_in_progress, une opération est en cours, réessayez après Retry-After ; suspended, le VPS hiberne, démarrez-le d'abord ; support_notified, verrou anormal, l'équipe LWS est prévenue et intervient

    parmi : operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance : nature de l'intervention, début et fin prévue (null pour un incident)

  • kind string

    parmi : works, incident

  • started_at string (date-time)
  • expected_end string (date-time)
404

Ressource introuvable : 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
  • type string (uri)

    Exemple: https://docs.lws.fr/kvm/errors/vm-not-found

    requis
  • title string

    Titre court

    Exemple: VPS introuvable

    requis
  • status integer (int64)

    Statut HTTP

    Exemple: 404

    requis
  • code string

    Code machine stable (voir « Erreurs » dans Pour commencer)

    Exemple: vm_not_found

    requis
  • detail string

    Message détaillé

    Exemple: Aucun VPS 999999 sur ce compte.

    requis
  • request_id string

    Identifiant de la requête, à communiquer au support

    Exemple: 3f9a1c07b2e45d18

    requis
  • errors object

    validation_failed : message par paramètre fautif

  • required_level string

    insufficient_scope : niveau exigé par l'opération

    parmi : read, exploitation, full

  • task_id string

    task_already_running : tâche en cours sur ce VPS

    Exemple: tsk_000002d5

  • family string

    rate_limited : famille de quota épuisée

    parmi : read, mutation, heavy

  • limit integer (int64)

    rate_limited : plafond horaire de la famille

  • retry_after integer (int64)

    rate_limited : secondes à attendre

  • lock string

    server_locked : verrou posé par l'hyperviseur (backup, snapshot, suspended…)

    Exemple: snapshot

  • reason string

    server_locked : operation_in_progress, une opération est en cours, réessayez après Retry-After ; suspended, le VPS hiberne, démarrez-le d'abord ; support_notified, verrou anormal, l'équipe LWS est prévenue et intervient

    parmi : operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance : nature de l'intervention, début et fin prévue (null pour un incident)

  • kind string

    parmi : works, incident

  • started_at string (date-time)
  • expected_end string (date-time)
409

Conflit avec l'état courant : service_suspended — 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"
}
Champs de la réponse 18
  • type string (uri)

    Exemple: https://docs.lws.fr/kvm/errors/vm-not-found

    requis
  • title string

    Titre court

    Exemple: VPS introuvable

    requis
  • status integer (int64)

    Statut HTTP

    Exemple: 404

    requis
  • code string

    Code machine stable (voir « Erreurs » dans Pour commencer)

    Exemple: vm_not_found

    requis
  • detail string

    Message détaillé

    Exemple: Aucun VPS 999999 sur ce compte.

    requis
  • request_id string

    Identifiant de la requête, à communiquer au support

    Exemple: 3f9a1c07b2e45d18

    requis
  • errors object

    validation_failed : message par paramètre fautif

  • required_level string

    insufficient_scope : niveau exigé par l'opération

    parmi : read, exploitation, full

  • task_id string

    task_already_running : tâche en cours sur ce VPS

    Exemple: tsk_000002d5

  • family string

    rate_limited : famille de quota épuisée

    parmi : read, mutation, heavy

  • limit integer (int64)

    rate_limited : plafond horaire de la famille

  • retry_after integer (int64)

    rate_limited : secondes à attendre

  • lock string

    server_locked : verrou posé par l'hyperviseur (backup, snapshot, suspended…)

    Exemple: snapshot

  • reason string

    server_locked : operation_in_progress, une opération est en cours, réessayez après Retry-After ; suspended, le VPS hiberne, démarrez-le d'abord ; support_notified, verrou anormal, l'équipe LWS est prévenue et intervient

    parmi : operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance : nature de l'intervention, début et fin prévue (null pour un incident)

  • kind string

    parmi : works, incident

  • started_at string (date-time)
  • expected_end string (date-time)
429

Quota dépassé : 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 « mutation » : 300 appels par heure. Réessayez dans 95 seconde(s).",
  "request_id": "3f9a1c07b2e45d18",
  "family": "mutation",
  "limit": 300,
  "retry_after": 95
}
Champs de la réponse 18
  • type string (uri)

    Exemple: https://docs.lws.fr/kvm/errors/vm-not-found

    requis
  • title string

    Titre court

    Exemple: VPS introuvable

    requis
  • status integer (int64)

    Statut HTTP

    Exemple: 404

    requis
  • code string

    Code machine stable (voir « Erreurs » dans Pour commencer)

    Exemple: vm_not_found

    requis
  • detail string

    Message détaillé

    Exemple: Aucun VPS 999999 sur ce compte.

    requis
  • request_id string

    Identifiant de la requête, à communiquer au support

    Exemple: 3f9a1c07b2e45d18

    requis
  • errors object

    validation_failed : message par paramètre fautif

  • required_level string

    insufficient_scope : niveau exigé par l'opération

    parmi : read, exploitation, full

  • task_id string

    task_already_running : tâche en cours sur ce VPS

    Exemple: tsk_000002d5

  • family string

    rate_limited : famille de quota épuisée

    parmi : read, mutation, heavy

  • limit integer (int64)

    rate_limited : plafond horaire de la famille

  • retry_after integer (int64)

    rate_limited : secondes à attendre

  • lock string

    server_locked : verrou posé par l'hyperviseur (backup, snapshot, suspended…)

    Exemple: snapshot

  • reason string

    server_locked : operation_in_progress, une opération est en cours, réessayez après Retry-After ; suspended, le VPS hiberne, démarrez-le d'abord ; support_notified, verrou anormal, l'équipe LWS est prévenue et intervient

    parmi : operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance : nature de l'intervention, début et fin prévue (null pour un incident)

  • kind string

    parmi : works, incident

  • started_at string (date-time)
  • expected_end string (date-time)
502

Dépendance injoignable : hypervisor_unreachable — hyperviseur injoignable, VPS arrêté ou agent QEMU absent ; upstream_unavailable — inventaire des VPS momentanément indisponible.

hyperviseur injoignable, VPS arrêté ou agent QEMU absent

{
  "type": "https://docs.lws.fr/kvm/errors/hypervisor-unreachable",
  "title": "Hyperviseur injoignable",
  "status": 502,
  "code": "hypervisor_unreachable",
  "detail": "Le mot de passe n'a pas pu être appliqué.",
  "request_id": "3f9a1c07b2e45d18"
}

inventaire des VPS momentanément indisponible

{
  "type": "https://docs.lws.fr/kvm/errors/upstream-unavailable",
  "title": "Service momentanément indisponible",
  "status": 502,
  "code": "upstream_unavailable",
  "detail": "Inventaire des VM indisponible.",
  "request_id": "3f9a1c07b2e45d18"
}
Champs de la réponse 18
  • type string (uri)

    Exemple: https://docs.lws.fr/kvm/errors/vm-not-found

    requis
  • title string

    Titre court

    Exemple: VPS introuvable

    requis
  • status integer (int64)

    Statut HTTP

    Exemple: 404

    requis
  • code string

    Code machine stable (voir « Erreurs » dans Pour commencer)

    Exemple: vm_not_found

    requis
  • detail string

    Message détaillé

    Exemple: Aucun VPS 999999 sur ce compte.

    requis
  • request_id string

    Identifiant de la requête, à communiquer au support

    Exemple: 3f9a1c07b2e45d18

    requis
  • errors object

    validation_failed : message par paramètre fautif

  • required_level string

    insufficient_scope : niveau exigé par l'opération

    parmi : read, exploitation, full

  • task_id string

    task_already_running : tâche en cours sur ce VPS

    Exemple: tsk_000002d5

  • family string

    rate_limited : famille de quota épuisée

    parmi : read, mutation, heavy

  • limit integer (int64)

    rate_limited : plafond horaire de la famille

  • retry_after integer (int64)

    rate_limited : secondes à attendre

  • lock string

    server_locked : verrou posé par l'hyperviseur (backup, snapshot, suspended…)

    Exemple: snapshot

  • reason string

    server_locked : operation_in_progress, une opération est en cours, réessayez après Retry-After ; suspended, le VPS hiberne, démarrez-le d'abord ; support_notified, verrou anormal, l'équipe LWS est prévenue et intervient

    parmi : operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance : nature de l'intervention, début et fin prévue (null pour un incident)

  • kind string

    parmi : works, incident

  • started_at string (date-time)
  • expected_end string (date-time)
503

Serveur hôte en intervention : 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
  • type string (uri)

    Exemple: https://docs.lws.fr/kvm/errors/vm-not-found

    requis
  • title string

    Titre court

    Exemple: VPS introuvable

    requis
  • status integer (int64)

    Statut HTTP

    Exemple: 404

    requis
  • code string

    Code machine stable (voir « Erreurs » dans Pour commencer)

    Exemple: vm_not_found

    requis
  • detail string

    Message détaillé

    Exemple: Aucun VPS 999999 sur ce compte.

    requis
  • request_id string

    Identifiant de la requête, à communiquer au support

    Exemple: 3f9a1c07b2e45d18

    requis
  • errors object

    validation_failed : message par paramètre fautif

  • required_level string

    insufficient_scope : niveau exigé par l'opération

    parmi : read, exploitation, full

  • task_id string

    task_already_running : tâche en cours sur ce VPS

    Exemple: tsk_000002d5

  • family string

    rate_limited : famille de quota épuisée

    parmi : read, mutation, heavy

  • limit integer (int64)

    rate_limited : plafond horaire de la famille

  • retry_after integer (int64)

    rate_limited : secondes à attendre

  • lock string

    server_locked : verrou posé par l'hyperviseur (backup, snapshot, suspended…)

    Exemple: snapshot

  • reason string

    server_locked : operation_in_progress, une opération est en cours, réessayez après Retry-After ; suspended, le VPS hiberne, démarrez-le d'abord ; support_notified, verrou anormal, l'équipe LWS est prévenue et intervient

    parmi : operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance : nature de l'intervention, début et fin prévue (null pour un incident)

  • kind string

    parmi : works, incident

  • started_at string (date-time)
  • expected_end string (date-time)
Afficher les exemples de code et la console de test
POST /servers/{vmid}/root-password
LWS_API_KEY='…'curl -X POST \  "https://panelkvm.lwspanel.com/api/v1/servers/116807/root-password" \  -H "Authorization: Bearer $LWS_API_KEY"
$lwsApiKey = '…';$ch = curl_init("https://panelkvm.lwspanel.com/api/v1/servers/116807/root-password");curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPHEADER, [    "Authorization: Bearer " . $lwsApiKey,]);$res = json_decode(curl_exec($ch), true);
import requestsLWS_API_KEY = "…"res = requests.post(    "https://panelkvm.lwspanel.com/api/v1/servers/116807/root-password",    headers={        "Authorization": "Bearer " + LWS_API_KEY,    },)print(res.json())
const LWS_API_KEY = "…";const res = await fetch("https://panelkvm.lwspanel.com/api/v1/servers/116807/root-password", {  method: "POST",  headers: {    "Authorization": "Bearer " + LWS_API_KEY,  },});const data = await res.json();
lwsApiKey := "…"req, _ := http.NewRequest("POST",    "https://panelkvm.lwspanel.com/api/v1/servers/116807/root-password", nil)req.Header.Set("Authorization", "Bearer "+lwsApiKey)resp, err := http.DefaultClient.Do(req)