Aller au contenu

Erreurs & nouvelles tentatives

Les erreurs sont renvoyées en JSON avec un code error stable et lisible par machine, ainsi que le statut HTTP correspondant.

{
"error": "rate_limited",
"message": "Too many requests.",
"retry_after_ms": 850
}
HTTPerrorRéessayer ?Remarques
400invalid_requestNonUn paramètre a échoué à la validation — corrigez la requête.
401missing_api_key / unknown_api_keyNonVoir Authentification.
403inactive_api_key / account_blockedNonClé désactivée ou compte suspendu.
402insufficient_creditsNonRechargez. Le corps inclut required et balance.
429rate_limitedOui, après retry_after_msVous avez dépassé votre limite par minute.
409request_in_progressOuiUne requête idempotente identique est encore en cours.
422(conflit d’idempotence)NonUne Idempotency-Key a été réutilisée avec un corps différent.
503service_temporarily_unavailable / too_many_concurrent_requestsOui, avec backoffLimite de capacité transitoire.
504result_timeoutOuiLe fetch en amont a dépassé deadline_ms.
  • Réessayez les 429 / 503 / 504 / 409 avec un backoff exponentiel. Lorsque retry_after_ms est présent, attendez au moins ce délai avant de réessayer.
  • Ne réessayez jamais les 400 / 401 / 402 / 403 — la requête ne réussira pas tant que vous ne la modifiez pas.
  • Les SDK officiels réessaient déjà les erreurs transitoires pour vous (2 tentatives par défaut) et exposent un indicateur retryable sur l’erreur.