Tous les points de terminaison renvoient application/json. Les erreurs suivent la RFC 7807 (Problem+JSON). Chaque réponse porte un en-tête X-Request-Id pour la corrélation avec le journal d'audit côté serveur.
| Method | Path | Permission | Objet |
|---|---|---|---|
| GET | /v1/health | public | Contrôle de santé non authentifié. |
| GET | /v1/me | any | Informations de votre compte et métadonnées de la clé. |
| GET | /v1/products | read:products | Liste de tous les produits listés publiquement avec leurs prix. |
| GET | /v1/products/{id} | read:products | Détails du produit incluant les options de configuration. |
| POST | /v1/orders | write:orders | Passer une commande. Idempotency-Key obligatoire. |
| GET | /v1/orders/{id} | read:orders | Statut d'une de vos commandes. |
| GET | /v1/services | read:services | Liste de vos services (paginée). |
| GET | /v1/services/{id} | read:services | Détails de l'un de vos services. |
| GET | /v1/services/{id}/credentials | read:credentials | Identifiants du service (permission distincte, journalisé en audit). |
| POST | /v1/services/{id}/actions | write:services | Action de service : start, stop, reboot, cancel (en fin de période de facturation), cancel_revoke. |
| GET | /v1/billing/balance | read:billing | Solde de crédit. |
| GET | /v1/billing/invoices | read:billing | Liste de vos factures (paginée). |
| GET | /v1/billing/invoices/{id}/pdf | read:billing | PDF de la facture. |
| GET | /v1/webhooks | read:webhooks | URL de webhook actuelle. |
| PUT | /v1/webhooks | write:webhooks | Définir ou retirer l'URL du webhook. |
Idempotence
POST /v1/orders et POST /v1/services/{id}/actions exigent un en-tête Idempotency-Key (1 à 80 caractères pris dans [A-Za-z0-9_.-]). La clé d'idempotence est liée à la méthode, au chemin et au corps. Si vous répétez la même requête avec la même clé dans un délai d'une heure, vous recevez la réponse mémorisée ; passé ce délai, vous obtenez un 410 avec reason replay_stale et devez envoyer une nouvelle clé. La même clé utilisée avec un autre corps ou sur un autre point de terminaison est rejetée avec un 409 idempotency_conflict.
Limitation de débit
Limites par défaut : 60 requêtes par minute (plus une rafale de 20) et 5 000 par jour pour chaque clé, 120 par minute pour chaque compte (toutes clés confondues) et 600 par minute pour chaque adresse IP source. En cas de dépassement, vous recevez une réponse HTTP 429 avec un en-tête Retry-After. Les en-têtes de réponse X-RateLimit-Remaining et X-RateLimit-Reset indiquent l'état actuel de la limite par clé.

