Lister les VPS
GET
/api/v1/
operationIdgetServers
- Niveau requis
- Lecture seule
- Quota
- lecture, 3 600 appels par heure
Inventaire des VPS couverts par la clé. L'état d'alimentation est lu sur l'hyperviseur ; si celui-ci est momentanément injoignable, status vaut unavailable et le reste de la fiche demeure exploitable.
Pendant une intervention annoncée par LWS sur le serveur hôte (mise à jour, redémarrage…), maintenance en donne la nature et les horaires, qu'elle soit programmée ou en cours. Si le serveur hôte ne répond plus pendant cette intervention, status vaut maintenance : une indisponibilité prévue et passagère, pas une panne.
Le filtre status s'applique à la page demandée : meta décrit l'inventaire complet, non filtré, et une page filtrée peut donc compter moins d'entrées que per_page.
L'état lu sur l'hyperviseur est mis en cache 15 secondes : un appel plus rapproché renvoie la même valeur. Toute écriture de l'API sur un VPS rafraîchit aussitôt son état.
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.
-
statusstring facultatif -
Ne garder que les VPS dans cet état (appliqué à la page renvoyée).
Réponses
200
Une page de l'inventaire
{
"data": [
{
"vmid": "116807",
"name": "vps116807",
"node": "shp-40",
"status": "running",
"maintenance": null,
"os_template": "debian12_64",
"commercial_name": "Debian 12",
"ipv4": "31.207.34.214",
"ipv6": "2a00:7ee0:9:1:11:6807:1:1",
"additional_ips": [
"51.83.12.98"
],
"datacenter": {
"code": "SJ1",
"city": "Nancy",
"country": "France",
"zone": "eu-france-est"
},
"purchased_at": "2025-03-14T00:00:00+01:00",
"expires_at": "2027-03-14T00:00:00+01:00",
"enabled": true,
"expired": false,
"comment": null
}
],
"meta": {
"page": 1,
"per_page": 25,
"total": 1,
"total_pages": 1
}
}
Champs de la réponse 30
-
dataobject[]requis -
vmidstringIdentifiant du VPS
-
namestringNom de la machine sur l'hyperviseur
-
nodestringHyperviseur hébergeant le VPS, à titre informatif. Jamais demandé en entrée et susceptible de changer lors d'une migration.
-
statusstringÉtat d'alimentation ;
unavailablesi l'hyperviseur n'a pas répondu ;maintenances'il ne répond pas pendant une intervention annoncée par LWS -
maintenanceobjectIntervention annoncée par LWS sur le serveur hôte (état des services), programmée ou en cours, que le serveur réponde ou non ;
nulls'il n'y en a pas -
statusstringscheduled: programmée ;in_progress: en cours -
kindstringworks: maintenance, amélioration ou redémarrage ;incident: incident, perturbation, ralentissement ou attaque -
starts_atstring (date-time) -
expected_endstring (date-time)Fin prévue ; toujours
nullpour un incident -
os_templatestring -
commercial_namestring -
ipv4string -
ipv6string -
additional_ipsstring[] -
datacenterobject -
codestring -
citystring -
countrystring -
zonestring -
purchased_atstring (date-time) -
expires_atstring (date-time) -
enabledbooleanfalse: service désactivé -
expiredbooleantrue: service arrivé à expiration -
commentstringCommentaire saisi dans le panel
-
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 — status hors liste.
validation_failed — status hors liste.{
"type": "https://docs.lws.fr/kvm/errors/validation-failed",
"title": "Paramètres invalides",
"status": 400,
"code": "validation_failed",
"detail": "Paramètre « status » invalide.",
"request_id": "3f9a1c07b2e45d18",
"errors": {
"status": "Valeurs acceptées : running, stopped, unavailable, maintenance."
}
}
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)