Compte
Votre compte client et la clé utilisée pour la requête.
Lire le compte
GET
/v1/accountPermission : account:read
Réponse 200
| Champ | Type | Description |
|---|---|---|
id | texte | Identifiant client. Exemple : "CL-SL40217". |
type | texte | Type de compte. Valeurs : individual, company, association, public_administration. |
first_name | texte | Prénom. Exemple : "Camille". |
last_name | texte | Nom. Exemple : "Laurent". |
company | texte ou null | Exemple : "Studio Laurent". |
email | texte | Adresse e-mail de connexion. Exemple : "camille@studio-laurent.fr". |
language | texte | Langue de l’espace client et des e-mails. Valeurs : fr, en. |
address | objet | Adresse de facturation. |
address.line1 | texte | Exemple : "10 rue de l’Exemple". |
address.line2 | texte ou null | |
address.postal_code | texte | Exemple : "69002". |
address.city | texte | Exemple : "Lyon". |
address.country | texte | Exemple : "FR". |
credit | objet | Crédit disponible. |
credit.amount | entier | Montant en centimes. Exemple : 790. |
credit.currency | texte | Devise ISO 4217. Exemple : "EUR". |
created_at | texte | Date de création. |
Erreurs
- Et les erreurs communes :
missing_api_key,invalid_api_key,missing_scope,ip_not_allowed,rate_limited.
curl "https://api.corcelink.fr/v1/account" \
-H "Authorization: Bearer $CORCELINK_API_KEY"
import os, uuid, requests
r = requests.get(
"https://api.corcelink.fr/v1/account",
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/account", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.CORCELINK_API_KEY}` },
});
console.log(res.status, await res.json());
Réponse 200
{
"id": "CL-1",
"type": "company",
"first_name": "Camille",
"last_name": "Laurent",
"company": "Studio Laurent",
"email": "camille@studio-laurent.fr",
"language": "fr",
"address": {
"line1": "10 rue de l’Exemple",
"line2": null,
"postal_code": "69002",
"city": "Lyon",
"country": "FR"
},
"credit": {
"amount": 1250,
"currency": "EUR"
},
"created_at": "2026-08-28T00:00:00Z"
}
Essayer avec votre clé
Votre clé reste dans ce navigateur et n’est envoyée qu’à api.corcelink.fr.
Lire la clé utilisée
GET
/v1/account/api-keys/currentPermission : account:read
Permissions, expiration et restrictions de la clé qui fait la requête. Utile pour vérifier une configuration.
Réponse 200
| Champ | Type | Description |
|---|---|---|
id | texte | Identifiant de la clé. Exemple : "key-5d0e1b". |
name | texte | Nom donné à la clé. Exemple : "Supervision". |
prefix | texte | Début de la clé, pour la reconnaître. Exemple : "clk_live_8f3a". |
scopes | liste de texte | Permissions. |
ip_allowlist | liste de texte | Adresses ou réseaux autorisés ; vide pour toutes. |
expires_at | texte ou null | Date de création. |
created_at | texte | Date de création. |
last_used_at | texte ou null | Date de création. |
Erreurs
- Et les erreurs communes :
missing_api_key,invalid_api_key,missing_scope,ip_not_allowed,rate_limited.
curl "https://api.corcelink.fr/v1/account/api-keys/current" \
-H "Authorization: Bearer $CORCELINK_API_KEY"
import os, uuid, requests
r = requests.get(
"https://api.corcelink.fr/v1/account/api-keys/current",
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/account/api-keys/current", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.CORCELINK_API_KEY}` },
});
console.log(res.status, await res.json());
Réponse 200
{
"id": "key-ff4f6b",
"name": "Supervision",
"prefix": "clk_live_iljP",
"scopes": [
"account:read",
"vps:read"
],
"ip_allowlist": [],
"expires_at": "2027-01-25T17:03:36Z",
"created_at": "2026-10-27T17:03:36Z",
"last_used_at": "2026-10-27T17:03:36Z"
}
Essayer avec votre clé
Votre clé reste dans ce navigateur et n’est envoyée qu’à api.corcelink.fr.
Lister vos services
GET
/v1/servicesPermission : account:read
Tous vos services, quelle que soit leur famille. Chaque service renvoie vers sa ressource détaillée (href).
Paramètres de requête
| Champ | Type | Description |
|---|---|---|
family | texte | Valeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other. |
status | texte | Valeurs : pending, active, suspended, cancelled. |
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 la ressource, préfixé par sa famille. Exemple : "vps-7c2e4a91". |
data[].family | texte | Valeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other. |
data[].name | texte | Exemple : "vps-7c2e4a91.vps.corce.link". |
data[].product | objet | |
data[].product.id | texte | Exemple : "vps-start". |
data[].product.name | texte | Exemple : "VPS Start". |
data[].status | texte | État commercial du service. Valeurs : pending, active, suspended, cancelled. |
data[].region | texte ou null | Exemple : "fr-lys-1". |
data[].billing | objet | |
data[].billing.billing_cycle | texte | Valeurs : monthly, quarterly, semiannually, annually, biennially, triennially, one_time. |
data[].billing.price | objet | |
data[].billing.next_due_date | texte ou null | |
data[].billing.renewal | texte | Valeurs : automatic, invoice. |
data[].href | texte ou null | Adresse de la ressource dans sa famille ; null pour un service terminé ou une famille sans routes. Exemple : "/v1/compute/vps/vps-7c2e4a91". |
data[].created_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/services" \
-H "Authorization: Bearer $CORCELINK_API_KEY"
import os, uuid, requests
r = requests.get(
"https://api.corcelink.fr/v1/services",
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/services", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.CORCELINK_API_KEY}` },
});
console.log(res.status, await res.json());
Réponse 200
{
"data": [
{
"id": "vps-7c2e4a91",
"family": "vps",
"name": "vps-7c2e4a91.vps.corce.link",
"product": {
"id": "vps-start",
"name": "VPS Start"
},
"status": "active",
"region": "fr-lys-1",
"billing": {
"billing_cycle": "monthly",
"price": {
"amount": 790,
"currency": "EUR"
},
"next_due_date": "2026-11-08",
"renewal": "invoice"
},
"href": "/v1/compute/vps/vps-7c2e4a91",
"created_at": "2026-10-08T00:00:00Z"
},
{
"id": "pn-31f2c226",
"family": "private_network",
"name": "production",
"product": {
"id": "reseau-prive",
"name": "Réseau privé"
},
"status": "active",
"region": "fr-lys-1",
"billing": {
"billing_cycle": "monthly",
"price": {
"amount": 100,
"currency": "EUR"
},
"next_due_date": "2026-11-26",
"renewal": "invoice"
},
"href": "/v1/network/private-networks/pn-31f2c226",
"created_at": "2026-10-26T00:00:00Z"
},
{
"id": "svc-3",
"family": "web_hosting",
"name": "studio-laurent.fr",
"product": {
"id": "hebergement-pro",
"name": "Hébergement Pro"
},
"status": "active",
"region": null,
"billing": {
"billing_cycle": "annually",
"price": {
"amount": 500,
"currency": "EUR"
},
"next_due_date": "2027-03-01",
"renewal": "invoice"
},
"href": null,
"created_at": "2026-03-01T00: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 service
GET
/v1/services/{service_id}Permission : account:read
Paramètres de chemin
| Champ | Type | Description |
|---|---|---|
service_idobligatoire | texte | Exemple : "vps-7c2e4a91". |
Réponse 200
| Champ | Type | Description |
|---|---|---|
id | texte | Identifiant de la ressource, préfixé par sa famille. Exemple : "vps-7c2e4a91". |
family | texte | Valeurs : vps, private_network, dedicated_server, web_hosting, email, domain, other. |
name | texte | Exemple : "vps-7c2e4a91.vps.corce.link". |
product | objet | |
product.id | texte | Exemple : "vps-start". |
product.name | texte | Exemple : "VPS Start". |
status | texte | État commercial du service. Valeurs : pending, active, suspended, cancelled. |
region | texte ou null | Exemple : "fr-lys-1". |
billing | objet | |
billing.billing_cycle | texte | Valeurs : monthly, quarterly, semiannually, annually, biennially, triennially, one_time. |
billing.price | objet | |
billing.price.amount | entier | Montant en centimes. Exemple : 790. |
billing.price.currency | texte | Devise ISO 4217. Exemple : "EUR". |
billing.next_due_date | texte ou null | |
billing.renewal | texte | Valeurs : automatic, invoice. |
href | texte ou null | Adresse de la ressource dans sa famille ; null pour un service terminé ou une famille sans routes. Exemple : "/v1/compute/vps/vps-7c2e4a91". |
created_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/services/vps-7c2e4a91" \
-H "Authorization: Bearer $CORCELINK_API_KEY"
import os, uuid, requests
r = requests.get(
"https://api.corcelink.fr/v1/services/vps-7c2e4a91",
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/services/vps-7c2e4a91", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.CORCELINK_API_KEY}` },
});
console.log(res.status, await res.json());
Réponse 200
{
"id": "pn-31f2c226",
"family": "private_network",
"name": "production",
"product": {
"id": "reseau-prive",
"name": "Réseau privé"
},
"status": "active",
"region": "fr-lys-1",
"billing": {
"billing_cycle": "monthly",
"price": {
"amount": 100,
"currency": "EUR"
},
"next_due_date": "2026-11-26",
"renewal": "invoice"
},
"href": "/v1/network/private-networks/pn-31f2c226",
"created_at": "2026-10-26T00:00:00Z"
}
Essayer avec votre clé
Votre clé reste dans ce navigateur et n’est envoyée qu’à api.corcelink.fr.