API REST

Référence complète de l'API REST. Tous les endpoints, leurs paramètres, les codes d'erreur, et les webhooks.

API REST versionnée, JSON over HTTPS. Tous les endpoints requièrent un Bearer token. Base URL : https://api.di2amp.com/v1.

Authentification

Bearer token dans l'en-tête Authorization. Génération de token dans le dashboard, onglet « API tokens ». Scopes RBAC pour limiter les permissions.

$ curl -H "Authorization: Bearer $PAAS_TOKEN" \
  https://api.di2amp.com/v1/apps

Erreurs

Codes HTTP standard. Corps JSON au format problème détaillé.

CodeSignificationAction
400Requête mal forméeVérifier le JSON envoyé
401Token invalide ou expiréRégénérer le token
403Permission insuffisanteVérifier les scopes du token
404Ressource introuvableVérifier l'ID
429Rate limit dépasséVoir l'en-tête Retry-After
500-599Erreur côté serveurRéessayer avec backoff

Pagination

Cursor-based. Paramètres limit (max 100) et cursor.

GET /v1/apps?limit=20&cursor=eyJpZCI6MTAwfQ

Rate limiting

1000 requêtes par minute par token. En-têtes de réponse :

  • X-RateLimit-Limit : limite par minute
  • X-RateLimit-Remaining : requêtes restantes
  • X-RateLimit-Reset : timestamp Unix de reset
  • Retry-After (sur 429) : secondes à attendre

Endpoints principaux

Apps

GET/v1/apps
POST/v1/apps
GET/v1/apps/{id}
PATCH/v1/apps/{id}
DELETE/v1/apps/{id}

Releases et déploiements

GET/v1/apps/{id}/releases
GET/v1/apps/{id}/releases/{rid}
POST/v1/apps/{id}/releases/{rid}/rollback

Configuration

GET/v1/apps/{id}/config
PATCH/v1/apps/{id}/config

Addons

GET/v1/apps/{id}/addons
POST/v1/apps/{id}/addons
DELETE/v1/apps/{id}/addons/{aid}

Logs et métriques

GET/v1/apps/{id}/logs
GET/v1/apps/{id}/logs/stream (SSE)
GET/v1/apps/{id}/metrics?range=1h

Domaines

GET/v1/apps/{id}/domains
POST/v1/apps/{id}/domains
DELETE/v1/apps/{id}/domains/{did}

Agents IA

GET/v1/tenant/agents
POST/v1/tenant/agents
GET/v1/apps/{id}/agents/{name}/insights

Facturation

GET/v1/tenant/usage
GET/v1/tenant/invoices
GET/v1/tenant/invoices/{id}/pdf

Webhooks

Vous configurez un endpoint HTTPS, on vous envoie les events JSON signés HMAC-SHA256 avec l'en-tête X-Paas-Signature.

Events disponibles : release.created, release.deployed, release.failed, app.created, app.deleted, addon.created, incident.opened, incident.resolved.

Spec OpenAPI

Spec OpenAPI 3.1 complète disponible sur api.di2amp.com/openapi.json. Téléchargeable, importable dans Postman, utilisable pour générer un client dans n'importe quel langage.