API documentation Web hosting accessible to everyone Visit LWS

Consultare lo stato di alimentazione

GET /api/v1/servers/{vmid}/status

operationIdgetServerStatus

Livello richiesto
Sola lettura
Quota
lettura, 3.600 chiamate all'ora

Chiamata leggera, adatta a una verifica frequente: indica lo stato del VPS e le risorse che gli sono assegnate. Il suo consumo si legge con GET /servers/{vmid}/metrics.

qmp_status distingue una macchina in pausa da una macchina arrestata, mentre status può riportare entrambe come stopped. agent_enabled indica che l'agente QEMU è dichiarato nella configurazione del VPS, non che risponde: non ne deduca che GET /servers/{vmid}/disk-usage andrà a buon fine. Su una macchina arrestata, uptime e agent_enabled possono valere null.

Lo stato letto sull'hypervisor viene memorizzato nella cache per 15 secondi: una chiamata più ravvicinata restituisce lo stesso valore. Qualsiasi scrittura effettuata tramite l'API su un VPS ne aggiorna subito lo stato.

Path parameters

vmid string required

Identificativo del VPS. Deve appartenere all'account e rientrare nell'ambito della chiave.

pattern ^\d+$ Example: 116807

Responses

200

Stato attuale

{
  "data": {
    "status": "running",
    "qmp_status": "running",
    "cores": 6,
    "memory": 12884901888,
    "disk": 214748364800,
    "uptime": 4291,
    "agent_enabled": true
  }
}
Response fields 8
  • data object required
  • status string

    Example: running

  • qmp_status string

    Stato dettagliato (distingue paused da stopped)

  • cores integer (int64)
  • memory integer (int64)

    Memoria assegnata, in byte

  • disk integer (int64)

    Dimensione assegnata del disco, in byte

  • uptime integer (int64)

    Secondi dall'avvio

  • agent_enabled boolean

    Agente QEMU dichiarato nella configurazione (non necessariamente attivo)

401

Autenticazione rifiutata: invalid_token — intestazione Authorization assente o non valida, oppure chiave sconosciuta; access_disabled — accesso API disattivato per questo account, oppure servizio API momentaneamente sospeso da LWS.

intestazione Authorization assente o non valida, oppure chiave sconosciuta

{
  "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"
}

accesso API disattivato per questo account, oppure servizio API momentaneamente sospeso da 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"
}
Response fields 18
  • type string (uri)

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

    required
  • title string

    Titolo breve

    Example: VPS introuvable

    required
  • status integer (int64)

    Stato HTTP

    Example: 404

    required
  • code string

    Codice macchina stabile (vedere «Errori» in Per iniziare)

    Example: vm_not_found

    required
  • detail string

    Messaggio dettagliato

    Example: Aucun VPS 999999 sur ce compte.

    required
  • request_id string

    Identificativo della richiesta, da comunicare al supporto

    Example: 3f9a1c07b2e45d18

    required
  • errors object

    validation_failed: messaggio per ogni parametro errato

  • required_level string

    insufficient_scope: livello richiesto dall'operazione

    one of: read, exploitation, full

  • task_id string

    task_already_running: task in corso su questo VPS

    Example: tsk_000002d5

  • family string

    rate_limited: famiglia di quota esaurita

    one of: read, mutation, heavy

  • limit integer (int64)

    rate_limited: limite orario della famiglia

  • retry_after integer (int64)

    rate_limited: secondi da attendere

  • lock string

    server_locked: blocco impostato dall'hypervisor (backup, snapshot, suspended…)

    Example: snapshot

  • reason string

    server_locked: operation_in_progress, è in corso un'operazione, riprovi dopo Retry-After; suspended, il VPS è in ibernazione, lo avvii prima; support_notified, blocco anomalo, il team LWS è stato avvisato e sta intervenendo

    one of: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: natura dell'intervento, inizio e fine prevista (null per un incidente)

  • kind string

    one of: works, incident

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

Accesso negato: ip_not_allowed — indirizzo di chiamata non autorizzato.

{
  "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"
}
Response fields 18
  • type string (uri)

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

    required
  • title string

    Titolo breve

    Example: VPS introuvable

    required
  • status integer (int64)

    Stato HTTP

    Example: 404

    required
  • code string

    Codice macchina stabile (vedere «Errori» in Per iniziare)

    Example: vm_not_found

    required
  • detail string

    Messaggio dettagliato

    Example: Aucun VPS 999999 sur ce compte.

    required
  • request_id string

    Identificativo della richiesta, da comunicare al supporto

    Example: 3f9a1c07b2e45d18

    required
  • errors object

    validation_failed: messaggio per ogni parametro errato

  • required_level string

    insufficient_scope: livello richiesto dall'operazione

    one of: read, exploitation, full

  • task_id string

    task_already_running: task in corso su questo VPS

    Example: tsk_000002d5

  • family string

    rate_limited: famiglia di quota esaurita

    one of: read, mutation, heavy

  • limit integer (int64)

    rate_limited: limite orario della famiglia

  • retry_after integer (int64)

    rate_limited: secondi da attendere

  • lock string

    server_locked: blocco impostato dall'hypervisor (backup, snapshot, suspended…)

    Example: snapshot

  • reason string

    server_locked: operation_in_progress, è in corso un'operazione, riprovi dopo Retry-After; suspended, il VPS è in ibernazione, lo avvii prima; support_notified, blocco anomalo, il team LWS è stato avvisato e sta intervenendo

    one of: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: natura dell'intervento, inizio e fine prevista (null per un incidente)

  • kind string

    one of: works, incident

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

Risorsa non trovata: vm_not_found — VPS inesistente o fuori dall'ambito della chiave.

{
  "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"
}
Response fields 18
  • type string (uri)

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

    required
  • title string

    Titolo breve

    Example: VPS introuvable

    required
  • status integer (int64)

    Stato HTTP

    Example: 404

    required
  • code string

    Codice macchina stabile (vedere «Errori» in Per iniziare)

    Example: vm_not_found

    required
  • detail string

    Messaggio dettagliato

    Example: Aucun VPS 999999 sur ce compte.

    required
  • request_id string

    Identificativo della richiesta, da comunicare al supporto

    Example: 3f9a1c07b2e45d18

    required
  • errors object

    validation_failed: messaggio per ogni parametro errato

  • required_level string

    insufficient_scope: livello richiesto dall'operazione

    one of: read, exploitation, full

  • task_id string

    task_already_running: task in corso su questo VPS

    Example: tsk_000002d5

  • family string

    rate_limited: famiglia di quota esaurita

    one of: read, mutation, heavy

  • limit integer (int64)

    rate_limited: limite orario della famiglia

  • retry_after integer (int64)

    rate_limited: secondi da attendere

  • lock string

    server_locked: blocco impostato dall'hypervisor (backup, snapshot, suspended…)

    Example: snapshot

  • reason string

    server_locked: operation_in_progress, è in corso un'operazione, riprovi dopo Retry-After; suspended, il VPS è in ibernazione, lo avvii prima; support_notified, blocco anomalo, il team LWS è stato avvisato e sta intervenendo

    one of: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: natura dell'intervento, inizio e fine prevista (null per un incidente)

  • kind string

    one of: works, incident

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

Quota superata: rate_limited — quota oraria della famiglia esaurita.

{
  "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
}
Response fields 18
  • type string (uri)

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

    required
  • title string

    Titolo breve

    Example: VPS introuvable

    required
  • status integer (int64)

    Stato HTTP

    Example: 404

    required
  • code string

    Codice macchina stabile (vedere «Errori» in Per iniziare)

    Example: vm_not_found

    required
  • detail string

    Messaggio dettagliato

    Example: Aucun VPS 999999 sur ce compte.

    required
  • request_id string

    Identificativo della richiesta, da comunicare al supporto

    Example: 3f9a1c07b2e45d18

    required
  • errors object

    validation_failed: messaggio per ogni parametro errato

  • required_level string

    insufficient_scope: livello richiesto dall'operazione

    one of: read, exploitation, full

  • task_id string

    task_already_running: task in corso su questo VPS

    Example: tsk_000002d5

  • family string

    rate_limited: famiglia di quota esaurita

    one of: read, mutation, heavy

  • limit integer (int64)

    rate_limited: limite orario della famiglia

  • retry_after integer (int64)

    rate_limited: secondi da attendere

  • lock string

    server_locked: blocco impostato dall'hypervisor (backup, snapshot, suspended…)

    Example: snapshot

  • reason string

    server_locked: operation_in_progress, è in corso un'operazione, riprovi dopo Retry-After; suspended, il VPS è in ibernazione, lo avvii prima; support_notified, blocco anomalo, il team LWS è stato avvisato e sta intervenendo

    one of: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: natura dell'intervento, inizio e fine prevista (null per un incidente)

  • kind string

    one of: works, incident

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

Dipendenza irraggiungibile: hypervisor_unreachable; upstream_unavailable — inventario dei VPS momentaneamente non disponibile.

Hypervisor irraggiungibile

{
  "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"
}

inventario dei VPS momentaneamente non disponibile

{
  "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"
}
Response fields 18
  • type string (uri)

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

    required
  • title string

    Titolo breve

    Example: VPS introuvable

    required
  • status integer (int64)

    Stato HTTP

    Example: 404

    required
  • code string

    Codice macchina stabile (vedere «Errori» in Per iniziare)

    Example: vm_not_found

    required
  • detail string

    Messaggio dettagliato

    Example: Aucun VPS 999999 sur ce compte.

    required
  • request_id string

    Identificativo della richiesta, da comunicare al supporto

    Example: 3f9a1c07b2e45d18

    required
  • errors object

    validation_failed: messaggio per ogni parametro errato

  • required_level string

    insufficient_scope: livello richiesto dall'operazione

    one of: read, exploitation, full

  • task_id string

    task_already_running: task in corso su questo VPS

    Example: tsk_000002d5

  • family string

    rate_limited: famiglia di quota esaurita

    one of: read, mutation, heavy

  • limit integer (int64)

    rate_limited: limite orario della famiglia

  • retry_after integer (int64)

    rate_limited: secondi da attendere

  • lock string

    server_locked: blocco impostato dall'hypervisor (backup, snapshot, suspended…)

    Example: snapshot

  • reason string

    server_locked: operation_in_progress, è in corso un'operazione, riprovi dopo Retry-After; suspended, il VPS è in ibernazione, lo avvii prima; support_notified, blocco anomalo, il team LWS è stato avvisato e sta intervenendo

    one of: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: natura dell'intervento, inizio e fine prevista (null per un incidente)

  • kind string

    one of: works, incident

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

Server host in intervento: server_maintenance — server host in intervento annunciato da LWS e irraggiungibile; rispetti 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"
  }
}
Response fields 18
  • type string (uri)

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

    required
  • title string

    Titolo breve

    Example: VPS introuvable

    required
  • status integer (int64)

    Stato HTTP

    Example: 404

    required
  • code string

    Codice macchina stabile (vedere «Errori» in Per iniziare)

    Example: vm_not_found

    required
  • detail string

    Messaggio dettagliato

    Example: Aucun VPS 999999 sur ce compte.

    required
  • request_id string

    Identificativo della richiesta, da comunicare al supporto

    Example: 3f9a1c07b2e45d18

    required
  • errors object

    validation_failed: messaggio per ogni parametro errato

  • required_level string

    insufficient_scope: livello richiesto dall'operazione

    one of: read, exploitation, full

  • task_id string

    task_already_running: task in corso su questo VPS

    Example: tsk_000002d5

  • family string

    rate_limited: famiglia di quota esaurita

    one of: read, mutation, heavy

  • limit integer (int64)

    rate_limited: limite orario della famiglia

  • retry_after integer (int64)

    rate_limited: secondi da attendere

  • lock string

    server_locked: blocco impostato dall'hypervisor (backup, snapshot, suspended…)

    Example: snapshot

  • reason string

    server_locked: operation_in_progress, è in corso un'operazione, riprovi dopo Retry-After; suspended, il VPS è in ibernazione, lo avvii prima; support_notified, blocco anomalo, il team LWS è stato avvisato e sta intervenendo

    one of: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: natura dell'intervento, inizio e fine prevista (null per un incidente)

  • kind string

    one of: works, incident

  • started_at string (date-time)
  • expected_end string (date-time)
Show the code examples and the test console
GET /servers/{vmid}/status
LWS_API_KEY='…'curl -X GET \  "https://panelkvm.lwspanel.com/api/v1/servers/116807/status" \  -H "Authorization: Bearer $LWS_API_KEY"
$lwsApiKey = '…';$ch = curl_init("https://panelkvm.lwspanel.com/api/v1/servers/116807/status");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/servers/116807/status",    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/status", {  method: "GET",  headers: {    "Authorization": "Bearer " + LWS_API_KEY,  },});const data = await res.json();
lwsApiKey := "…"req, _ := http.NewRequest("GET",    "https://panelkvm.lwspanel.com/api/v1/servers/116807/status", nil)req.Header.Set("Authorization", "Bearer "+lwsApiKey)resp, err := http.DefaultClient.Do(req)