Le 21 octobre 2026, OpenAI a ajouté des contrôles des niveaux de service par projet. Un service_tier interdit produit une erreur 400 documentée, pas un 429 temporaire. Lorsqu’une tâche cesse de fonctionner, distinguez les règles du projet, le débit et la facturation en lisant le code précis.
Une erreur 429 ne signifie pas toujours « réessayez dans une minute ». Dans l’API OpenAI, une limite temporaire de débit et un problème de quota ou de dépenses demandent des réponses différentes. Lisez le corps de l’erreur et les limites du projet.
Limiter les tentatives
Pour une limite temporaire, respectez une valeur valide de Retry-After comme délai minimal. Ajoutez une petite variation aléatoire. À défaut, utilisez une attente exponentielle avec variation. Comptez aussi les nouvelles tentatives automatiques du SDK.
Par exemple, une tâche de fond peut disposer de trois essais sur deux minutes. Si le serveur demande davantage, reportez la tâche. Ce sont des réglages d’application illustratifs, pas les limites du fournisseur.
Contrôler le résultat
Consignez le type d’erreur et l’identifiant de requête, sans secrets. Réessayer ne recharge pas un solde. Après réussite, vérifiez que l’élément prévu a été traité une seule fois.
Examinez error.code, pas seulement le type général insufficient_quota. Par exemple, credit_balance_exhausted concerne les crédits prépayés, tandis que project_spend_limit_exceeded concerne le plafond de dépenses imposé au projet. Réessayer ne résout aucun des deux. Faites examiner le réglage concerné par l’administrateur avant de reprendre, sans augmenter automatiquement les budgets.