API documentation Web hosting accessible to everyone Visit LWS

Consultare il registro attività

GET /api/v1/me/activity

operationIdgetActivity

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

Cronologia delle azioni dell'account, dalla più recente alla meno recente, per tutti i canali (panel, api, mcp). È grazie a essa che Lei può constatare a posteriori ciò che è stato fatto sui Suoi servizi, comprese le azioni che non ha eseguito personalmente.

action usa lo stesso vocabolario di GET /tasks (server.rebuild in entrambi), per collegare un task alla sua traccia nel registro. status vale ok, error oppure null per le azioni prive di un esito (un accesso, ad esempio).

Una chiave limitata ad alcuni VPS vede comunque le voci che non riguardano alcuna macchina (accessi, rigenerazione della chiave, modifica dei permessi): sono proprio queste a rivelare un eventuale accesso fraudolento. Utilizzi scope=servers per mantenere solo le azioni relative ai server. Un filtro non previsto o una data illeggibile viene rifiutato, mai ignorato.

Query parameters

page integer optional

Pagina richiesta. Un valore inferiore a 1 viene riportato a 1.

at least 1

per_page integer optional

Dimensione della pagina. Un valore superiore a 100 viene riportato a 100; un valore nullo, negativo o non numerico, a 25.

at most 100 at least 1

scope string optional

all: tutto; servers: azioni relative a una macchina; account: azioni sull'account.

one of: all, servers, account

source string optional

Canale di origine dell'azione.

one of: panel, api, mcp

vmid string optional

Limitare a un VPS.

Example: 116807

action string optional

Limitare a un codice di azione, ad esempio server.rebuild.

Example: server.rebuild

since string (date-time) optional

Data ISO 8601: vengono restituite solo le voci successive.

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

Responses

200

Una pagina del registro

{
  "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
  }
}
Response fields 13
  • data object[]
    required
  • at string (date-time)
  • action string

    Codice di azione

    Example: server.rebuild

  • description string
  • vmid string

    VPS interessato; null per un'azione sull'account

  • status string

    null per un'azione priva di esito

    one of: ok, error

  • ip string

    Indirizzo di origine

  • source string

    Canale di origine

    one of: panel, api, mcp

  • meta object

    Paginazione. Gli elenchi non paginati restituiscono tutto e meta riflette il numero restituito.

    PaginationMeta

    required
  • page integer (int64)

    Pagina restituita

    Example: 1

  • per_page integer (int64)

    Dimensione della pagina

    Example: 25

  • total integer (int64)

    Numero totale di elementi

    Example: 887

  • total_pages integer (int64)

    Numero totale di pagine

    Example: 36

400

Parametri non validi: validation_failed — scope, source non previsti o since illeggibile.

{
  "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."
  }
}
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)
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)
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: upstream_unavailable — 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)
Show the code examples and the test console
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)