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, reinstall, suspend, unsuspend, terminate. |
| 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_.-]). Le serveur met en cache la réponse et l'empreinte du corps pendant 24h ; une deuxième requête avec la même clé et le même corps renvoie la même réponse, une deuxième requête avec la même clé mais un corps différent est rejetée avec 409 idempotency_conflict.
Limitation de débit
Valeur par défaut : 60 requêtes/minute (avec une rafale de 20) et 5000/jour par clé, plus 600 requêtes/minute par adresse IP indépendamment de la clé. En cas de dépassement, HTTP 429 avec en-tête Retry-After. Les en-têtes de réponse X-RateLimit-Remaining et X-RateLimit-Reset exposent l'état courant.

