CorceLinkDocumentation Espace client

VPS

Vos serveurs : lecture, alimentation, mesures et journal.

Lister les VPS

GET/v1/compute/vps

Permission : vps:read

Paramètres de requête

ChampTypeDescription
regiontexteExemple : "fr-lys-1".
statustexteValeurs : provisioning, running, stopped, reinstalling, restoring, suspended, error.
limitentierNombre d’éléments par page (1 à 100) Par défaut : 20. De 1 à 100.
cursortexteCurseur renvoyé par la page précédente (`next_cursor`)

Réponse 200

ChampTypeDescription
dataliste de objet
data[].idtexteIdentifiant du VPS. Exemple : "vps-7c2e4a91".
data[].hostnametexteNom d’hôte. Exemple : "vps-7c2e4a91.vps.corce.link".
data[].statustexteÉtat du VPS ; unknown si l’hyperviseur ne répond pas. Valeurs : provisioning, running, stopped, reinstalling, restoring, suspended, error, unknown.
data[].planobjetOffre.
data[].plan.idtexteExemple : "vps-start".
data[].plan.nametexteExemple : "VPS Start".
data[].regiontexte ou nullExemple : "fr-lys-1".
data[].imageobjetSystème installé.
data[].image.idtexteExemple : "debian-13".
data[].image.nametexteExemple : "Debian 13".
data[].resourcesobjetRessources de l’offre.
data[].resources.vcpusentierExemple : 2.
data[].resources.memory_gbentierExemple : 4.
data[].resources.disk_gbentierExemple : 50.
data[].ip_addressesliste de objetAdresses IPv4 et IPv6.
data[].ip_addresses[].addresstexteAdresse IPv4 ou IPv6. Exemple : "192.0.2.23".
data[].ip_addresses[].prefix_lengthentier ou nullLongueur du préfixe ; null si l’hyperviseur ne répond pas. Exemple : 24.
data[].ip_addresses[].versionentierVersion du protocole. Valeurs : 4, 6.
data[].ip_addresses[].primarybooléenAdresse principale du VPS.
data[].ip_addresses[].gatewaytexte ou nullExemple : "192.0.2.1".
data[].ip_addresses[].reverse_dnstexte ou nullExemple : "www.studio-laurent.fr".
data[].firewallobjetRésumé du pare-feu (détail seulement).
data[].firewall.enabledbooléen
data[].firewall.rules_countentierExemple : 4.
data[].private_networksliste de texteRéseaux privés auxquels le VPS est relié.
data[].billingobjetFacturation du service.
data[].billing.billing_cycletexteValeurs : monthly, quarterly, semiannually, annually, biennially, triennially, one_time.
data[].billing.priceobjet
data[].billing.next_due_datetexte ou null
data[].billing.renewaltexteRéglé par la carte par défaut, ou à chaque facture. Valeurs : automatic, invoice.
data[].created_attexteDate de création.
has_morebooléen
next_cursortexte ou null

Erreurs

curl "https://api.corcelink.fr/v1/compute/vps" \
  -H "Authorization: Bearer $CORCELINK_API_KEY"

Réponse 200

{
  "data": [
    {
      "id": "vps-6fc6b7e2",
      "hostname": "serveur-camille",
      "status": "stopped",
      "plan": {
        "id": "vps-start",
        "name": "VPS Start"
      },
      "region": "fr-lys-1",
      "image": {
        "id": "unknown",
        "name": ""
      },
      "resources": {
        "vcpus": 2,
        "memory_gb": 4,
        "disk_gb": 50
      },
      "ip_addresses": [
        {
          "address": "192.0.2.23",
          "prefix_length": 24,
          "version": 4,
          "primary": true,
          "gateway": "192.0.2.1",
          "reverse_dns": null
        },
        {
          "address": "2001:db8:42::2",
          "prefix_length": 64,
          "version": 6,
          "primary": false,
          "gateway": "2001:db8:42::1",
          "reverse_dns": null
        }
      ],
      "billing": {
        "billing_cycle": "monthly",
        "price": {
          "amount": 790,
          "currency": "EUR"
        },
        "next_due_date": "2026-11-08",
        "renewal": "invoice"
      },
      "created_at": "2026-10-08T00:00:00Z"
    },
    {
      "id": "vps-7c2e4a91",
      "hostname": "vps-7c2e4a91.vps.corce.link",
      "status": "running",
      "plan": {
        "id": "vps-start",
        "name": "VPS Start"
      },
      "region": "fr-lys-1",
      "image": {
        "id": "debian-13",
        "name": "Debian 13"
      },
      "resources": {
        "vcpus": 2,
        "memory_gb": 4,
        "disk_gb": 50
      },
      "ip_addresses": [
        {
          "address": "192.0.2.23",
          "prefix_length": 24,
          "version": 4,
          "primary": true,
          "gateway": "192.0.2.1",
          "reverse_dns": null
        },
        {
          "address": "2001:db8:42::2",
          "prefix_length": 64,
          "version": 6,
          "primary": false,
          "gateway": "2001:db8:42::1",
          "reverse_dns": null
        }
      ],
      "billing": {
        "billing_cycle": "monthly",
        "price": {
          "amount": 790,
          "currency": "EUR"
        },
        "next_due_date": "2026-11-08",
        "renewal": "invoice"
      },
      "created_at": "2026-10-08T00:00:00Z"
    }
  ],
  "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 un VPS

GET/v1/compute/vps/{vps_id}

Permission : vps:read

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

Réponse 200

ChampTypeDescription
idtexteIdentifiant du VPS. Exemple : "vps-7c2e4a91".
hostnametexteNom d’hôte. Exemple : "vps-7c2e4a91.vps.corce.link".
statustexteÉtat du VPS ; unknown si l’hyperviseur ne répond pas. Valeurs : provisioning, running, stopped, reinstalling, restoring, suspended, error, unknown.
planobjetOffre.
plan.idtexteExemple : "vps-start".
plan.nametexteExemple : "VPS Start".
regiontexte ou nullExemple : "fr-lys-1".
imageobjetSystème installé.
image.idtexteExemple : "debian-13".
image.nametexteExemple : "Debian 13".
resourcesobjetRessources de l’offre.
resources.vcpusentierExemple : 2.
resources.memory_gbentierExemple : 4.
resources.disk_gbentierExemple : 50.
ip_addressesliste de objetAdresses IPv4 et IPv6.
ip_addresses[].addresstexteAdresse IPv4 ou IPv6. Exemple : "192.0.2.23".
ip_addresses[].prefix_lengthentier ou nullLongueur du préfixe ; null si l’hyperviseur ne répond pas. Exemple : 24.
ip_addresses[].versionentierVersion du protocole. Valeurs : 4, 6.
ip_addresses[].primarybooléenAdresse principale du VPS.
ip_addresses[].gatewaytexte ou nullExemple : "192.0.2.1".
ip_addresses[].reverse_dnstexte ou nullExemple : "www.studio-laurent.fr".
firewallobjetRésumé du pare-feu (détail seulement).
firewall.enabledbooléen
firewall.rules_countentierExemple : 4.
private_networksliste de texteRéseaux privés auxquels le VPS est relié.
billingobjetFacturation du service.
billing.billing_cycletexteValeurs : monthly, quarterly, semiannually, annually, biennially, triennially, one_time.
billing.priceobjet
billing.price.amountentierMontant en centimes. Exemple : 790.
billing.price.currencytexteDevise ISO 4217. Exemple : "EUR".
billing.next_due_datetexte ou null
billing.renewaltexteRéglé par la carte par défaut, ou à chaque facture. Valeurs : automatic, invoice.
created_attexteDate de création.

Erreurs

curl "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91" \
  -H "Authorization: Bearer $CORCELINK_API_KEY"

Réponse 200

{
  "id": "vps-7c2e4a91",
  "hostname": "vps-7c2e4a91.vps.corce.link",
  "status": "running",
  "plan": {
    "id": "vps-start",
    "name": "VPS Start"
  },
  "region": "fr-lys-1",
  "image": {
    "id": "debian-13",
    "name": "Debian 13"
  },
  "resources": {
    "vcpus": 2,
    "memory_gb": 4,
    "disk_gb": 50
  },
  "ip_addresses": [
    {
      "address": "192.0.2.23",
      "prefix_length": 24,
      "version": 4,
      "primary": true,
      "gateway": "192.0.2.1",
      "reverse_dns": null
    },
    {
      "address": "2001:db8:42::2",
      "prefix_length": 64,
      "version": 6,
      "primary": false,
      "gateway": "2001:db8:42::1",
      "reverse_dns": null
    }
  ],
  "billing": {
    "billing_cycle": "monthly",
    "price": {
      "amount": 790,
      "currency": "EUR"
    },
    "next_due_date": "2026-11-08",
    "renewal": "invoice"
  },
  "created_at": "2026-10-08T00:00:00Z",
  "firewall": {
    "enabled": true,
    "rules_count": 3
  }
}
Essayer avec votre clé

Votre clé reste dans ce navigateur et n’est envoyée qu’à api.corcelink.fr.

Démarrer un VPS

POST/v1/compute/vps/{vps_id}/start

Permission : vps:write

Démarre un VPS arrêté.

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

En-têtes

ChampTypeDescription
Idempotency-KeytexteClé unique (UUID conseillé) : une requête répétée avec la même clé renvoie la même réponse, sans refaire l’opération. 255 caractères au plus.

Réponse 202

ChampTypeDescription
idtexteIdentifiant de l’opération. Exemple : "op-01JB7X5R1M".
typetexteNature de l’opération (vps.reboot…). Exemple : "vps.reinstall".
statustexteÉtat. Valeurs : pending, running, succeeded, failed.
resourceobjetRessource concernée.
resource.typetexteValeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other, backup.
resource.idtexteExemple : "vps-7c2e4a91".
created_attexteDate de création.
started_attexte ou nullDate de création.
completed_attexte ou nullDate de création.
errorobjet ou nullErreur au format RFC 9457.
error.typetexteAdresse de la page de documentation de l’erreur. Exemple : "https://docs.corcelink.fr/api/erreurs/#vps_not_found".
error.titletexteRésumé de l’erreur, dans la langue demandée. Exemple : "VPS introuvable".
error.statusentierCode HTTP. Exemple : 404.
error.codetexteCode stable, à utiliser dans vos programmes. Exemple : "vps_not_found".
error.detailtexteExplication et correction possible. Exemple : "Aucun VPS vps-7c2e4a91 sur ce compte.".
error.request_idtexteIdentifiant de la requête, à citer au support. Exemple : "req-01JB7X4M2Q9KZ3".
error.errorsliste de objetErreurs de validation, champ par champ.
error.errors[].fieldtexteExemple : "rules[0].ports".
error.errors[].codetexteExemple : "invalid_port".
error.errors[].messagetexteExemple : "Port invalide : utilisez 443, 80,443 ou 8000:8100.".
resultobjetRésultat propre à certaines opérations ; absent sinon.
result.password_urltexteLien à usage unique vers le nouveau mot de passe root (réinstallation).
result.password_expires_attexteDate de création.

Erreurs

curl -X POST "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/start" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

Réponse 202

{
  "id": "op-01M5Z52GMJVCY89C",
  "type": "vps.start",
  "status": "running",
  "resource": {
    "type": "vps",
    "id": "vps-7c2e4a91"
  },
  "created_at": "2026-10-27T17:03:37Z",
  "started_at": "2026-10-27T17:03:37Z",
  "completed_at": null,
  "error": null
}

Redémarrer un VPS

POST/v1/compute/vps/{vps_id}/reboot

Permission : vps:write

Redémarre proprement le système.

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

En-têtes

ChampTypeDescription
Idempotency-KeytexteClé unique (UUID conseillé) : une requête répétée avec la même clé renvoie la même réponse, sans refaire l’opération. 255 caractères au plus.

Réponse 202

ChampTypeDescription
idtexteIdentifiant de l’opération. Exemple : "op-01JB7X5R1M".
typetexteNature de l’opération (vps.reboot…). Exemple : "vps.reinstall".
statustexteÉtat. Valeurs : pending, running, succeeded, failed.
resourceobjetRessource concernée.
resource.typetexteValeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other, backup.
resource.idtexteExemple : "vps-7c2e4a91".
created_attexteDate de création.
started_attexte ou nullDate de création.
completed_attexte ou nullDate de création.
errorobjet ou nullErreur au format RFC 9457.
error.typetexteAdresse de la page de documentation de l’erreur. Exemple : "https://docs.corcelink.fr/api/erreurs/#vps_not_found".
error.titletexteRésumé de l’erreur, dans la langue demandée. Exemple : "VPS introuvable".
error.statusentierCode HTTP. Exemple : 404.
error.codetexteCode stable, à utiliser dans vos programmes. Exemple : "vps_not_found".
error.detailtexteExplication et correction possible. Exemple : "Aucun VPS vps-7c2e4a91 sur ce compte.".
error.request_idtexteIdentifiant de la requête, à citer au support. Exemple : "req-01JB7X4M2Q9KZ3".
error.errorsliste de objetErreurs de validation, champ par champ.
error.errors[].fieldtexteExemple : "rules[0].ports".
error.errors[].codetexteExemple : "invalid_port".
error.errors[].messagetexteExemple : "Port invalide : utilisez 443, 80,443 ou 8000:8100.".
resultobjetRésultat propre à certaines opérations ; absent sinon.
result.password_urltexteLien à usage unique vers le nouveau mot de passe root (réinstallation).
result.password_expires_attexteDate de création.

Erreurs

curl -X POST "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/reboot" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

Réponse 202

{
  "id": "op-01M5Z52GMJVCY89C",
  "type": "vps.reboot",
  "status": "running",
  "resource": {
    "type": "vps",
    "id": "vps-7c2e4a91"
  },
  "created_at": "2026-10-27T17:03:37Z",
  "started_at": "2026-10-27T17:03:37Z",
  "completed_at": null,
  "error": null
}

Arrêter un VPS

POST/v1/compute/vps/{vps_id}/shutdown

Permission : vps:write

Demande au système de s’éteindre proprement.

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

En-têtes

ChampTypeDescription
Idempotency-KeytexteClé unique (UUID conseillé) : une requête répétée avec la même clé renvoie la même réponse, sans refaire l’opération. 255 caractères au plus.

Réponse 202

ChampTypeDescription
idtexteIdentifiant de l’opération. Exemple : "op-01JB7X5R1M".
typetexteNature de l’opération (vps.reboot…). Exemple : "vps.reinstall".
statustexteÉtat. Valeurs : pending, running, succeeded, failed.
resourceobjetRessource concernée.
resource.typetexteValeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other, backup.
resource.idtexteExemple : "vps-7c2e4a91".
created_attexteDate de création.
started_attexte ou nullDate de création.
completed_attexte ou nullDate de création.
errorobjet ou nullErreur au format RFC 9457.
error.typetexteAdresse de la page de documentation de l’erreur. Exemple : "https://docs.corcelink.fr/api/erreurs/#vps_not_found".
error.titletexteRésumé de l’erreur, dans la langue demandée. Exemple : "VPS introuvable".
error.statusentierCode HTTP. Exemple : 404.
error.codetexteCode stable, à utiliser dans vos programmes. Exemple : "vps_not_found".
error.detailtexteExplication et correction possible. Exemple : "Aucun VPS vps-7c2e4a91 sur ce compte.".
error.request_idtexteIdentifiant de la requête, à citer au support. Exemple : "req-01JB7X4M2Q9KZ3".
error.errorsliste de objetErreurs de validation, champ par champ.
error.errors[].fieldtexteExemple : "rules[0].ports".
error.errors[].codetexteExemple : "invalid_port".
error.errors[].messagetexteExemple : "Port invalide : utilisez 443, 80,443 ou 8000:8100.".
resultobjetRésultat propre à certaines opérations ; absent sinon.
result.password_urltexteLien à usage unique vers le nouveau mot de passe root (réinstallation).
result.password_expires_attexteDate de création.

Erreurs

curl -X POST "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/shutdown" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

Réponse 202

{
  "id": "op-01M5Z52GMJVCY89C",
  "type": "vps.shutdown",
  "status": "running",
  "resource": {
    "type": "vps",
    "id": "vps-7c2e4a91"
  },
  "created_at": "2026-10-27T17:03:37Z",
  "started_at": "2026-10-27T17:03:37Z",
  "completed_at": null,
  "error": null
}

Forcer l’arrêt d’un VPS

POST/v1/compute/vps/{vps_id}/stop

Permission : vps:write

Coupe le VPS immédiatement, comme un débranchement. À réserver à un système qui ne répond plus.

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

En-têtes

ChampTypeDescription
Idempotency-KeytexteClé unique (UUID conseillé) : une requête répétée avec la même clé renvoie la même réponse, sans refaire l’opération. 255 caractères au plus.

Réponse 202

ChampTypeDescription
idtexteIdentifiant de l’opération. Exemple : "op-01JB7X5R1M".
typetexteNature de l’opération (vps.reboot…). Exemple : "vps.reinstall".
statustexteÉtat. Valeurs : pending, running, succeeded, failed.
resourceobjetRessource concernée.
resource.typetexteValeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other, backup.
resource.idtexteExemple : "vps-7c2e4a91".
created_attexteDate de création.
started_attexte ou nullDate de création.
completed_attexte ou nullDate de création.
errorobjet ou nullErreur au format RFC 9457.
error.typetexteAdresse de la page de documentation de l’erreur. Exemple : "https://docs.corcelink.fr/api/erreurs/#vps_not_found".
error.titletexteRésumé de l’erreur, dans la langue demandée. Exemple : "VPS introuvable".
error.statusentierCode HTTP. Exemple : 404.
error.codetexteCode stable, à utiliser dans vos programmes. Exemple : "vps_not_found".
error.detailtexteExplication et correction possible. Exemple : "Aucun VPS vps-7c2e4a91 sur ce compte.".
error.request_idtexteIdentifiant de la requête, à citer au support. Exemple : "req-01JB7X4M2Q9KZ3".
error.errorsliste de objetErreurs de validation, champ par champ.
error.errors[].fieldtexteExemple : "rules[0].ports".
error.errors[].codetexteExemple : "invalid_port".
error.errors[].messagetexteExemple : "Port invalide : utilisez 443, 80,443 ou 8000:8100.".
resultobjetRésultat propre à certaines opérations ; absent sinon.
result.password_urltexteLien à usage unique vers le nouveau mot de passe root (réinstallation).
result.password_expires_attexteDate de création.

Erreurs

curl -X POST "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/stop" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

Réponse 202

{
  "id": "op-01M5Z52GMJVCY89C",
  "type": "vps.stop",
  "status": "running",
  "resource": {
    "type": "vps",
    "id": "vps-7c2e4a91"
  },
  "created_at": "2026-10-27T17:03:37Z",
  "started_at": "2026-10-27T17:03:37Z",
  "completed_at": null,
  "error": null
}

Lire les mesures d’un VPS

GET/v1/compute/vps/{vps_id}/metrics

Permission : vps:read

Processeur, mémoire, réseau et disque sur la période choisie.

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

Paramètres de requête

ChampTypeDescription
periodtexteValeurs : 1h, 24h, 7d, 30d. Par défaut : "24h".

Réponse 200

ChampTypeDescription
periodtextePériode demandée. Valeurs : 1h, 24h, 7d, 30d.
interval_secondsentierÉcart entre deux points. Exemple : 1200.
cpuobjetProcesseur, en pourcentage.
cpu.unittexteUnité des valeurs. Exemple : "percent".
cpu.pointsliste de liste de nombreCouples [horodatage Unix, valeur].
cpu.currentnombreDernière valeur.
cpu.peaknombrePlus haute valeur de la période.
memoryobjetMémoire utilisée, en octets.
memory.unittexteUnité des valeurs. Exemple : "percent".
memory.pointsliste de liste de nombreCouples [horodatage Unix, valeur].
memory.currentnombreDernière valeur.
memory.peaknombrePlus haute valeur de la période.
network_inobjetTrafic entrant, en octets par seconde.
network_in.unittexteUnité des valeurs. Exemple : "percent".
network_in.pointsliste de liste de nombreCouples [horodatage Unix, valeur].
network_in.currentnombreDernière valeur.
network_in.peaknombrePlus haute valeur de la période.
network_outobjetTrafic sortant, en octets par seconde.
network_out.unittexteUnité des valeurs. Exemple : "percent".
network_out.pointsliste de liste de nombreCouples [horodatage Unix, valeur].
network_out.currentnombreDernière valeur.
network_out.peaknombrePlus haute valeur de la période.
disk_readobjetLecture disque, en octets par seconde.
disk_read.unittexteUnité des valeurs. Exemple : "percent".
disk_read.pointsliste de liste de nombreCouples [horodatage Unix, valeur].
disk_read.currentnombreDernière valeur.
disk_read.peaknombrePlus haute valeur de la période.
disk_writeobjetÉcriture disque, en octets par seconde.
disk_write.unittexteUnité des valeurs. Exemple : "percent".
disk_write.pointsliste de liste de nombreCouples [horodatage Unix, valeur].
disk_write.currentnombreDernière valeur.
disk_write.peaknombrePlus haute valeur de la période.

Erreurs

curl "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/metrics" \
  -H "Authorization: Bearer $CORCELINK_API_KEY"

Réponse 200

{
  "period": "1h",
  "interval_seconds": 60,
  "cpu": {
    "unit": "percent",
    "points": [
      [
        1793088000,
        5
      ],
      [
        1793088060,
        5.1
      ],
      [
        1793088120,
        5.2
      ]
    ],
    "current": 11.9,
    "peak": 11.9
  },
  "memory": {
    "unit": "bytes",
    "points": [
      [
        1793088000,
        1200000000
      ],
      [
        1793088060,
        1201000000
      ],
      [
        1793088120,
        1202000000
      ]
    ],
    "current": 1269000000,
    "peak": 1269000000
  },
  "network_in": {
    "unit": "bytes_per_second",
    "points": [
      [
        1793088000,
        1000
      ],
      [
        1793088060,
        1001
      ],
      [
        1793088120,
        1002
      ]
    ],
    "current": 1069,
    "peak": 1069
  },
  "network_out": {
    "unit": "bytes_per_second",
    "points": [
      [
        1793088000,
        500
      ],
      [
        1793088060,
        501
      ],
      [
        1793088120,
        502
      ]
    ],
    "current": 569,
    "peak": 569
  },
  "disk_read": {
    "unit": "bytes_per_second",
    "points": [
      [
        1793088000,
        10
      ],
      [
        1793088060,
        10
      ],
      [
        1793088120,
        10
      ]
    ],
    "current": 10,
    "peak": 10
  },
  "disk_write": {
    "unit": "bytes_per_second",
    "points": [
      [
        1793088000,
        20
      ],
      [
        1793088060,
        21
      ],
      [
        1793088120,
        22
      ]
    ],
    "current": 89,
    "peak": 89
  }
}
Essayer avec votre clé

Votre clé reste dans ce navigateur et n’est envoyée qu’à api.corcelink.fr.

Lire le journal d’un VPS

GET/v1/compute/vps/{vps_id}/events

Permission : vps:read

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

Paramètres de requête

ChampTypeDescription
limitentierNombre d’éléments par page (1 à 100) Par défaut : 20. De 1 à 100.
cursortexteCurseur renvoyé par la page précédente (`next_cursor`)

Réponse 200

ChampTypeDescription
dataliste de objet
data[].idtexteIdentifiant de l’événement. Exemple : "evt-9c1d2e".
data[].occurred_attexteDate de création.
data[].typetexteType d’événement. Exemple : "firewall.rule_created".
data[].descriptiontexteLibellé, dans la langue demandée. Exemple : "Règle ajoutée : Web (80, 443)".
data[].actortexteOrigine : vous (espace client), api ou la plateforme. Valeurs : you, api, platform.
data[].resulttexteRésultat. Valeurs : succeeded, failed, running, sent.
has_morebooléen
next_cursortexte ou null

Erreurs

curl "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/events" \
  -H "Authorization: Bearer $CORCELINK_API_KEY"

Réponse 200

{
  "data": [
    {
      "id": "evt-f1cd7da4dc",
      "occurred_at": "2026-10-27T17:03:37Z",
      "type": "vps.stop",
      "description": "Arrêt forcé",
      "actor": "api",
      "result": "sent"
    },
    {
      "id": "evt-5aeaa59752",
      "occurred_at": "2026-10-27T17:03:37Z",
      "type": "vps.reboot",
      "description": "Redémarrage",
      "actor": "api",
      "result": "sent"
    }
  ],
  "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.

Réinstaller un VPS

POST/v1/compute/vps/{vps_id}/reinstall

Permission : vps:write

Installe un système neuf. Toutes les données du disque sont effacées. L’adresse IP, les règles de pare-feu, le reverse DNS et les réseaux privés sont conservés. Le nouveau mot de passe root est transmis par un lien à usage unique dans le résultat de l’opération.

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

En-têtes

ChampTypeDescription
Idempotency-KeytexteClé unique (UUID conseillé) : une requête répétée avec la même clé renvoie la même réponse, sans refaire l’opération. 255 caractères au plus.

Corps de la requête

ChampTypeDescription
image_idobligatoiretexteExemple : "debian-13".
ssh_keysliste de texte
confirmobligatoirebooléenDoit valoir true : confirme l’effacement des données.

Réponse 202

ChampTypeDescription
idtexteIdentifiant de l’opération. Exemple : "op-01JB7X5R1M".
typetexteNature de l’opération (vps.reboot…). Exemple : "vps.reinstall".
statustexteÉtat. Valeurs : pending, running, succeeded, failed.
resourceobjetRessource concernée.
resource.typetexteValeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other, backup.
resource.idtexteExemple : "vps-7c2e4a91".
created_attexteDate de création.
started_attexte ou nullDate de création.
completed_attexte ou nullDate de création.
errorobjet ou nullErreur au format RFC 9457.
error.typetexteAdresse de la page de documentation de l’erreur. Exemple : "https://docs.corcelink.fr/api/erreurs/#vps_not_found".
error.titletexteRésumé de l’erreur, dans la langue demandée. Exemple : "VPS introuvable".
error.statusentierCode HTTP. Exemple : 404.
error.codetexteCode stable, à utiliser dans vos programmes. Exemple : "vps_not_found".
error.detailtexteExplication et correction possible. Exemple : "Aucun VPS vps-7c2e4a91 sur ce compte.".
error.request_idtexteIdentifiant de la requête, à citer au support. Exemple : "req-01JB7X4M2Q9KZ3".
error.errorsliste de objetErreurs de validation, champ par champ.
error.errors[].fieldtexteExemple : "rules[0].ports".
error.errors[].codetexteExemple : "invalid_port".
error.errors[].messagetexteExemple : "Port invalide : utilisez 443, 80,443 ou 8000:8100.".
resultobjetRésultat propre à certaines opérations ; absent sinon.
result.password_urltexteLien à usage unique vers le nouveau mot de passe root (réinstallation).
result.password_expires_attexteDate de création.

Erreurs

curl -X POST "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/reinstall" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"image_id": "debian-13", "confirm": true}'

Réponse 202

{
  "id": "op-01M5Z52H1H7DF75Q",
  "type": "vps.reinstall",
  "status": "running",
  "resource": {
    "type": "vps",
    "id": "vps-7c2e4a91"
  },
  "created_at": "2026-10-27T17:03:37Z",
  "started_at": "2026-10-27T17:03:37Z",
  "completed_at": null,
  "error": null,
  "result": {
    "password_url": "https://secret.corcelink.fr/s/7Hq2mZ",
    "password_expires_at": "2026-10-28T17:03:37Z"
  }
}

Générer un nouveau mot de passe root

POST/v1/compute/vps/{vps_id}/reset-root-password

Permission : vps:write

Le serveur redémarre pour appliquer le mot de passe, transmis par un lien à usage unique.

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

En-têtes

ChampTypeDescription
Idempotency-KeytexteClé unique (UUID conseillé) : une requête répétée avec la même clé renvoie la même réponse, sans refaire l’opération. 255 caractères au plus.

Réponse 202

ChampTypeDescription
operationobjet
operation.idtexteIdentifiant de l’opération. Exemple : "op-01JB7X5R1M".
operation.typetexteNature de l’opération (vps.reboot…). Exemple : "vps.reinstall".
operation.statustexteÉtat. Valeurs : pending, running, succeeded, failed.
operation.resourceobjetRessource concernée.
operation.resource.typetexteValeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other, backup.
operation.resource.idtexteExemple : "vps-7c2e4a91".
operation.created_attexteDate de création.
operation.started_attexte ou nullDate de création.
operation.completed_attexte ou nullDate de création.
operation.errorobjet ou nullErreur au format RFC 9457.
operation.error.typetexteAdresse de la page de documentation de l’erreur. Exemple : "https://docs.corcelink.fr/api/erreurs/#vps_not_found".
operation.error.titletexteRésumé de l’erreur, dans la langue demandée. Exemple : "VPS introuvable".
operation.error.statusentierCode HTTP. Exemple : 404.
operation.error.codetexteCode stable, à utiliser dans vos programmes. Exemple : "vps_not_found".
operation.error.detailtexteExplication et correction possible. Exemple : "Aucun VPS vps-7c2e4a91 sur ce compte.".
operation.error.request_idtexteIdentifiant de la requête, à citer au support. Exemple : "req-01JB7X4M2Q9KZ3".
operation.error.errorsliste de objetErreurs de validation, champ par champ.
operation.resultobjetRésultat propre à certaines opérations ; absent sinon.
operation.result.password_urltexteLien à usage unique vers le nouveau mot de passe root (réinstallation).
operation.result.password_expires_attexteDate de création.
password_urltexteLien à usage unique vers le nouveau mot de passe.
expires_attexteDate de création.

Erreurs

curl -X POST "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/reset-root-password" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

Réponse 202

{
  "operation": {
    "id": "op-01M5Z52H1QSPKJ7V",
    "type": "vps.root_password_reset",
    "status": "running",
    "resource": {
      "type": "vps",
      "id": "vps-7c2e4a91"
    },
    "created_at": "2026-10-27T17:03:37Z",
    "started_at": "2026-10-27T17:03:37Z",
    "completed_at": null,
    "error": null
  },
  "password_url": "https://secret.corcelink.fr/s/7Hq2mZ",
  "expires_at": "2026-10-28T17:03:37Z"
}

Lire les clés SSH

GET/v1/compute/vps/{vps_id}/ssh-keys

Permission : vps:read

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

Réponse 200

ChampTypeDescription
keysliste de texte

Erreurs

curl "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/ssh-keys" \
  -H "Authorization: Bearer $CORCELINK_API_KEY"

Réponse 200

{
  "keys": [
    "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIQTyDmIFaLeIwZCdDPPmMFpgx2xZMu4kETFCE8Np0tA camille@studio-laurent"
  ]
}
Essayer avec votre clé

Votre clé reste dans ce navigateur et n’est envoyée qu’à api.corcelink.fr.

Remplacer les clés SSH

PUT/v1/compute/vps/{vps_id}/ssh-keys

Permission : vps:write

Les clés sont installées à la prochaine réinstallation.

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

En-têtes

ChampTypeDescription
If-Matchtexte`ETag` reçu à la lecture : la modification est refusée (412) si la ressource a changé entre-temps.

Corps de la requête

ChampTypeDescription
keysobligatoireliste de texte

Réponse 200

ChampTypeDescription
keysliste de texte

Erreurs

curl -X PUT "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/ssh-keys" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"keys": ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK3m camille@studio-laurent"]}'

Réponse 200

{
  "keys": [
    "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIQTyDmIFaLeIwZCdDPPmMFpgx2xZMu4kETFCE8Np0tA camille@studio-laurent"
  ]
}

Ouvrir la console

POST/v1/compute/vps/{vps_id}/console

Permission : vps:write

Renvoie une adresse à usage unique, valable une minute, vers la console du serveur.

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

Réponse 201

ChampTypeDescription
urltexteLien de la console, à ouvrir dans un navigateur : il ne sert qu’une fois.
expires_attexteExpiration du lien (une minute après sa création).

Erreurs

curl -X POST "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/console" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

Réponse 201

{
  "url": "https://kvm.corcelink.fr/s/a0e0gF6YyvihXba253YrB1rtWDBpjWvJRZUPrnoG",
  "expires_at": "2026-10-27T17:04:40Z"
}

Démarrer sur une image ISO

POST/v1/compute/vps/{vps_id}/iso/boot

Permission : vps:write

Le serveur est arrêté, puis redémarré sur l’image.

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

En-têtes

ChampTypeDescription
Idempotency-KeytexteClé unique (UUID conseillé) : une requête répétée avec la même clé renvoie la même réponse, sans refaire l’opération. 255 caractères au plus.

Corps de la requête

ChampTypeDescription
image_idobligatoiretexteExemple : "debian-13-netinst".
wipe_diskbooléenPar défaut : false.

Réponse 202

ChampTypeDescription
idtexteIdentifiant de l’opération. Exemple : "op-01JB7X5R1M".
typetexteNature de l’opération (vps.reboot…). Exemple : "vps.reinstall".
statustexteÉtat. Valeurs : pending, running, succeeded, failed.
resourceobjetRessource concernée.
resource.typetexteValeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other, backup.
resource.idtexteExemple : "vps-7c2e4a91".
created_attexteDate de création.
started_attexte ou nullDate de création.
completed_attexte ou nullDate de création.
errorobjet ou nullErreur au format RFC 9457.
error.typetexteAdresse de la page de documentation de l’erreur. Exemple : "https://docs.corcelink.fr/api/erreurs/#vps_not_found".
error.titletexteRésumé de l’erreur, dans la langue demandée. Exemple : "VPS introuvable".
error.statusentierCode HTTP. Exemple : 404.
error.codetexteCode stable, à utiliser dans vos programmes. Exemple : "vps_not_found".
error.detailtexteExplication et correction possible. Exemple : "Aucun VPS vps-7c2e4a91 sur ce compte.".
error.request_idtexteIdentifiant de la requête, à citer au support. Exemple : "req-01JB7X4M2Q9KZ3".
error.errorsliste de objetErreurs de validation, champ par champ.
error.errors[].fieldtexteExemple : "rules[0].ports".
error.errors[].codetexteExemple : "invalid_port".
error.errors[].messagetexteExemple : "Port invalide : utilisez 443, 80,443 ou 8000:8100.".
resultobjetRésultat propre à certaines opérations ; absent sinon.
result.password_urltexteLien à usage unique vers le nouveau mot de passe root (réinstallation).
result.password_expires_attexteDate de création.

Erreurs

curl -X POST "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/iso/boot" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"image_id": "debian-13-netinst"}'

Réponse 202

{
  "id": "op-01M5Z52H1W0JM4S3",
  "type": "vps.iso_boot",
  "status": "running",
  "resource": {
    "type": "vps",
    "id": "vps-7c2e4a91"
  },
  "created_at": "2026-10-27T17:03:37Z",
  "started_at": "2026-10-27T17:03:37Z",
  "completed_at": null,
  "error": null
}

Éjecter l’image ISO

POST/v1/compute/vps/{vps_id}/iso/eject

Permission : vps:write

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

En-têtes

ChampTypeDescription
Idempotency-KeytexteClé unique (UUID conseillé) : une requête répétée avec la même clé renvoie la même réponse, sans refaire l’opération. 255 caractères au plus.

Réponse 202

ChampTypeDescription
idtexteIdentifiant de l’opération. Exemple : "op-01JB7X5R1M".
typetexteNature de l’opération (vps.reboot…). Exemple : "vps.reinstall".
statustexteÉtat. Valeurs : pending, running, succeeded, failed.
resourceobjetRessource concernée.
resource.typetexteValeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other, backup.
resource.idtexteExemple : "vps-7c2e4a91".
created_attexteDate de création.
started_attexte ou nullDate de création.
completed_attexte ou nullDate de création.
errorobjet ou nullErreur au format RFC 9457.
error.typetexteAdresse de la page de documentation de l’erreur. Exemple : "https://docs.corcelink.fr/api/erreurs/#vps_not_found".
error.titletexteRésumé de l’erreur, dans la langue demandée. Exemple : "VPS introuvable".
error.statusentierCode HTTP. Exemple : 404.
error.codetexteCode stable, à utiliser dans vos programmes. Exemple : "vps_not_found".
error.detailtexteExplication et correction possible. Exemple : "Aucun VPS vps-7c2e4a91 sur ce compte.".
error.request_idtexteIdentifiant de la requête, à citer au support. Exemple : "req-01JB7X4M2Q9KZ3".
error.errorsliste de objetErreurs de validation, champ par champ.
error.errors[].fieldtexteExemple : "rules[0].ports".
error.errors[].codetexteExemple : "invalid_port".
error.errors[].messagetexteExemple : "Port invalide : utilisez 443, 80,443 ou 8000:8100.".
resultobjetRésultat propre à certaines opérations ; absent sinon.
result.password_urltexteLien à usage unique vers le nouveau mot de passe root (réinstallation).
result.password_expires_attexteDate de création.

Erreurs

curl -X POST "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/iso/eject" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

Réponse 202

{
  "id": "op-01M5Z52H1Y8XMS8S",
  "type": "vps.iso_eject",
  "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
}