API-Dokumentation Webhosting für alle LWS besuchen

Aktivitätsprotokoll abrufen

GET /api/v1/me/activity

operationIdgetActivity

Erforderliche Stufe
Nur Lesen
Kontingent
Lesen, 3.600 Aufrufe pro Stunde

Verlauf der Aktionen des Kontos, von der neuesten zur ältesten, über alle Kanäle hinweg (panel, api, mcp). Darüber stellen Sie im Nachhinein fest, was an Ihren Diensten vorgenommen wurde, einschließlich dessen, was Sie nicht selbst getan haben.

action verwendet dasselbe Vokabular wie GET /tasks (server.rebuild in beiden), sodass sich eine Aufgabe ihrem Protokolleintrag zuordnen lässt. status hat den Wert ok, error oder null für Aktionen ohne Erfolgsbegriff (zum Beispiel eine Anmeldung).

Ein auf bestimmte VPS beschränkter Schlüssel sieht dennoch die Einträge, die keine Maschine betreffen (Anmeldungen, Neuerzeugung des Schlüssels, Rechteänderungen): Gerade sie würden einen unbefugten Zugriff offenbaren. Verwenden Sie scope=servers, um nur die serverbezogenen Aktionen zu behalten. Ein Filter außerhalb der Liste oder ein nicht lesbares Datum wird abgelehnt, niemals ignoriert.

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

scope string optional

all: alles; servers: maschinenbezogene Aktionen; account: Kontoaktionen.

eines von: all, servers, account

source string optional

Ursprungskanal der Aktion.

eines von: panel, api, mcp

vmid string optional

Auf einen VPS beschränken.

Beispiel: 116807

action string optional

Auf einen Aktionscode beschränken, zum Beispiel server.rebuild.

Beispiel: server.rebuild

since string (date-time) optional

Datum nach ISO 8601: Nur spätere Einträge werden zurückgegeben.

Beispiel: 2026-08-01T00:00:00+02:00

Antworten

200

Eine Seite des Protokolls

{
  "data": [
    {
      "at": "2026-08-18T12:00:23+02:00",
      "action": "server.rebuild",
      "description": "Demande de réinstallation de la VM 107596 avec le template Forgejo",
      "vmid": "107596",
      "status": "ok",
      "ip": "212.114.31.35",
      "source": "panel"
    },
    {
      "at": "2026-08-18T11:14:16+02:00",
      "action": "user.login",
      "description": "Connexion à la plateforme de gestion KVM",
      "vmid": null,
      "status": "ok",
      "ip": "212.114.31.35",
      "source": "panel"
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 25,
    "total": 887,
    "total_pages": 36
  }
}
Felder der Antwort 13
  • data object[]
    erforderlich
  • at string (date-time)
  • action string

    Aktionscode

    Beispiel: server.rebuild

  • description string
  • vmid string

    Betroffener VPS; null bei einer Kontoaktion

  • status string

    null bei einer Aktion ohne Erfolgsbegriff

    eines von: ok, error

  • ip string

    Ursprungsadresse

  • source string

    Ursprungskanal

    eines von: panel, api, mcp

  • 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 — scope, source nicht in der Liste oder since nicht lesbar.

{
  "type": "https://docs.lws.fr/kvm/errors/validation-failed",
  "title": "Paramètres invalides",
  "status": 400,
  "code": "validation_failed",
  "detail": "Paramètre « scope » invalide.",
  "request_id": "3f9a1c07b2e45d18",
  "errors": {
    "scope": "Valeurs acceptées : all, servers, account."
  }
}
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 /me/activity
LWS_API_KEY='…'curl -X GET \  "https://panelkvm.lwspanel.com/api/v1/me/activity" \  -H "Authorization: Bearer $LWS_API_KEY"
$lwsApiKey = '…';$ch = curl_init("https://panelkvm.lwspanel.com/api/v1/me/activity");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/me/activity",    headers={        "Authorization": "Bearer " + LWS_API_KEY,    },)print(res.json())
const LWS_API_KEY = "…";const res = await fetch("https://panelkvm.lwspanel.com/api/v1/me/activity", {  method: "GET",  headers: {    "Authorization": "Bearer " + LWS_API_KEY,  },});const data = await res.json();
lwsApiKey := "…"req, _ := http.NewRequest("GET",    "https://panelkvm.lwspanel.com/api/v1/me/activity", nil)req.Header.Set("Authorization", "Bearer "+lwsApiKey)resp, err := http.DefaultClient.Do(req)