Référence des erreurs
Format d'erreur normalisé et codes les plus fréquents.
Format
Toute erreur suit la même structure JSON, quel que soit l'endpoint :
json
{
"error": {
"code": "insufficient_credits",
"message": "Solde de credits insuffisant ou budget mensuel du projet depasse.",
"request_id": "9480fe92-f68e-4731-b98e-d35a5e8b9819",
"details": {}
}
}request_id identifie la requête de bout en bout à travers les services — utile à fournir si vous nous contactez pour une erreur inattendue.
Codes fréquents
| HTTP | code | Signification |
|---|---|---|
| 401 | missing_api_key | En-tête Authorization absent. |
| 401 | invalid_api_key | Clé API invalide, révoquée, ou expirée. |
| 403 | insufficient_scope | La clé n'a pas le scope requis pour cette catégorie. |
| 403 | not_a_member | Vous n'appartenez pas à cette organisation. |
| 403 | csrf_check_failed | En-tête de sécurité manquant (session cookie, hors usage clé API). |
| 404 | model_not_found | routing_strategy "manual" avec un model inconnu du catalogue. |
| 404 | no_model_available | Aucun modèle ne correspond aux critères demandés. |
| 402 | insufficient_credits | Solde de crédits insuffisant ou budget mensuel du projet dépassé. |
| 409 | conflict | État incompatible avec l'action (ex. conversation d'agent pas idle). |
| 422 | validation_error | Corps de requête invalide (champ manquant, mauvais type...). |
| 429 | rate_limit_exceeded | Trop de requêtes pour cette clé — voir Limites de débit. |
| 503 | all_providers_unavailable | Tous les fournisseurs candidats ont échoué (voir Routage & fallback). |
Dans les SDKs
Les SDKs officiels convertissent chaque tranche de statut HTTP en une classe d'erreur typée (AuthenticationError, PermissionDeniedError, NotFoundError, InsufficientCreditsError, ConflictError, ValidationError, RateLimitError, ServerError), toutes exposant .code, .status, .requestId et .details en plus du message. Voir SDK JavaScript / SDK Python.