Docs/Erreurs

Erreurs

L'API Apertur utilise les codes de statut HTTP standards. Toutes les réponses d'erreur incluent un corps JSON avec les détails.

Format des erreurs

Chaque réponse d'erreur suit cette structure :

{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "delivery_mode is required"
}
ChampTypeDescription
statusCodeintegerLe code de statut HTTP
errorstringNom court de l'erreur (par exemple, "Bad Request")
messagestringDescription lisible de l'erreur

Codes de statut HTTP

400Bad Request

Le corps ou les paramètres de la requête sont invalides.

Causes courantes

  • Champ requis manquant (par exemple, delivery_mode)
  • Valeur ou type de champ invalide
  • webhook_url manquant lorsque delivery_mode est webhook
401Unauthorized

L'authentification a échoué. La clé API est manquante ou invalide.

Causes courantes

  • En-tête Authorization absent
  • Jeton Bearer malformé
  • La clé API n'existe pas ou a été supprimée
403Forbidden

La clé API est valide mais n'a pas la permission pour cette action.

Causes courantes

  • La session appartient à un autre projet
  • Compte suspendu
  • Le plan ne permet pas cette fonctionnalité
404Not Found

La ressource demandée n'existe pas.

Causes courantes

  • Identifiant de session introuvable
  • Identifiant d'image introuvable
  • Chemin de route invalide
409Conflict

La requête entre en conflit avec l'état actuel de la ressource.

Causes courantes

  • La session est déjà terminée — impossible d'envoyer d'autres images
  • L'image a déjà été acquittée
410Gone

La ressource existait mais n'est plus disponible.

Causes courantes

  • La session a expiré
  • Toutes les images ont été acquittées (long polling terminé)
429Too Many Requests

La limite de débit pour cette clé API a été dépassée.

Causes courantes

  • Limite de requêtes par minute dépassée
  • Quota mensuel de sessions dépassé pour votre plan
500Internal Server Error

Une erreur inattendue s'est produite sur nos serveurs.

Causes courantes

  • Problème d'infrastructure transitoire — réessayez avec un délai exponentiel
  • Si le problème persiste, consultez notre page de statut

Gestion des erreurs dans le code

# Show both headers and body to inspect error responses
curl -v -X POST https://api.apertur.ca/v1/sessions \
  -H "Authorization: Bearer aptr_xxxx" \
  -H "Content-Type: application/json" \
  -w "\nHTTP Status: %{http_code}\n" \
  -d '{"delivery_mode": "webhook", "webhook_url": "https://your-app.com/webhook"}'

# Example error response (400):
# {"statusCode":400,"error":"Bad Request","message":"delivery_mode is required"}