API-Dokumentation Webhosting für alle LWS besuchen

VPS auflisten

GET /api/v1/servers

operationIdgetServers

Erforderliche Stufe
Nur Lesen
Kontingent
Lesen, 3.600 Aufrufe pro Stunde

Inventar der vom Schlüssel abgedeckten VPS. Der Stromstatus wird vom Hypervisor gelesen; ist dieser vorübergehend nicht erreichbar, hat status den Wert unavailable, und der Rest des Eintrags bleibt verwendbar.

Während eines von LWS angekündigten Eingriffs am Hostserver (Update, Neustart …) gibt maintenance dessen Art und Zeiten an, ob er geplant ist oder bereits läuft. Antwortet der Hostserver während dieses Eingriffs nicht mehr, hat status den Wert maintenance: eine geplante, vorübergehende Nichtverfügbarkeit, keine Störung.

Der Filter status gilt für die angeforderte Seite: meta beschreibt das vollständige, ungefilterte Inventar, eine gefilterte Seite kann daher weniger Einträge als per_page enthalten.

Der vom Hypervisor gelesene Zustand wird 15 Sekunden zwischengespeichert: Ein kurz darauf folgender Aufruf liefert denselben Wert. Jeder Schreibvorgang über die API auf einem VPS aktualisiert seinen Zustand sofort.

Query-Parameter

page integer optional

Angeforderte Seite. Ein Wert kleiner als 1 wird auf 1 gesetzt.

mindestens 1

per_page integer optional

Seitengröße. Ein Wert über 100 wird auf 100 begrenzt; ein Wert von null, ein negativer oder nicht numerischer Wert wird auf 25 gesetzt.

höchstens 100 mindestens 1

status string optional

Nur VPS mit diesem Status behalten (wird auf die zurückgegebene Seite angewendet).

eines von: running, stopped, unavailable, maintenance

Antworten

200

Eine Seite des Inventars

{
  "data": [
    {
      "vmid": "116807",
      "name": "vps116807",
      "node": "shp-40",
      "status": "running",
      "maintenance": null,
      "os_template": "debian12_64",
      "commercial_name": "Debian 12",
      "ipv4": "31.207.34.214",
      "ipv6": "2a00:7ee0:9:1:11:6807:1:1",
      "additional_ips": [
        "51.83.12.98"
      ],
      "datacenter": {
        "code": "SJ1",
        "city": "Nancy",
        "country": "France",
        "zone": "eu-france-est"
      },
      "purchased_at": "2025-03-14T00:00:00+01:00",
      "expires_at": "2027-03-14T00:00:00+01:00",
      "enabled": true,
      "expired": false,
      "comment": null
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 25,
    "total": 1,
    "total_pages": 1
  }
}
Felder der Antwort 30
  • data object[]
    erforderlich
  • vmid string

    Bezeichner des VPS

    Beispiel: 116807

  • name string

    Name der Maschine auf dem Hypervisor

  • node string

    Hypervisor, auf dem der VPS läuft, nur zur Information. Wird nie als Eingabe verlangt und kann sich bei einer Migration ändern.

  • status string

    Stromstatus; unavailable, wenn der Hypervisor nicht geantwortet hat; maintenance, wenn er während eines von LWS angekündigten Eingriffs nicht antwortet

    eines von: running, stopped, unavailable, maintenance Beispiel: running

  • maintenance object

    Von LWS angekündigter Eingriff am Hostserver (Dienststatus), geplant oder laufend, unabhängig davon, ob der Server antwortet; null, wenn keiner vorliegt

  • status string

    scheduled: geplant; in_progress: läuft

    eines von: scheduled, in_progress

  • kind string

    works: Wartung, Verbesserung oder Neustart; incident: Vorfall, Störung, Verlangsamung oder Angriff

    eines von: works, incident

  • starts_at string (date-time)
  • expected_end string (date-time)

    Voraussichtliches Ende; bei einem Vorfall immer null

  • os_template string
  • commercial_name string
  • ipv4 string
  • ipv6 string
  • additional_ips string[]
  • datacenter object
  • code string

    Beispiel: SJ1

  • city string

    Beispiel: Nancy

  • country string

    Beispiel: France

  • zone string

    Beispiel: eu-france-est

  • purchased_at string (date-time)
  • expires_at string (date-time)
  • enabled boolean

    false: Dienst deaktiviert

  • expired boolean

    true: Dienst abgelaufen

  • comment string

    Im Panel eingegebener Kommentar

  • meta object

    Paginierung. Nicht paginierte Listen geben alles zurück, und meta gibt die zurückgegebene Anzahl wieder.

    PaginationMeta

    erforderlich
  • page integer (int64)

    Zurückgegebene Seite

    Beispiel: 1

  • per_page integer (int64)

    Seitengröße

    Beispiel: 25

  • total integer (int64)

    Gesamtzahl der Elemente

    Beispiel: 887

  • total_pages integer (int64)

    Gesamtzahl der Seiten

    Beispiel: 36

400

Ungültige Parameter: validation_failed — status nicht in der Liste.

{
  "type": "https://docs.lws.fr/kvm/errors/validation-failed",
  "title": "Paramètres invalides",
  "status": 400,
  "code": "validation_failed",
  "detail": "Paramètre « status » invalide.",
  "request_id": "3f9a1c07b2e45d18",
  "errors": {
    "status": "Valeurs acceptées : running, stopped, unavailable, maintenance."
  }
}
Felder der Antwort 18
  • type string (uri)

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

    erforderlich
  • title string

    Kurztitel

    Beispiel: VPS introuvable

    erforderlich
  • status integer (int64)

    HTTP-Status

    Beispiel: 404

    erforderlich
  • code string

    Stabiler Maschinencode (siehe „Fehler“ in Erste Schritte)

    Beispiel: vm_not_found

    erforderlich
  • detail string

    Ausführliche Meldung

    Beispiel: Aucun VPS 999999 sur ce compte.

    erforderlich
  • request_id string

    Bezeichner der Anfrage, an den Support weiterzugeben

    Beispiel: 3f9a1c07b2e45d18

    erforderlich
  • errors object

    validation_failed: Meldung je fehlerhaftem Parameter

  • required_level string

    insufficient_scope: vom Vorgang geforderte Stufe

    eines von: read, exploitation, full

  • task_id string

    task_already_running: laufende Aufgabe auf diesem VPS

    Beispiel: tsk_000002d5

  • family string

    rate_limited: ausgeschöpfte Kontingentgruppe

    eines von: read, mutation, heavy

  • limit integer (int64)

    rate_limited: stündliche Obergrenze der Gruppe

  • retry_after integer (int64)

    rate_limited: Sekunden bis zum nächsten Versuch

  • lock string

    server_locked: vom Hypervisor gesetzte Sperre (backup, snapshot, suspended …)

    Beispiel: snapshot

  • reason string

    server_locked: operation_in_progress – ein Vorgang läuft, versuchen Sie es nach Retry-After erneut; suspended – der VPS befindet sich im Ruhezustand, starten Sie ihn zuerst; support_notified – ungewöhnliche Sperre, das LWS-Team ist informiert und kümmert sich darum

    eines von: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: Art des Eingriffs, Beginn und voraussichtliches Ende (null bei einem Vorfall)

  • kind string

    eines von: works, incident

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

Authentifizierung abgelehnt: invalid_token — Header Authorization fehlt oder ist fehlerhaft, oder Schlüssel unbekannt; access_disabled — API-Zugang für dieses Konto gesperrt, oder API-Dienst vorübergehend von LWS abgeschaltet.

Header Authorization fehlt oder ist fehlerhaft, oder Schlüssel unbekannt

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

API-Zugang für dieses Konto gesperrt, oder API-Dienst vorübergehend von LWS abgeschaltet

{
  "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"
}
Felder der Antwort 18
  • type string (uri)

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

    erforderlich
  • title string

    Kurztitel

    Beispiel: VPS introuvable

    erforderlich
  • status integer (int64)

    HTTP-Status

    Beispiel: 404

    erforderlich
  • code string

    Stabiler Maschinencode (siehe „Fehler“ in Erste Schritte)

    Beispiel: vm_not_found

    erforderlich
  • detail string

    Ausführliche Meldung

    Beispiel: Aucun VPS 999999 sur ce compte.

    erforderlich
  • request_id string

    Bezeichner der Anfrage, an den Support weiterzugeben

    Beispiel: 3f9a1c07b2e45d18

    erforderlich
  • errors object

    validation_failed: Meldung je fehlerhaftem Parameter

  • required_level string

    insufficient_scope: vom Vorgang geforderte Stufe

    eines von: read, exploitation, full

  • task_id string

    task_already_running: laufende Aufgabe auf diesem VPS

    Beispiel: tsk_000002d5

  • family string

    rate_limited: ausgeschöpfte Kontingentgruppe

    eines von: read, mutation, heavy

  • limit integer (int64)

    rate_limited: stündliche Obergrenze der Gruppe

  • retry_after integer (int64)

    rate_limited: Sekunden bis zum nächsten Versuch

  • lock string

    server_locked: vom Hypervisor gesetzte Sperre (backup, snapshot, suspended …)

    Beispiel: snapshot

  • reason string

    server_locked: operation_in_progress – ein Vorgang läuft, versuchen Sie es nach Retry-After erneut; suspended – der VPS befindet sich im Ruhezustand, starten Sie ihn zuerst; support_notified – ungewöhnliche Sperre, das LWS-Team ist informiert und kümmert sich darum

    eines von: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: Art des Eingriffs, Beginn und voraussichtliches Ende (null bei einem Vorfall)

  • kind string

    eines von: works, incident

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

Zugriff verweigert: ip_not_allowed — aufrufende Adresse nicht zugelassen.

{
  "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"
}
Felder der Antwort 18
  • type string (uri)

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

    erforderlich
  • title string

    Kurztitel

    Beispiel: VPS introuvable

    erforderlich
  • status integer (int64)

    HTTP-Status

    Beispiel: 404

    erforderlich
  • code string

    Stabiler Maschinencode (siehe „Fehler“ in Erste Schritte)

    Beispiel: vm_not_found

    erforderlich
  • detail string

    Ausführliche Meldung

    Beispiel: Aucun VPS 999999 sur ce compte.

    erforderlich
  • request_id string

    Bezeichner der Anfrage, an den Support weiterzugeben

    Beispiel: 3f9a1c07b2e45d18

    erforderlich
  • errors object

    validation_failed: Meldung je fehlerhaftem Parameter

  • required_level string

    insufficient_scope: vom Vorgang geforderte Stufe

    eines von: read, exploitation, full

  • task_id string

    task_already_running: laufende Aufgabe auf diesem VPS

    Beispiel: tsk_000002d5

  • family string

    rate_limited: ausgeschöpfte Kontingentgruppe

    eines von: read, mutation, heavy

  • limit integer (int64)

    rate_limited: stündliche Obergrenze der Gruppe

  • retry_after integer (int64)

    rate_limited: Sekunden bis zum nächsten Versuch

  • lock string

    server_locked: vom Hypervisor gesetzte Sperre (backup, snapshot, suspended …)

    Beispiel: snapshot

  • reason string

    server_locked: operation_in_progress – ein Vorgang läuft, versuchen Sie es nach Retry-After erneut; suspended – der VPS befindet sich im Ruhezustand, starten Sie ihn zuerst; support_notified – ungewöhnliche Sperre, das LWS-Team ist informiert und kümmert sich darum

    eines von: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: Art des Eingriffs, Beginn und voraussichtliches Ende (null bei einem Vorfall)

  • kind string

    eines von: works, incident

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

Kontingent überschritten: rate_limited — stündliches Kontingent der Gruppe ausgeschöpft.

{
  "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
}
Felder der Antwort 18
  • type string (uri)

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

    erforderlich
  • title string

    Kurztitel

    Beispiel: VPS introuvable

    erforderlich
  • status integer (int64)

    HTTP-Status

    Beispiel: 404

    erforderlich
  • code string

    Stabiler Maschinencode (siehe „Fehler“ in Erste Schritte)

    Beispiel: vm_not_found

    erforderlich
  • detail string

    Ausführliche Meldung

    Beispiel: Aucun VPS 999999 sur ce compte.

    erforderlich
  • request_id string

    Bezeichner der Anfrage, an den Support weiterzugeben

    Beispiel: 3f9a1c07b2e45d18

    erforderlich
  • errors object

    validation_failed: Meldung je fehlerhaftem Parameter

  • required_level string

    insufficient_scope: vom Vorgang geforderte Stufe

    eines von: read, exploitation, full

  • task_id string

    task_already_running: laufende Aufgabe auf diesem VPS

    Beispiel: tsk_000002d5

  • family string

    rate_limited: ausgeschöpfte Kontingentgruppe

    eines von: read, mutation, heavy

  • limit integer (int64)

    rate_limited: stündliche Obergrenze der Gruppe

  • retry_after integer (int64)

    rate_limited: Sekunden bis zum nächsten Versuch

  • lock string

    server_locked: vom Hypervisor gesetzte Sperre (backup, snapshot, suspended …)

    Beispiel: snapshot

  • reason string

    server_locked: operation_in_progress – ein Vorgang läuft, versuchen Sie es nach Retry-After erneut; suspended – der VPS befindet sich im Ruhezustand, starten Sie ihn zuerst; support_notified – ungewöhnliche Sperre, das LWS-Team ist informiert und kümmert sich darum

    eines von: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: Art des Eingriffs, Beginn und voraussichtliches Ende (null bei einem Vorfall)

  • kind string

    eines von: works, incident

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

Abhängigkeit nicht erreichbar: upstream_unavailable — VPS-Inventar vorübergehend nicht verfügbar.

{
  "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"
}
Felder der Antwort 18
  • type string (uri)

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

    erforderlich
  • title string

    Kurztitel

    Beispiel: VPS introuvable

    erforderlich
  • status integer (int64)

    HTTP-Status

    Beispiel: 404

    erforderlich
  • code string

    Stabiler Maschinencode (siehe „Fehler“ in Erste Schritte)

    Beispiel: vm_not_found

    erforderlich
  • detail string

    Ausführliche Meldung

    Beispiel: Aucun VPS 999999 sur ce compte.

    erforderlich
  • request_id string

    Bezeichner der Anfrage, an den Support weiterzugeben

    Beispiel: 3f9a1c07b2e45d18

    erforderlich
  • errors object

    validation_failed: Meldung je fehlerhaftem Parameter

  • required_level string

    insufficient_scope: vom Vorgang geforderte Stufe

    eines von: read, exploitation, full

  • task_id string

    task_already_running: laufende Aufgabe auf diesem VPS

    Beispiel: tsk_000002d5

  • family string

    rate_limited: ausgeschöpfte Kontingentgruppe

    eines von: read, mutation, heavy

  • limit integer (int64)

    rate_limited: stündliche Obergrenze der Gruppe

  • retry_after integer (int64)

    rate_limited: Sekunden bis zum nächsten Versuch

  • lock string

    server_locked: vom Hypervisor gesetzte Sperre (backup, snapshot, suspended …)

    Beispiel: snapshot

  • reason string

    server_locked: operation_in_progress – ein Vorgang läuft, versuchen Sie es nach Retry-After erneut; suspended – der VPS befindet sich im Ruhezustand, starten Sie ihn zuerst; support_notified – ungewöhnliche Sperre, das LWS-Team ist informiert und kümmert sich darum

    eines von: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: Art des Eingriffs, Beginn und voraussichtliches Ende (null bei einem Vorfall)

  • kind string

    eines von: works, incident

  • started_at string (date-time)
  • expected_end string (date-time)
Codebeispiele und Testkonsole anzeigen
GET /servers
LWS_API_KEY='…'curl -X GET \  "https://panelkvm.lwspanel.com/api/v1/servers" \  -H "Authorization: Bearer $LWS_API_KEY"
$lwsApiKey = '…';$ch = curl_init("https://panelkvm.lwspanel.com/api/v1/servers");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",    headers={        "Authorization": "Bearer " + LWS_API_KEY,    },)print(res.json())
const LWS_API_KEY = "…";const res = await fetch("https://panelkvm.lwspanel.com/api/v1/servers", {  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", nil)req.Header.Set("Authorization", "Bearer "+lwsApiKey)resp, err := http.DefaultClient.Do(req)