Opérations longues
Les actions sur la machine répondent tout de suite et se suivent jusqu’à leur terme.
L’API suit le modèle des grands fournisseurs de cloud :
- une modification de configuration (règle de pare-feu, reverse DNS) répond tout de suite avec son résultat définitif ;
- un travail sur la machine (démarrage, redémarrage, arrêt, sauvegarde, restauration, réinstallation, démarrage sur une ISO) répond
202 Acceptedavec une opération à suivre.
{
"id": "op-01JB7X5R1MQ8ZT4K",
"type": "vps.reboot",
"status": "running",
"resource": { "type": "vps", "id": "vps-7c2e4a91" },
"created_at": "2026-10-27T12:32:13Z",
"started_at": "2026-10-27T12:32:13Z",
"completed_at": null,
"error": null
}
L’en-tête Location donne l’adresse de l’opération : /v1/operations/op-….
| État | Signification |
|---|---|
pending |
Acceptée, pas encore commencée |
running |
En cours sur l’hyperviseur |
succeeded |
Terminée avec succès ; completed_at est renseignée |
failed |
En échec définitif ; error donne le code (task_failed, task_lost) et, quand elle est connue, la cause donnée par l’hyperviseur |
Attendre la fin d’une opération
import os, time, requests
headers = {"Authorization": f"Bearer {os.environ['CORCELINK_API_KEY']}"}
op = requests.post("https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/reboot", headers=headers, timeout=30).json()
while op["status"] in ("pending", "running"):
time.sleep(2)
op = requests.get(f"https://api.corcelink.fr/v1/operations/{op['id']}", headers=headers, timeout=30).json()
print(op["status"], op["error"])
Interrogez une opération toutes les 1 à 5 secondes : un redémarrage dure en général moins d’une minute. Les opérations restent consultables 7 jours dans GET /v1/operations, filtrables par état.
Le résultat d’une opération
Certaines opérations portent un champ result. Une réinstallation y donne le lien vers le nouveau mot de passe root :
"result": { "password_url": "https://secret.corcelink.fr/s/7Hq2mZ", "password_expires_at": "2026-10-28T13:37:27Z" }
Le lien ne s’ouvre qu’une fois et expire au bout de 24 heures. Le mot de passe n’apparaît jamais en clair dans une réponse de l’API.
Bon à savoir
- Une seule action à la fois par VPS : une nouvelle action pendant une opération en cours répond
409 operation_in_progress. - Une action incompatible avec l’état du VPS est refusée avant d’être lancée, par exemple démarrer un VPS déjà démarré (
409 invalid_state). - Les opérations sont terminées en arrière-plan, même si personne ne les consulte.
- Une sauvegarde, une restauration ou une réinstallation peut faire l’objet de plusieurs tentatives côté hyperviseur : l’opération reste
runningtant qu’une nouvelle tentative est prévue, et ne passe àfailedqu’en cas d’échec définitif. - Toutes les actions faites par l’API apparaissent dans le journal du VPS, dans l’espace client, avec l’acteur
api.