For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale
Theme

Codes d’erreur

Découvrez les codes d’erreur de l’API et les solutions associées.

Ce guide présente les codes d’erreur que vous pouvez rencontrer avec l’API et notre bibliothèque Python officielle. Une section consacrée à chaque code fournit des indications supplémentaires.

Erreurs de l’API

Code Description
400 - Argument service_tier non valide Cause : Le projet n’autorise pas l’offre demandée ou déterminée par l’API.
Solution : Définissez service_tier sur une offre autorisée pour le projet ou modifiez les offres autorisées dans les paramètres du projet.
401 - Échec de l’authentification Cause : Les informations d’authentification ne sont pas valides.
Solution : Vérifiez que vous utilisez la bonne clé API et que vous envoyez la requête au nom de la bonne organisation.
401 - Clé API fournie incorrecte Cause : La clé API utilisée pour la requête est incorrecte.
Solution : Vérifiez que la clé API est correcte, videz le cache de votre navigateur ou générez une nouvelle clé.
401 - Vous devez être membre d’une organisation pour utiliser l’API Cause : Votre compte n’est rattaché à aucune organisation.
Solution : Contactez-nous pour rejoindre une nouvelle organisation ou demandez au responsable de votre organisation de vous inviter à la rejoindre.
401 - Adresse IP non autorisée Cause : L’adresse IP d’origine de votre requête ne figure pas dans la liste des adresses IP autorisées pour votre projet ou votre organisation.
Solution : Envoyez la requête depuis une adresse IP autorisée ou modifiez les paramètres de la liste des adresses IP autorisées.
403 - Pays, région ou territoire non pris en charge Cause : Vous accédez à l’API depuis un pays, une région ou un territoire non pris en charge.
Solution : Consultez la liste des pays et territoires pris en charge pour en savoir plus.
429 - Solde de crédits épuisé Code : credit_balance_exhausted
Cause : Votre organisation a épuisé ses crédits prépayés.
Solution : Ajoutez des crédits pour continuer à utiliser l’API.
429 - Limite de débit des requêtes atteinte Cause : Vous envoyez des requêtes trop fréquemment.
Solution : Espacez vos requêtes et respectez le délai indiqué par l’en-tête Retry-After lorsqu’il est présent. Consultez le guide des limites de débit.
429 - Réduisez le débit Type : rate_limit_error
Code : slow_down
Cause : Le débit de vos requêtes a augmenté trop rapidement.
Solution : Respectez le délai indiqué par l’en-tête Retry-After lorsqu’il est présent, réduisez le débit de vos requêtes, puis augmentez-le progressivement.
429 - Plafond de dépenses de l’organisation atteint Code : organization_spend_limit_exceeded
Cause : Votre organisation a atteint le plafond de dépenses qui lui est appliqué.
Solution : Augmentez ou supprimez le plafond de dépenses de l’organisation.
429 - Plafond de dépenses du projet atteint Code : project_spend_limit_exceeded
Cause : Votre projet a atteint le plafond de dépenses qui lui est appliqué.
Solution : Augmentez ou supprimez le plafond de dépenses dans les paramètres du projet.
429 - Limite d’utilisation de l’organisation atteinte Code : organization_usage_limit_exceeded
Cause : Votre organisation a atteint la limite d’utilisation fixée par OpenAI.
Solution : Demandez le relèvement de votre limite d’utilisation approuvée ou contactez l’assistance.
500 - Erreur du serveur lors du traitement de votre requête Cause : Un problème est survenu sur nos serveurs.
Solution : Patientez un instant avant de renvoyer votre requête et contactez-nous si le problème persiste. Consultez la page d’état des services.
503 - Modèle temporairement surchargé Type : service_unavailable_error
Code : server_is_overloaded
Cause : Le modèle demandé est temporairement surchargé.
Solution : Respectez le délai indiqué par l’en-tête Retry-After lorsqu’il est présent, puis renvoyez votre requête.

Pour les erreurs de facturation, examinez error.code afin d’en déterminer la cause précise. Le champ plus général error.type peut toujours avoir la valeur insufficient_quota.

En cas d’erreur de facturation, de plafond de dépenses ou de quota, renvoyer la requête ne rétablit pas l’accès à l’API. Ajustez les crédits ou les limites concernés avant d’envoyer une nouvelle requête.

Erreurs du mode WebSocket

Si vous utilisez le mode WebSocket de l’API Responses, vous pouvez également rencontrer les erreurs suivantes :

  • previous_response_not_found : l’état disponible ne permet pas de retrouver la réponse correspondant à previous_response_id. Renvoyez la requête avec l’intégralité du contexte d’entrée et définissez previous_response_id sur null.
  • websocket_connection_limit_reached : la connexion a atteint sa durée maximale de 60 minutes. Ouvrez une nouvelle connexion WebSocket pour continuer.

Types d’erreurs de la bibliothèque Python

La bibliothèque Python lève l’exception RateLimitError pour les réponses 429 et l’exception InternalServerError pour les réponses 503. Si votre gestionnaire d’erreurs n’interceptait qu’une de ces classes pour les restrictions de débit et les surcharges, traitez désormais les deux et examinez error.code. Par exemple, en cas de surcharge, le service vidéo renvoie désormais 503 au lieu de 429. Consultez les instructions de migration pour connaître les changements propres à chaque point de terminaison.

Type Description
APIConnectionError Cause : Un problème empêche la connexion à nos services.
Solution : Vérifiez vos paramètres réseau, la configuration de votre proxy, vos certificats SSL ou les règles de votre pare-feu.
APITimeoutError Cause : Le délai d’attente de la requête a expiré.
Solution : Patientez un instant avant de renvoyer votre requête et contactez-nous si le problème persiste.
AuthenticationError Cause : Votre clé API ou votre jeton d’authentification est non valide, a expiré ou a été révoqué.
Solution : Vérifiez que votre clé API ou votre jeton est correct et actif. Au besoin, générez une nouvelle clé ou un nouveau jeton depuis le tableau de bord de votre compte.
BadRequestError Cause : Votre requête est mal formée ou il manque des paramètres obligatoires, comme un jeton ou une donnée d’entrée.
Solution : Le message d’erreur devrait préciser la nature du problème. Consultez la documentation de la méthode d’API appelée et vérifiez que vous envoyez tous les paramètres nécessaires et que leurs valeurs sont valides. Au besoin, vérifiez également l’encodage, le format ou la taille des données de votre requête.
ConflictError Cause : Une autre requête a modifié la ressource.
Solution : Réessayez de mettre à jour la ressource et vérifiez qu’aucune autre requête ne tente de la modifier.
InternalServerError Cause : Un problème est survenu de notre côté.
Solution : Patientez un instant avant de renvoyer votre requête et contactez-nous si le problème persiste.
NotFoundError Cause : La ressource demandée n’existe pas.
Solution : Vérifiez que vous utilisez le bon identifiant de ressource.
PermissionDeniedError Cause : Vous n’avez pas accès à la ressource demandée.
Solution : Vérifiez que vous utilisez la bonne clé API, le bon identifiant d’organisation et le bon identifiant de ressource.
RateLimitError Cause : Vous avez atteint la limite de débit qui vous est attribuée ou augmenté votre trafic trop rapidement.
Solution : Espacez vos requêtes et respectez le délai indiqué par Retry-After lorsqu’il est présent, dans les limites prévues pour vos nouvelles tentatives. Pour en savoir plus, consultez notre guide des limites de débit.
UnprocessableEntityError Cause : La requête ne peut pas être traitée malgré un format correct.
Solution : Renvoyez la requête.

Erreurs persistantes

Si le problème persiste, contactez notre équipe d’assistance par chat et communiquez-lui les informations suivantes :

  • Le modèle utilisé
  • Le message et le code d’erreur reçus
  • Les données et les en-têtes envoyés dans la requête
  • L’horodatage de la requête et le fuseau horaire correspondant
  • Tout autre détail susceptible de nous aider à diagnostiquer le problème

Notre équipe d’assistance examinera le problème et vous répondra dès que possible. Les délais de réponse peuvent être longs en période de forte demande. Vous pouvez aussi publier un message sur notre forum communautaire, en veillant à ne divulguer aucune information sensible.

Gestion des erreurs

Nous vous recommandons de traiter dans votre code les erreurs renvoyées par l’API. Vous pouvez vous inspirer de l’exemple suivant :

import OpenAI from "openai";

const client = new OpenAI();

try {
  const response = await client.responses.create({
    model: "gpt-6-astra",
    input: "Hello world",
  });
  console.log(response.output_text);
} catch (error) {
  if (error instanceof OpenAI.APIConnectionError) {
    console.error("Failed to connect to the OpenAI API:", error.message);
  } else if (error instanceof OpenAI.RateLimitError) {
    console.error("OpenAI API request exceeded its rate limit:", error.message);
  } else if (error instanceof OpenAI.APIError) {
    console.error("OpenAI API returned an error:", error.status, error.message);
  } else {
    throw error;
  }
}