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

Codes d’erreur

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

Ce guide présente les codes d’erreur que vous pouvez rencontrer avec l’API et notre bibliothèque Python officielle. Chaque code d’erreur mentionné dans cette vue d’ensemble fait l’objet d’une section dédiée avec des conseils supplémentaires.

Erreurs de l’API

CodeVue d’ensemble
400 - Argument service_tier non valideCause : L’offre demandée ou déterminée automatiquement n’est pas autorisée pour le projet.
Solution : Définissez service_tier sur une offre autorisée pour le projet, ou mettez à jour les offres autorisées dans les paramètres du projet.
401 - Authentification non valideCause : Authentification non valide
Solution : Vérifiez que vous utilisez la bonne clé API et que la requête est associée à la bonne organisation.
401 - Clé API fournie incorrecteCause : La clé API utilisée pour la requête est incorrecte.
Solution : Vérifiez que la clé API utilisée 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’APICause : Votre compte ne fait partie d’aucune organisation.
Solution : Contactez-nous pour être ajouté à une nouvelle organisation ou demandez au responsable de votre organisation de vous inviter à rejoindre une organisation.
401 - Adresse IP non autoriséeCause : L’adresse IP de votre requête ne figure pas dans la liste d’adresses IP autorisées configurée pour votre projet ou votre organisation.
Solution : Envoyez la requête depuis la bonne adresse IP ou mettez à jour les paramètres de votre liste d’adresses IP autorisées.
403 - Pays, région ou territoire non pris en chargeCause : Vous accédez à l’API depuis un pays, une région ou un territoire non pris en charge.
Solution : Consultez cette page pour en savoir plus.
429 - Solde de crédits épuiséCode : credit_balance_exhausted
Cause : Votre organisation n’a plus de crédits prépayés.
Solution : Ajoutez des crédits pour continuer à utiliser l’API.
429 - Limite de débit des requêtes atteinteCause : Vous envoyez des requêtes trop rapidement.
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 - RalentissezType : 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 - Limite de dépenses de l’organisation atteinteCode : organization_spend_limit_exceeded
Cause : Votre organisation a atteint sa limite de dépenses contraignante.
Solution : Augmentez ou supprimez la limite de dépenses de votre organisation.
429 - Limite de dépenses du projet atteinteCode : project_spend_limit_exceeded
Cause : Votre projet a atteint sa limite de dépenses contraignante.
Solution : Augmentez ou supprimez la limite de dépenses dans les paramètres de votre projet.
429 - Limite d’utilisation de l’organisation atteinteCode : organization_usage_limit_exceeded
Cause : Votre organisation a atteint la limite d’utilisation qui lui a été attribuée par OpenAI.
Solution : Demandez une augmentation de votre limite d’utilisation approuvée ou contactez l’assistance.
500 - Le serveur a rencontré une erreur lors du traitement de votre requêteCause : Problème sur nos serveurs.
Solution : Patientez un court instant, puis renvoyez 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 liées à la facturation, examinez error.code afin d’en déterminer la cause précise. Le champ plus général error.type peut toujours avoir pour valeur insufficient_quota.

Renvoyer une requête après une erreur de facturation, de dépenses ou de quota ne rétablira pas l’accès à l’API. Mettez à jour 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 rencontrer les erreurs supplémentaires suivantes :

  • previous_response_not_found : Impossible de résoudre previous_response_id à partir de l’état disponible. Réessayez avec le contexte d’entrée complet et previous_response_id défini sur null.
  • websocket_connection_limit_reached : La connexion a atteint la limite de 60 minutes. Ouvrez une nouvelle connexion WebSocket et poursuivez.

Types d’erreurs de la bibliothèque Python

Python lève RateLimitError pour les réponses 429 et InternalServerError pour les réponses 503. Si votre gestionnaire n’interceptait auparavant qu’une seule de ces classes pour les cas de limitation de débit et de surcharge, gérez les deux et examinez error.code. Une surcharge du service vidéo, par exemple, renvoie désormais 503 alors qu’elle renvoyait auparavant 429. Consultez les consignes de migration pour connaître les changements propres à chaque point de terminaison.

TypeVue d’ensemble
APIConnectionErrorCause : Problème de 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.
APITimeoutErrorCause : Le délai d’attente de la requête a expiré.
Solution : Patientez un court instant, puis réessayez votre requête. Contactez-nous si le problème persiste.
AuthenticationErrorCause : Votre clé API ou votre token était invalide, avait expiré ou avait été révoqué.
Solution : Vérifiez votre clé API ou votre token et assurez-vous de sa validité et de son activation. Vous devrez peut-être en générer un nouveau depuis le tableau de bord de votre compte.
BadRequestErrorCause : Votre requête était mal formée ou il lui manquait certains paramètres obligatoires, comme un token ou une entrée.
Solution : Le message d’erreur devrait préciser l’erreur commise. Consultez la documentation de la méthode API que vous appelez et assurez-vous d’envoyer des paramètres valides et complets. Vous devrez peut-être aussi vérifier l’encodage, le format ou la taille des données de votre requête.
ConflictErrorCause : La ressource a été mise à jour par une autre requête.
Solution : Réessayez de mettre à jour la ressource et assurez-vous qu’aucune autre requête ne tente de la mettre à jour.
InternalServerErrorCause : Problème de notre côté.
Solution : Patientez un court instant, puis réessayez votre requête. Contactez-nous si le problème persiste.
NotFoundErrorCause : La ressource demandée n’existe pas.
Solution : Vérifiez que vous utilisez le bon identifiant de ressource.
PermissionDeniedErrorCause : 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.
RateLimitErrorCause : Vous avez atteint la limite de débit qui vous est attribuée ou augmenté le trafic trop rapidement.
Solution : Espacez vos requêtes et respectez l’en-tête Retry-After lorsqu’il est présent, dans les limites de votre politique de nouvelle tentative. Pour en savoir plus, consultez notre guide sur les limites de débit.
UnprocessableEntityErrorCause : Impossible de traiter la requête malgré un format correct.
Solution : Envoyez à nouveau la requête.

Erreurs persistantes

Si le problème persiste, contactez notre équipe d’assistance par discussion en ligne et fournissez-lui les informations suivantes :

  • Le modèle que vous utilisiez
  • Le message et le code d’erreur reçus
  • Les données et les en-têtes de la requête que vous avez envoyés
  • L’horodatage et le fuseau horaire de votre requête
  • Tout autre détail pertinent pouvant 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 d’attente peuvent être longs en raison du grand nombre de demandes. Vous pouvez également publier un message sur notre forum communautaire, en veillant à n’inclure aucune information sensible.

Gestion des erreurs

Nous vous conseillons de gérer dans votre code les erreurs renvoyées par l’API. Pour cela, vous pouvez utiliser un extrait de code comme celui-ci :

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;
  }
}