Consulter le journal d'activité
GET
/api/v1/
operationIdgetActivity
- Niveau requis
- Lecture seule
- Quota
- lecture, 3 600 appels par heure
Historique des actions du compte, du plus récent au plus ancien, tous canaux confondus (panel, api, mcp). C'est par lui que vous constatez après coup ce qui a été fait sur vos services, y compris ce que vous n'avez pas fait vous-même.
action emploie le même vocabulaire que GET /tasks (server.rebuild dans les deux), pour rapprocher une tâche de sa trace au journal. status vaut ok, error, ou null pour les actions sans notion de réussite (une connexion, par exemple).
Une clé restreinte à certains VPS voit malgré tout les entrées qui ne concernent aucune machine (connexions, régénération de clé, changement de droits) : ce sont elles qui révéleraient un accès frauduleux. Utilisez scope=servers pour ne garder que les actions portant sur les serveurs. Un filtre hors liste ou une date illisible est refusé, jamais ignoré.
Paramètres de requête
-
pageinteger facultatif -
Page demandée. Une valeur inférieure à 1 est ramenée à 1.
-
per_pageinteger facultatif -
Taille de page. Une valeur au-delà de 100 est ramenée à 100 ; une valeur nulle, négative ou non numérique, à 25.
-
scopestring facultatif -
all: tout ;servers: actions portant sur une machine ;account: actions de compte. -
sourcestring facultatif -
Canal d'origine de l'action.
-
vmidstring facultatif -
Restreindre à un VPS.
-
actionstring facultatif -
Restreindre à un code d'action, par exemple
server.rebuild. -
sincestring (date-time) facultatif -
Date ISO 8601 : seules les entrées postérieures sont renvoyées.
Réponses
200
Une page du journal
{
"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
}
}
Champs de la réponse 13
-
dataobject[]requis -
atstring (date-time) -
actionstringCode d'action
-
descriptionstring -
vmidstringVPS concerné ;
nullpour une action de compte -
statusstringnullpour une action sans notion de réussite -
ipstringAdresse d'origine
-
sourcestringCanal d'origine
-
metaobjectrequisPagination. Les listes non paginées renvoient tout et
metareflète le nombre renvoyé. -
pageinteger (int64)Page renvoyée
-
per_pageinteger (int64)Taille de page
-
totalinteger (int64)Nombre total d'éléments
-
total_pagesinteger (int64)Nombre total de pages
400
Paramètres invalides : validation_failed — scope, source hors liste ou since illisible.
validation_failed — scope, source hors liste ou since illisible.{
"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."
}
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
401
Authentification refusée : invalid_token — en-tête Authorization absent ou malformé, ou clé inconnue ; access_disabled — accès API coupé pour ce compte, ou service API momentanément coupé par LWS.
invalid_token — en-tête Authorization absent ou malformé, ou clé inconnue ; access_disabled — accès API coupé pour ce compte, ou service API momentanément coupé par LWS.en-tête Authorization absent ou malformé, ou clé inconnue
{
"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"
}
accès API coupé pour ce compte, ou service API momentanément coupé par 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"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
403
Accès refusé : ip_not_allowed — adresse d'appel non autorisée.
ip_not_allowed — adresse d'appel non autorisée.{
"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"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
429
Quota dépassé : rate_limited — quota horaire de la famille épuisé.
rate_limited — quota horaire de la famille épuisé.{
"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
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
502
Dépendance injoignable : upstream_unavailable — inventaire des VPS momentanément indisponible.
upstream_unavailable — inventaire des VPS momentanément indisponible.{
"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"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)