Documentación de la API El alojamiento web accesible para todos Visitar LWS

Consultar el registro de actividad

GET /api/v1/me/activity

operationIdgetActivity

Nivel requerido
Solo lectura
Cuota
lectura, 3600 llamadas por hora

Historial de las acciones de la cuenta, de la más reciente a la más antigua, de todos los canales (panel, api, mcp). Es lo que le permite comprobar a posteriori lo que se ha hecho en sus servicios, incluido lo que no ha hecho usted mismo.

action emplea el mismo vocabulario que GET /tasks (server.rebuild en ambos), para relacionar una tarea con su rastro en el registro. status vale ok, error o null para las acciones sin noción de éxito (un inicio de sesión, por ejemplo).

Una clave restringida a determinados VPS ve de todos modos las entradas que no afectan a ninguna máquina (inicios de sesión, regeneración de clave, cambio de permisos): son precisamente las que revelarían un acceso fraudulento. Utilice scope=servers para conservar solo las acciones relativas a los servidores. Un filtro fuera de la lista o una fecha ilegible se rechaza, nunca se ignora.

Parámetros de consulta

page integer opcional

Página solicitada. Un valor inferior a 1 se convierte en 1.

como mínimo 1

per_page integer opcional

Tamaño de página. Un valor superior a 100 se convierte en 100; un valor nulo, negativo o no numérico, en 25.

como máximo 100 como mínimo 1

scope string opcional

all: todo; servers: acciones relativas a una máquina; account: acciones de cuenta.

uno de: all, servers, account

source string opcional

Canal de origen de la acción.

uno de: panel, api, mcp

vmid string opcional

Limitar a un VPS.

Ejemplo: 116807

action string opcional

Limitar a un código de acción, por ejemplo server.rebuild.

Ejemplo: server.rebuild

since string (date-time) opcional

Fecha ISO 8601: solo se devuelven las entradas posteriores.

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

Respuestas

200

Una página 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
  }
}
Campos de la respuesta 13
  • data object[]
    obligatorio
  • at string (date-time)
  • action string

    Código de acción

    Ejemplo: server.rebuild

  • description string
  • vmid string

    VPS afectado; null para una acción de cuenta

  • status string

    null para una acción sin noción de éxito

    uno de: ok, error

  • ip string

    Dirección de origen

  • source string

    Canal de origen

    uno de: panel, api, mcp

  • meta object

    Paginación. Las listas no paginadas lo devuelven todo y meta refleja el número devuelto.

    PaginationMeta

    obligatorio
  • page integer (int64)

    Página devuelta

    Ejemplo: 1

  • per_page integer (int64)

    Tamaño de página

    Ejemplo: 25

  • total integer (int64)

    Número total de elementos

    Ejemplo: 887

  • total_pages integer (int64)

    Número total de páginas

    Ejemplo: 36

400

Parámetros no válidos: validation_failed — scope, source fuera de la lista o since ilegible.

{
  "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."
  }
}
Campos de la respuesta 18
  • type string (uri)

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

    obligatorio
  • title string

    Título breve

    Ejemplo: VPS introuvable

    obligatorio
  • status integer (int64)

    Estado HTTP

    Ejemplo: 404

    obligatorio
  • code string

    Código de máquina estable (véase «Errores» en Primeros pasos)

    Ejemplo: vm_not_found

    obligatorio
  • detail string

    Mensaje detallado

    Ejemplo: Aucun VPS 999999 sur ce compte.

    obligatorio
  • request_id string

    Identificador de la petición, que debe facilitarse al soporte

    Ejemplo: 3f9a1c07b2e45d18

    obligatorio
  • errors object

    validation_failed: mensaje por parámetro erróneo

  • required_level string

    insufficient_scope: nivel exigido por la operación

    uno de: read, exploitation, full

  • task_id string

    task_already_running: tarea en curso en este VPS

    Ejemplo: tsk_000002d5

  • family string

    rate_limited: familia de cuota agotada

    uno de: read, mutation, heavy

  • limit integer (int64)

    rate_limited: límite por hora de la familia

  • retry_after integer (int64)

    rate_limited: segundos de espera

  • lock string

    server_locked: bloqueo establecido por el hipervisor (backup, snapshot, suspended…)

    Ejemplo: snapshot

  • reason string

    server_locked: operation_in_progress, hay una operación en curso, vuelva a intentarlo tras Retry-After; suspended, el VPS está en hibernación, arránquelo primero; support_notified, bloqueo anómalo, el equipo de LWS ha sido avisado y está interviniendo

    uno de: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: naturaleza de la intervención, inicio y fin previsto (null para una incidencia)

  • kind string

    uno de: works, incident

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

Autenticación rechazada: invalid_token — encabezado Authorization ausente o mal formado, o clave desconocida; access_disabled — acceso a la API cortado para esta cuenta, o servicio de API cortado momentáneamente por LWS.

encabezado Authorization ausente o mal formado, o clave desconocida

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

acceso a la API cortado para esta cuenta, o servicio de API cortado momentáneamente por 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"
}
Campos de la respuesta 18
  • type string (uri)

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

    obligatorio
  • title string

    Título breve

    Ejemplo: VPS introuvable

    obligatorio
  • status integer (int64)

    Estado HTTP

    Ejemplo: 404

    obligatorio
  • code string

    Código de máquina estable (véase «Errores» en Primeros pasos)

    Ejemplo: vm_not_found

    obligatorio
  • detail string

    Mensaje detallado

    Ejemplo: Aucun VPS 999999 sur ce compte.

    obligatorio
  • request_id string

    Identificador de la petición, que debe facilitarse al soporte

    Ejemplo: 3f9a1c07b2e45d18

    obligatorio
  • errors object

    validation_failed: mensaje por parámetro erróneo

  • required_level string

    insufficient_scope: nivel exigido por la operación

    uno de: read, exploitation, full

  • task_id string

    task_already_running: tarea en curso en este VPS

    Ejemplo: tsk_000002d5

  • family string

    rate_limited: familia de cuota agotada

    uno de: read, mutation, heavy

  • limit integer (int64)

    rate_limited: límite por hora de la familia

  • retry_after integer (int64)

    rate_limited: segundos de espera

  • lock string

    server_locked: bloqueo establecido por el hipervisor (backup, snapshot, suspended…)

    Ejemplo: snapshot

  • reason string

    server_locked: operation_in_progress, hay una operación en curso, vuelva a intentarlo tras Retry-After; suspended, el VPS está en hibernación, arránquelo primero; support_notified, bloqueo anómalo, el equipo de LWS ha sido avisado y está interviniendo

    uno de: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: naturaleza de la intervención, inicio y fin previsto (null para una incidencia)

  • kind string

    uno de: works, incident

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

Acceso denegado: ip_not_allowed — dirección de origen no autorizada.

{
  "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"
}
Campos de la respuesta 18
  • type string (uri)

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

    obligatorio
  • title string

    Título breve

    Ejemplo: VPS introuvable

    obligatorio
  • status integer (int64)

    Estado HTTP

    Ejemplo: 404

    obligatorio
  • code string

    Código de máquina estable (véase «Errores» en Primeros pasos)

    Ejemplo: vm_not_found

    obligatorio
  • detail string

    Mensaje detallado

    Ejemplo: Aucun VPS 999999 sur ce compte.

    obligatorio
  • request_id string

    Identificador de la petición, que debe facilitarse al soporte

    Ejemplo: 3f9a1c07b2e45d18

    obligatorio
  • errors object

    validation_failed: mensaje por parámetro erróneo

  • required_level string

    insufficient_scope: nivel exigido por la operación

    uno de: read, exploitation, full

  • task_id string

    task_already_running: tarea en curso en este VPS

    Ejemplo: tsk_000002d5

  • family string

    rate_limited: familia de cuota agotada

    uno de: read, mutation, heavy

  • limit integer (int64)

    rate_limited: límite por hora de la familia

  • retry_after integer (int64)

    rate_limited: segundos de espera

  • lock string

    server_locked: bloqueo establecido por el hipervisor (backup, snapshot, suspended…)

    Ejemplo: snapshot

  • reason string

    server_locked: operation_in_progress, hay una operación en curso, vuelva a intentarlo tras Retry-After; suspended, el VPS está en hibernación, arránquelo primero; support_notified, bloqueo anómalo, el equipo de LWS ha sido avisado y está interviniendo

    uno de: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: naturaleza de la intervención, inicio y fin previsto (null para una incidencia)

  • kind string

    uno de: works, incident

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

Cuota superada: rate_limited — cuota por hora de la familia agotada.

{
  "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
}
Campos de la respuesta 18
  • type string (uri)

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

    obligatorio
  • title string

    Título breve

    Ejemplo: VPS introuvable

    obligatorio
  • status integer (int64)

    Estado HTTP

    Ejemplo: 404

    obligatorio
  • code string

    Código de máquina estable (véase «Errores» en Primeros pasos)

    Ejemplo: vm_not_found

    obligatorio
  • detail string

    Mensaje detallado

    Ejemplo: Aucun VPS 999999 sur ce compte.

    obligatorio
  • request_id string

    Identificador de la petición, que debe facilitarse al soporte

    Ejemplo: 3f9a1c07b2e45d18

    obligatorio
  • errors object

    validation_failed: mensaje por parámetro erróneo

  • required_level string

    insufficient_scope: nivel exigido por la operación

    uno de: read, exploitation, full

  • task_id string

    task_already_running: tarea en curso en este VPS

    Ejemplo: tsk_000002d5

  • family string

    rate_limited: familia de cuota agotada

    uno de: read, mutation, heavy

  • limit integer (int64)

    rate_limited: límite por hora de la familia

  • retry_after integer (int64)

    rate_limited: segundos de espera

  • lock string

    server_locked: bloqueo establecido por el hipervisor (backup, snapshot, suspended…)

    Ejemplo: snapshot

  • reason string

    server_locked: operation_in_progress, hay una operación en curso, vuelva a intentarlo tras Retry-After; suspended, el VPS está en hibernación, arránquelo primero; support_notified, bloqueo anómalo, el equipo de LWS ha sido avisado y está interviniendo

    uno de: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: naturaleza de la intervención, inicio y fin previsto (null para una incidencia)

  • kind string

    uno de: works, incident

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

Dependencia inaccesible: upstream_unavailable — inventario de VPS momentáneamente no disponible.

{
  "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"
}
Campos de la respuesta 18
  • type string (uri)

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

    obligatorio
  • title string

    Título breve

    Ejemplo: VPS introuvable

    obligatorio
  • status integer (int64)

    Estado HTTP

    Ejemplo: 404

    obligatorio
  • code string

    Código de máquina estable (véase «Errores» en Primeros pasos)

    Ejemplo: vm_not_found

    obligatorio
  • detail string

    Mensaje detallado

    Ejemplo: Aucun VPS 999999 sur ce compte.

    obligatorio
  • request_id string

    Identificador de la petición, que debe facilitarse al soporte

    Ejemplo: 3f9a1c07b2e45d18

    obligatorio
  • errors object

    validation_failed: mensaje por parámetro erróneo

  • required_level string

    insufficient_scope: nivel exigido por la operación

    uno de: read, exploitation, full

  • task_id string

    task_already_running: tarea en curso en este VPS

    Ejemplo: tsk_000002d5

  • family string

    rate_limited: familia de cuota agotada

    uno de: read, mutation, heavy

  • limit integer (int64)

    rate_limited: límite por hora de la familia

  • retry_after integer (int64)

    rate_limited: segundos de espera

  • lock string

    server_locked: bloqueo establecido por el hipervisor (backup, snapshot, suspended…)

    Ejemplo: snapshot

  • reason string

    server_locked: operation_in_progress, hay una operación en curso, vuelva a intentarlo tras Retry-After; suspended, el VPS está en hibernación, arránquelo primero; support_notified, bloqueo anómalo, el equipo de LWS ha sido avisado y está interviniendo

    uno de: operation_in_progress, suspended, support_notified

  • maintenance object

    server_maintenance: naturaleza de la intervención, inicio y fin previsto (null para una incidencia)

  • kind string

    uno de: works, incident

  • started_at string (date-time)
  • expected_end string (date-time)
Mostrar los ejemplos de código y la consola de pruebas
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)