Consultar o registo de atividade
GET
/api/v1/
operationIdgetActivity
- Nível exigido
- Apenas leitura
- Quota
- leitura, 3600 chamadas por hora
Histórico das ações da conta, da mais recente para a mais antiga, todos os canais incluídos (panel, api, mcp). É através dele que verifica, a posteriori, o que foi feito nos seus serviços, incluindo o que não fez pessoalmente.
action utiliza o mesmo vocabulário que GET /tasks (server.rebuild em ambos), para associar uma tarefa ao respetivo registo. status é ok, error, ou null para as ações sem noção de sucesso (um início de sessão, por exemplo).
Uma chave restrita a determinados VPS vê, ainda assim, as entradas que não dizem respeito a nenhuma máquina (inícios de sessão, regeneração de chave, alteração de permissões): são precisamente essas que revelariam um acesso fraudulento. Utilize scope=servers para manter apenas as ações relativas aos servidores. Um filtro fora da lista ou uma data ilegível é recusado, nunca ignorado.
Parâmetros de consulta
-
pageinteger opcional -
Página pedida. Um valor inferior a 1 é ajustado para 1.
-
per_pageinteger opcional -
Tamanho da página. Um valor superior a 100 é ajustado para 100; um valor nulo, negativo ou não numérico, para 25.
-
scopestring opcional -
all: tudo;servers: ações relativas a uma máquina;account: ações de conta. -
sourcestring opcional -
Canal de origem da ação.
-
vmidstring opcional -
Restringir a um VPS.
-
actionstring opcional -
Restringir a um código de ação, por exemplo
server.rebuild. -
sincestring (date-time) opcional -
Data ISO 8601: apenas são devolvidas as entradas posteriores.
Respostas
200
Uma página do registo
{
"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 da resposta 13
-
dataobject[]obrigatório -
atstring (date-time) -
actionstringCódigo de ação
-
descriptionstring -
vmidstringVPS em causa;
nullpara uma ação de conta -
statusstringnullpara uma ação sem noção de sucesso -
ipstringEndereço de origem
-
sourcestringCanal de origem
-
metaobjectobrigatórioPaginação. As listas não paginadas devolvem tudo e
metareflete o número devolvido. -
pageinteger (int64)Página devolvida
-
per_pageinteger (int64)Tamanho da página
-
totalinteger (int64)Número total de elementos
-
total_pagesinteger (int64)Número total de páginas
400
Parâmetros inválidos: validation_failed — scope, source fora da lista ou since ilegível.
validation_failed — scope, source fora da lista ou since ilegível.{
"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 da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
401
Autenticação recusada: invalid_token — cabeçalho Authorization ausente ou mal formado, ou chave desconhecida; access_disabled — acesso à API cortado para esta conta, ou serviço de API momentaneamente suspenso pela LWS.
invalid_token — cabeçalho Authorization ausente ou mal formado, ou chave desconhecida; access_disabled — acesso à API cortado para esta conta, ou serviço de API momentaneamente suspenso pela LWS.cabeçalho Authorization ausente ou mal formado, ou chave desconhecida
{
"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"
}
acesso à API cortado para esta conta, ou serviço de API momentaneamente suspenso pela 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 da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
403
Acesso recusado: ip_not_allowed — endereço de chamada não autorizado.
ip_not_allowed — endereço de chamada não autorizado.{
"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 da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
429
Quota excedida: rate_limited — quota horária da família esgotada.
rate_limited — quota horária da família esgotada.{
"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 da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
502
Dependência inacessível: upstream_unavailable — inventário dos VPS momentaneamente indisponível.
upstream_unavailable — inventário dos VPS momentaneamente indisponível.{
"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 da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)