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

Consulter une tâche

GET /api/v1/tasks/{id}

operationIdgetTask

Niveau requis
Lecture seule
Quota
lecture, 3 600 appels par heure

État d'une tâche : c'est en la consultant que l'on sait qu'une opération a abouti. finished_at reste null tant que la tâche court.

L'identifiant est opaque : ne cherchez ni à le fabriquer ni à l'incrémenter. Une tâche inconnue et une tâche hors de la portée de la clé répondent le même 404.

Une interrogation toutes les quelques secondes suffit : interroger plus souvent consomme le quota de lecture sans rien accélérer.

Paramètres du chemin

id string requis

Identifiant de la tâche, tel que renvoyé à sa création ou par GET /tasks.

Exemple: tsk_000002e1

Réponses

200

La tâche

Terminée

{
  "data": {
    "id": "tsk_000002d4",
    "status": "succeeded",
    "action": "server.rebuild",
    "vmid": "107565",
    "description": "Réinstallation du serveur VPS-107565 avec le template Debian 13 (Trixie)",
    "created_at": "2026-08-07T14:56:31+02:00",
    "finished_at": "2026-08-07T15:02:02+02:00"
  }
}

En cours

{
  "data": {
    "id": "tsk_000002e8",
    "status": "pending",
    "action": "backup.create",
    "vmid": "116807",
    "description": "Création d'une backup du serveur VPS-116807",
    "created_at": "2026-08-18T13:04:11+02:00",
    "finished_at": null
  }
}
Champs de la réponse 8
  • data object requis
  • id string

    Identifiant opaque

    Exemple: tsk_000002e1

  • status string

    unknown signalerait un état que l'API ne sait pas nommer

    parmi : pending, succeeded, failed, unknown

  • action string

    Type de tâche

    parmi : server.start, server.stop, server.shutdown, server.reboot, server.reset, server.rebuild, server.enable_rescue, server.disable_rescue, server.reboot_rescue, snapshot.create, snapshot.delete, snapshot.rollback, backup.create, backup.restore, iso.mount, iso.unmount, firewall.sync, firewall.unblock_port_25 TaskAction

  • vmid string
  • description string
  • created_at string (date-time)
  • finished_at string (date-time)

    null tant que la tâche court

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é : ip_not_allowed — 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 : task_not_found — tâche inconnue ou hors portée.

{
  "type": "https://docs.lws.fr/kvm/errors/task-not-found",
  "title": "Tâche introuvable",
  "status": 404,
  "code": "task_not_found",
  "detail": "Tâche introuvable.",
  "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 « read » : 3600 appels par heure. Réessayez dans 37 seconde(s).",
  "request_id": "3f9a1c07b2e45d18",
  "family": "read",
  "limit": 3600,
  "retry_after": 37
}
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 : upstream_unavailable — 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)
Afficher les exemples de code et la console de test
GET /tasks/{id}
LWS_API_KEY='…'curl -X GET \  "https://panelkvm.lwspanel.com/api/v1/tasks/tsk_000002e1" \  -H "Authorization: Bearer $LWS_API_KEY"
$lwsApiKey = '…';$ch = curl_init("https://panelkvm.lwspanel.com/api/v1/tasks/tsk_000002e1");curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");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.get(    "https://panelkvm.lwspanel.com/api/v1/tasks/tsk_000002e1",    headers={        "Authorization": "Bearer " + LWS_API_KEY,    },)print(res.json())
const LWS_API_KEY = "…";const res = await fetch("https://panelkvm.lwspanel.com/api/v1/tasks/tsk_000002e1", {  method: "GET",  headers: {    "Authorization": "Bearer " + LWS_API_KEY,  },});const data = await res.json();
lwsApiKey := "…"req, _ := http.NewRequest("GET",    "https://panelkvm.lwspanel.com/api/v1/tasks/tsk_000002e1", nil)req.Header.Set("Authorization", "Bearer "+lwsApiKey)resp, err := http.DefaultClient.Do(req)