← Documentation

Gestion des erreurs

/api/v1/chat/completions et /api/v1/models renvoient les erreurs au format OpenAI :

{
  "error": {
    "message": "Insufficient credits (balance: 0.00). Buy more credits or wait for your next billing cycle.",
    "type": "invalid_request_error",
    "code": "insufficient_credits",
    "param": null
  }
}

/api/v1/messages et /api/v1/messages/count_tokens renvoient le format Anthropic :

{
  "type": "error",
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key. Create one in your TokRouter settings."
  }
}

Codes HTTP

HTTPcode (OpenAI)type (Anthropic)Cause
400invalid_requestinvalid_request_errorCorps JSON invalide, ou model/messages manquant
400message_too_longinvalid_request_errorMessage trop long pour la version gratuite
401invalid_api_keyauthentication_errorClé API absente, invalide ou révoquée
402insufficient_creditsSolde de crédits épuisé (≤ 0)
403subscription_requiredModèle réservé aux abonnés ou détenteurs de crédits
404model_not_foundnot_found_errorIdentifiant de modèle inconnu ou non activé
429rate_limit_exceededrate_limit_errorLimite de débit par clé API dépassée
429daily_limit_reachedinvalid_request_errorLimite quotidienne de la version gratuite atteinte
502upstream_auth_errorapi_errorErreur de configuration côté serveur TokRouter (pas votre clé)
selon le fournisseurupstream_errorapi_errorLe fournisseur du modèle a renvoyé une erreur ; le code HTTP transmis est le sien

Ce qui ne change jamais

  • Une erreur ne débite jamais vos crédits : la facturation n'a lieu qu'après une réponse réussie contenant l'usage exact (voir Crédits et facturation).
  • Une erreur 401/403 provenant du fournisseur de modèles (mauvaise configuration côté TokRouter) ne vous est jamais présentée comme un problème avec votre clé API : elle renvoie systématiquement 502 avec le code upstream_auth_error / api_error.
  • Il n'existe pas encore de bascule automatique vers un autre modèle en cas d'erreur fournisseur : la requête échoue avec le code ci-dessus.

Limite de débit

Chaque réponse (succès ou erreur) inclut les en-têtes X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. Une erreur 429 ajoute aussi Retry-After (secondes avant la prochaine fenêtre).