Developer guide
Codes d’erreur
Mesures à prendre et règles de nouvelle tentative par code d’état
Cette page répertorie les codes d’état renvoyés par la passerelle, leur signification et les mesures à prendre pour chaque code.
Si l’amont renvoie un code 4xx ou 5xx, ce code est transmis tel quel. Dans les autres cas, le tableau ci-dessous s’applique.
Nous indiquons également le format du corps des erreurs pour les deux normes compatibles, les règles de error.type compatible avec Anthropic, ainsi que l’écran de la console permettant de vérifier les limites et l’utilisation.
Code d’état
| Code | Signification | Mesure à prendre |
|---|---|---|
| 400 | Erreur dans les valeurs de la requête. La limite de la liste des modèles compatibles avec Anthropic est en dehors de 1 à 1000, ou une tentative a été faite de reprendre une réponse enregistrée avec GET /responses/{responseId}?stream=true | Corrigez la valeur pour qu’elle soit dans la plage permise. Consultez les réponses enregistrées sans stream. |
| 401 | Clé absente, expirée ou révoquée | Vérifiez l’état de la clé dans l’écran des clés API, puis vérifiez le nom de l’en-tête et le préfixe Bearer. |
| 403 | Aucun droit d’accès au modèle, limite d’utilisation dépassée, crédits insuffisants ou absence de droits du propriétaire de la voix | error.message précise la raison. Consultez les valeurs dans l’écran de la section ci-dessous consacrée à la vérification des limites et de l’utilisation. |
| 404 | Modèle inexistant ou inaccessible avec cette clé (y compris les modèles dont le support a pris fin), chemin inexistant ou résultat CleviDrive dont la période de conservation de 3 jours est écoulée | Vérifiez d’abord la liste des modèles accessibles avec GET /models. Comparez le chemin avec le tableau de la page Effectuer un appel API. |
| 408 · 409 · 413 | Délai d’attente dépassé en amont, congestion ou taille de requête dépassée. Pour les chemins audio et voix, le délai maximal est de 5 minutes et la taille maximale de la requête est de 28 MiB | Si 409 contient Retry-After, attendez pendant la durée indiquée. Pour 413, divisez la requête avant de l’envoyer. |
| 429 | Le fournisseur en amont a appliqué une limitation de débit | Si Retry-After est présent, respectez-le tel quel. Sinon, effectuez une nouvelle tentative avec un délai exponentiel. |
| 5xx | Erreur temporaire de la passerelle ou du système en amont (y compris 503) | Effectuez une nouvelle tentative avec un délai exponentiel. Si le problème se répète, signalez-le au moyen de l’aide et du formulaire de contact en indiquant X-Request-Id. |
Nouvelles tentatives
La passerelle ne génère pas elle-même de 429 et ne réessaie pas discrètement les réponses en amont ni ne les place en file d’attente.
Le client est responsable d’attendre et d’effectuer les nouvelles tentatives.
| Code | Délai d’attente | Ensuite |
|---|---|---|
| 409 | S’il y a un en-tête Retry-After, attendez ce délai | Renvoyez la même requête. |
| 429 | S’il y a un en-tête Retry-After, attendez ce délai; sinon, utilisez un backoff exponentiel | Renvoyez la même requête. |
| 5xx | Backoff exponentiel | Si le problème se répète, communiquez avec nous. |
| 413 | Aucun délai d’attente | Divisez la requête. |
Corps de l’erreur
La forme du corps de l’erreur varie selon la spécification. Pour les erreurs en amont, nous conservons uniquement le message, puis le transmettons après l’avoir nettoyé; les piles d’appels et les champs internes ne sont pas transmis.
Corps de la réponse compatible avec OpenAI.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}Corps de la réponse compatible avec Anthropic. error.type est déterminé par le code d’état.
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "..."
},
"request_id": "rqid..."
}| Code d’état | error.type |
|---|---|
| 400 | invalid_request_error |
| 401 | authentication_error |
| 403 | permission_error |
| 404 | not_found_error |
| 413 | request_too_large |
| 429 | rate_limit_error |
| 529 | overloaded_error |
| Autres codes | api_error |
Vérifier les limites et l’utilisation
Les limites varient selon l’espace de travail. Après avoir vérifié la raison du code 403 dans error.message, consultez les valeurs dans les écrans ci-dessous.
| Élément à vérifier | Écran de la console |
|---|---|
| Limite appliquée à mon espace de travail | Limite d’utilisation attribuée dans la vue d’ensemble |
| Plage autorisée par le forfait et solde | Forfait et crédits |
| Utilisation réelle (appels par modèle et par clé, crédits estimés déduits) | Utilisation |
| État de la clé (expiration ou révocation) | Clés API |
