Opérations
Le suivi des opérations longues lancées sur vos services.
Lister les opérations
GET
/v1/operationsPermission : vps:read
Opérations des sept derniers jours, les plus récentes d’abord.
Paramètres de requête
| Champ | Type | Description |
|---|---|---|
status | texte | Valeurs : pending, running, succeeded, failed. |
limit | entier | Nombre d’éléments par page (1 à 100) Par défaut : 20. De 1 à 100. |
cursor | texte | Curseur renvoyé par la page précédente (`next_cursor`) |
Réponse 200
| Champ | Type | Description |
|---|---|---|
data | liste de objet | |
data[].id | texte | Identifiant de l’opération. Exemple : "op-01JB7X5R1M". |
data[].type | texte | Nature de l’opération (vps.reboot…). Exemple : "vps.reinstall". |
data[].status | texte | État. Valeurs : pending, running, succeeded, failed. |
data[].resource | objet | Ressource concernée. |
data[].resource.type | texte | Valeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other, backup. |
data[].resource.id | texte | Exemple : "vps-7c2e4a91". |
data[].created_at | texte | Date de création. |
data[].started_at | texte ou null | Date de création. |
data[].completed_at | texte ou null | Date de création. |
data[].error | objet ou null | Erreur au format RFC 9457. |
data[].error.type | texte | Adresse de la page de documentation de l’erreur. Exemple : "https://docs.corcelink.fr/api/erreurs/#vps_not_found". |
data[].error.title | texte | Résumé de l’erreur, dans la langue demandée. Exemple : "VPS introuvable". |
data[].error.status | entier | Code HTTP. Exemple : 404. |
data[].error.code | texte | Code stable, à utiliser dans vos programmes. Exemple : "vps_not_found". |
data[].error.detail | texte | Explication et correction possible. Exemple : "Aucun VPS vps-7c2e4a91 sur ce compte.". |
data[].error.request_id | texte | Identifiant de la requête, à citer au support. Exemple : "req-01JB7X4M2Q9KZ3". |
data[].error.errors | liste de objet | Erreurs de validation, champ par champ. |
data[].result | objet | Résultat propre à certaines opérations ; absent sinon. |
data[].result.password_url | texte | Lien à usage unique vers le nouveau mot de passe root (réinstallation). |
data[].result.password_expires_at | texte | Date de création. |
has_more | booléen | |
next_cursor | texte ou null |
Erreurs
invalid_parameterParamètre invalideinvalid_cursorCurseur invalide- Et les erreurs communes :
missing_api_key,invalid_api_key,missing_scope,ip_not_allowed,rate_limited.
curl "https://api.corcelink.fr/v1/operations" \
-H "Authorization: Bearer $CORCELINK_API_KEY"
import os, uuid, requests
r = requests.get(
"https://api.corcelink.fr/v1/operations",
headers={"Authorization": f"Bearer {os.environ['CORCELINK_API_KEY']}"},
timeout=30,
)
r.raise_for_status()
print(r.json())
const res = await fetch("https://api.corcelink.fr/v1/operations", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.CORCELINK_API_KEY}` },
});
console.log(res.status, await res.json());
Réponse 200
{
"data": [
{
"id": "op-01M5Z52GMTBB6H1E",
"type": "vps.stop",
"status": "failed",
"resource": {
"type": "vps",
"id": "vps-7c2e4a91"
},
"created_at": "2026-10-27T17:03:37Z",
"started_at": "2026-10-27T17:03:37Z",
"completed_at": "2026-10-27T17:03:37Z",
"error": {
"type": "https://docs.corcelink.fr/api/erreurs/#task_failed",
"title": "Opération en échec",
"status": 502,
"code": "task_failed",
"request_id": "req-01M5Z52GNHES9T1W",
"detail": "VM 10020 qmp command 'quit' failed"
}
},
{
"id": "op-01M5Z52GMJVCY89C",
"type": "vps.reboot",
"status": "succeeded",
"resource": {
"type": "vps",
"id": "vps-7c2e4a91"
},
"created_at": "2026-10-27T17:03:37Z",
"started_at": "2026-10-27T17:03:37Z",
"completed_at": "2026-10-27T17:03:37Z",
"error": null
}
],
"has_more": false,
"next_cursor": null
}
Essayer avec votre clé
Votre clé reste dans ce navigateur et n’est envoyée qu’à api.corcelink.fr.
Lire une opération
GET
/v1/operations/{operation_id}Permission : vps:read
Permission vps:read ou network:read, selon la ressource concernée.
Paramètres de chemin
| Champ | Type | Description |
|---|---|---|
operation_idobligatoire | texte | Exemple : "op-01JB7X5R1M". |
Réponse 200
| Champ | Type | Description |
|---|---|---|
id | texte | Identifiant de l’opération. Exemple : "op-01JB7X5R1M". |
type | texte | Nature de l’opération (vps.reboot…). Exemple : "vps.reinstall". |
status | texte | État. Valeurs : pending, running, succeeded, failed. |
resource | objet | Ressource concernée. |
resource.type | texte | Valeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other, backup. |
resource.id | texte | Exemple : "vps-7c2e4a91". |
created_at | texte | Date de création. |
started_at | texte ou null | Date de création. |
completed_at | texte ou null | Date de création. |
error | objet ou null | Erreur au format RFC 9457. |
error.type | texte | Adresse de la page de documentation de l’erreur. Exemple : "https://docs.corcelink.fr/api/erreurs/#vps_not_found". |
error.title | texte | Résumé de l’erreur, dans la langue demandée. Exemple : "VPS introuvable". |
error.status | entier | Code HTTP. Exemple : 404. |
error.code | texte | Code stable, à utiliser dans vos programmes. Exemple : "vps_not_found". |
error.detail | texte | Explication et correction possible. Exemple : "Aucun VPS vps-7c2e4a91 sur ce compte.". |
error.request_id | texte | Identifiant de la requête, à citer au support. Exemple : "req-01JB7X4M2Q9KZ3". |
error.errors | liste de objet | Erreurs de validation, champ par champ. |
error.errors[].field | texte | Exemple : "rules[0].ports". |
error.errors[].code | texte | Exemple : "invalid_port". |
error.errors[].message | texte | Exemple : "Port invalide : utilisez 443, 80,443 ou 8000:8100.". |
result | objet | Résultat propre à certaines opérations ; absent sinon. |
result.password_url | texte | Lien à usage unique vers le nouveau mot de passe root (réinstallation). |
result.password_expires_at | texte | Date de création. |
Erreurs
not_foundRessource introuvable- Et les erreurs communes :
missing_api_key,invalid_api_key,missing_scope,ip_not_allowed,rate_limited.
curl "https://api.corcelink.fr/v1/operations/op-01JB7X5R1M" \
-H "Authorization: Bearer $CORCELINK_API_KEY"
import os, uuid, requests
r = requests.get(
"https://api.corcelink.fr/v1/operations/op-01JB7X5R1M",
headers={"Authorization": f"Bearer {os.environ['CORCELINK_API_KEY']}"},
timeout=30,
)
r.raise_for_status()
print(r.json())
const res = await fetch("https://api.corcelink.fr/v1/operations/op-01JB7X5R1M", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.CORCELINK_API_KEY}` },
});
console.log(res.status, await res.json());
Réponse 200
{
"id": "op-01M5Z52GMJVCY89C",
"type": "vps.reboot",
"status": "succeeded",
"resource": {
"type": "vps",
"id": "vps-7c2e4a91"
},
"created_at": "2026-10-27T17:03:37Z",
"started_at": "2026-10-27T17:03:37Z",
"completed_at": "2026-10-27T17:03:37Z",
"error": null
}
Essayer avec votre clé
Votre clé reste dans ce navigateur et n’est envoyée qu’à api.corcelink.fr.