Skip to Content
aicentos
Facturation et gestion

Erreurs

Codes de statut HTTP, structure des réponses d’erreur, erreurs courantes et solutions

Dernière mise à jour:

aicentos reprend intégralement le format de réponse d’erreur d’OpenAI. Quand un SDK lève une erreur, il suffit d’intercepter l’exception correspondante.

Structure d’une réponse d’erreur

Toutes les réponses d’erreur suivent ce format :

{
  "error": {
    "message": "Votre clé API n’a pas accès à gpt-5",
    "type": "permission_denied",
    "code": "model_not_allowed",
    "param": "model"
  }
}
ChampSignification
messageDescription de l’erreur, lisible par un humain
typeCatégorie d’erreur (voir tableau ci-dessous)
codeCode d’erreur détaillé (pour la logique applicative)
paramNom du champ en erreur (le cas échéant)

Codes de statut HTTP en bref

CodeTypeCauses courantes
400invalid_request_errorcorps de requête mal formé, paramètre invalide, nom de model mal orthographié
401authentication_errorclé API absente / erronée / révoquée
402insufficient_quotasolde insuffisant
403permission_deniedclé désactivée, modèle non autorisé, IP hors liste blanche
404not_foundchemin d’endpoint erroné, ID de modèle erroné
408request_timeoutdélai d’attente amont (généralement > 60 s sans réponse)
413payload_too_largecorps de requête trop volumineux (image, fichier)
415unsupported_media_typeContent-Type incorrect
422invalid_request_errorcorps de requête analysable mais sémantiquement incorrect
429rate_limit_exceededlimite de débit déclenchée ; réduisez la fréquence puis réessayez
500server_errorerreur interne de la plateforme (rare)
502bad_gatewayservice amont en anomalie
503service_unavailableamont surchargé ; réessayez plus tard
504gateway_timeoutdélai dépassé côté amont

Erreurs courantes et solutions

401 — Invalid API key

{ "error": { "message": "Incorrect API key provided", "type": "authentication_error" } }

Liste de vérification :

  • l’en-tête Authorization respecte bien le format Bearer sk-xxx (attention à l’espace)
  • la clé copiée depuis la console n’embarque pas d’espace ni de saut de ligne
  • la clé n’est ni supprimée, ni désactivée, ni expirée
  • une clé de test n’a pas été poussée en production

402 — Insufficient quota

{ "error": { "message": "Insufficient quota", "type": "insufficient_quota" } }

Rechargez → console, « Gestion du portefeuille ». Activez l’alerte de solde pour éviter que cela se reproduise.

403 — Model not allowed

{ "error": { "message": "Model gpt-5 not allowed for this key", "code": "model_not_allowed" } }

À la création du jeton, une liste blanche « Modèles autorisés » a été cochée et le model demandé n’en fait pas partie. Modifiez les réglages du jeton ou changez de clé.

404 — Model not found

{ "error": { "message": "The model 'gpt-4-turbo-2024-04-09' does not exist", "code": "model_not_found" } }

ID de modèle mal orthographié ou retiré. Vérifiez les ID actuellement disponibles dans le catalogue des modèles.

429 — Rate limit exceeded

L’en-tête Retry-After indique au bout de combien de secondes réessayer. Réduisez la concurrence et la fréquence des requêtes pour revenir à la normale.

500 / 502 / 503 — Erreur de service

Généralement une instabilité amont. 2 à 3 tentatives automatiques suffisent souvent. Si cela dure plus de 5 minutes :

408 / 504 — Délai dépassé

Aucune réponse au bout de 60 s. Causes fréquentes :

  • prompt trop long : la « réflexion » du modèle dépasse le délai imparti
  • sortie en streaming non activée (ajoutez stream: true pour les réponses longues)

Solutions :

  • raccourcissez le prompt
  • activez le streaming : { "model": "...", "messages": [...], "stream": true }
  • passez à un modèle plus rapide (par exemple de gpt-4o à gpt-4o-mini)

Exemple de gestion des erreurs en SDK

export AICENTOS_API_KEY="sk-your-aicentos-api-key"

Python

import os
from openai import OpenAI, APIError, RateLimitError, AuthenticationError

client = OpenAI(api_key=os.environ["AICENTOS_API_KEY"], base_url="https://aicentos.com/v1")

try:
    resp = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": "hi"}],
    )
except AuthenticationError:
    print("Clé incorrecte")
except RateLimitError as e:
    print(f"Limite de débit atteinte, nouvelle tentative dans {e.response.headers.get('Retry-After')} s")
except APIError as e:
    print(f"Autre erreur API : {e.status_code} {e.message}")

Node.js

import OpenAI, { APIError } from 'openai';

const client = new OpenAI({
  apiKey: process.env.AICENTOS_API_KEY,
  baseURL: 'https://aicentos.com/v1',
});

try {
  const resp = await client.chat.completions.create({ ... });
} catch (err) {
  if (err instanceof APIError) {
    console.log(err.status, err.code, err.message);
  }
}

Réessais et repli

Type d’erreurTraitement recommandé
400 / 401 / 402 / 403 / 404pas de réessai : erreur de code / de configuration, corrigez d’abord
429réessayez selon Retry-After, avec backoff exponentiel
500 / 502 / 503 / 504 / 408réessayez immédiatement 1 à 3 fois, espacées de 1 à 5 s

Les SDK officiels OpenAI embarquent par défaut une politique de réessai raisonnable ; en production, passez par le SDK plutôt que par vos propres appels fetch.