Passer au contenu principal
Les erreurs utilisent l’enveloppe du point de terminaison que vous appelez. /v1/responses et /v1/chat/completions renvoient des erreurs au format OpenAI. /v1/messages renvoie des erreurs au format Anthropic. /v1/interactions renvoie des erreurs au format Google. Les erreurs FlexInference et les erreurs des fournisseurs en amont suivent la même règle, de sorte que chaque point de terminaison a une seule forme d’erreur. Vous rencontrez des erreurs 5xx ou des délais d’attente ? Vérifiez d’abord status.flexinference.com. Il affiche la disponibilité en direct de l’API, du site web, de la documentation et du serveur MCP, ainsi que tout incident en cours. Sur /v1/responses et /v1/chat/completions, les erreurs utilisent l’enveloppe OpenAI :
La même erreur sur /v1/messages utilise le format d’Anthropic. Sur /v1/interactions, elle utilise le format de Google :
Le statut HTTP et le message restent les mêmes sur toutes les surfaces ; seul l’encapsuleur change. L’enveloppe OpenAI contient tous les détails. Le type utilise les catégories OpenAI (invalid_request_error, authentication_error, rate_limit_error) ainsi que flexinference_error pour les erreurs internes et billing_error lorsque l’état de facturation suspend les requêtes facturables. Le code est la raison lisible par machine. Le param nomme le champ incriminé, le cas échéant. Le doc_url renvoie à la ligne de ce code ci-dessous, ou est null si inconnu. Le format Anthropic contient un type Anthropic mappé à partir du statut plus le message. Le format Google contient le code numérique, le message et un status canonique. Les code et doc_url spécifiques à FlexInference n’apparaissent que sur l’enveloppe OpenAI.

Codes FlexInference

Ces codes proviennent de FlexInference. Basez-vous sur error.code ; error.message est rédigé pour les développeurs et inclut la solution si elle existe. Plusieurs erreurs impliquent start_within. Pour les valeurs de durée sur les modèles compatibles flex, FlexInference essaie d’abord le niveau flex moins cher. Si flex ne peut pas démarrer dans cette fenêtre, FlexInference envoie la même requête au niveau standard. Le standard est le chemin de secours, pas la première tentative.
Le tableau provider fixe votre route. google, openai et anthropic sont des routes directes ; vertex et bedrock sont des routes cloud qui servent gemini-* et claude-* sur Google Vertex AI et Amazon Bedrock respectivement. Une route cloud dont la clé n’est pas configurée renvoie no_vertex_key ou no_bedrock_key, le même modèle de clé manquante que no_gemini_key et no_anthropic_key ci-dessus. upstream_auth_failed couvre tout identifiant de fournisseur attaché que l’amont rejette, y compris les routes cloud. Voir provider routing.

En-têtes de résultat Flex

Les réponses 200 réussies incluent les en-têtes de résultat Flex sur chaque point de terminaison, pour les appels en streaming et non-streaming. Les réponses d’erreur utilisent le corps de l’erreur à la place. Valeurs x-flexinference-flex-reason en direct :
Une durée qui ne peut pas exécuter une course flex renvoie 400 (flex_unsupported_for_anthropic sur un modèle claude-*, flex_model_not_capable sur un modèle OpenAI/Gemini non compatible flex) ; les raisons d’en-tête décrivent uniquement les requêtes qui ont exécuté flex ou ne l’ont pas demandé.

Erreurs des fournisseurs

Les erreurs des fournisseurs en amont utilisent la même enveloppe de surface que les erreurs FlexInference. FlexInference conserve le statut et le message du fournisseur, puis les émet dans l’enveloppe du point de terminaison que vous avez appelé. Un 400 du fournisseur pour un mauvais paramètre, un 401 pour une clé de fournisseur invalide, ou une limite de débit 429 sur la tentative standard revient sous cette forme. Vous ne recevez pas le corps brut du fournisseur. Par exemple, si vous appelez /v1/messages et qu’une erreur de modèle OpenAI revient au format Anthropic. Les code et doc_url spécifiques à FlexInference n’apparaissent que sur l’enveloppe OpenAI ; les erreurs des fournisseurs contiennent le message du fournisseur avec le type ou le status de la surface.
Sur la surface OpenAI, basez-vous sur error.code pour la gestion spécifique à FlexInference, comme inviter l’utilisateur à ajouter une clé BYOK sur no_byok_key. Traitez les codes inconnus comme des erreurs OpenAI ordinaires.

Gestion des erreurs dans le code

Les SDK OpenAI lèvent une exception en cas de réponses non-2xx et attachent le corps analysé.