El 21 de octubre de 2026 OpenAI añadió controles de nivel de servicio por proyecto. Un service_tier no permitido tiene un error 400 documentado: no es un 429 temporal. Si una tarea deja de funcionar, lee el código concreto y distingue la política del proyecto, el ritmo de solicitudes y la facturación.
Un error 429 no siempre significa «vuelve a intentarlo dentro de un minuto». En la API de OpenAI, un límite temporal de solicitudes y un problema de cuota o gasto necesitan respuestas distintas. Lee el cuerpo del error y consulta los límites del proyecto.
Pon un límite a los reintentos
Si el límite es temporal, respeta un valor válido de Retry-After como espera mínima. Añade una pequeña variación aleatoria; si falta ese dato, utiliza espera exponencial con variación. Cuenta también los reintentos automáticos del SDK.
Como ejemplo, permite tres intentos dentro de dos minutos para una tarea en segundo plano. Si el servidor pide esperar más, aplaza la tarea. Son decisiones de la aplicación, no límites del proveedor.
Comprueba el resultado
Registra el tipo de error y el identificador de solicitud, sin secretos. Repetir una petición no recupera saldo. Cuando funcione, verifica que el elemento previsto se haya procesado una sola vez.
Consulta error.code, no solo el tipo general insufficient_quota. Por ejemplo, credit_balance_exhausted señala los créditos prepagados y project_spend_limit_exceeded, el límite de gasto obligatorio del proyecto. Reintentar no resuelve ninguno. Pide al administrador que revise el control correspondiente antes de continuar; no aumentes presupuestos automáticamente.