Explora los códigos de error de la API y sus soluciones.
Esta guía ofrece una descripción general de los códigos de error que puedes encontrar tanto en la API como en nuestra biblioteca oficial de Python. Cada código de error mencionado en la descripción general tiene una sección dedicada con más orientación.
Errores de la API
Código
Descripción general
400 - Argumento service_tier no válido
Causa: el nivel de servicio solicitado o resultante no está permitido para el proyecto. Solución: establece service_tier en un nivel permitido para el proyecto o actualiza los niveles de servicio permitidos en la configuración del proyecto.
401 - Autenticación no válida
Causa: autenticación no válida Solución: asegúrate de usar la clave de API y la organización correctas para la solicitud.
401 - La clave de API proporcionada es incorrecta
Causa: la clave de API usada en la solicitud no es correcta. Solución: verifica que la clave de API utilizada sea correcta, borra la caché de tu navegador o genera una nueva.
401 - Debes pertenecer a una organización para usar la API
Causa: tu cuenta no pertenece a ninguna organización. Solución: contáctanos para que te agreguemos a una nueva organización o pídele al administrador de tu organización que te invite a una organización.
401 - IP no autorizada
Causa: la dirección IP de tu solicitud no está en la lista de direcciones IP permitidas configurada para tu proyecto u organización. Solución: envía la solicitud desde la IP correcta o actualiza la configuración de la lista de direcciones IP permitidas.
403 - País, región o territorio no admitido
Causa: estás accediendo a la API desde un país, una región o un territorio no admitido. Solución: consulta esta página para obtener más información.
429 - Saldo de créditos agotado
Código:credit_balance_exhausted Causa: tu organización no tiene créditos prepagados disponibles. Solución:agrega créditos para seguir usando la API.
429 - Se alcanzó el límite de solicitudes
Causa: estás enviando solicitudes con demasiada frecuencia. Solución: espacia tus solicitudes y respeta el encabezado Retry-After cuando esté presente. Lee la guía de límites de solicitudes.
429 - Reduce el ritmo
Tipo:rate_limit_error Código:slow_down Causa: la frecuencia de tus solicitudes aumentó demasiado rápido. Solución: respeta el encabezado Retry-After cuando esté presente, reduce la frecuencia de tus solicitudes y auméntala gradualmente.
429 - Se alcanzó el límite de gasto de la organización
Código:organization_spend_limit_exceeded Causa: tu organización alcanzó su límite de gasto de cumplimiento obligatorio. Solución: aumenta o elimina el límite de gasto de tu organización.
429 - Se alcanzó el límite de gasto del proyecto
Código:project_spend_limit_exceeded Causa: tu proyecto alcanzó su límite de gasto de cumplimiento obligatorio. Solución: aumenta o elimina el límite de gasto en la configuración de tu proyecto.
429 - Se alcanzó el límite de uso de la organización
500 - El servidor tuvo un error al procesar tu solicitud
Causa: hay un problema en nuestros servidores. Solución: espera un momento y vuelve a intentar la solicitud. Contáctanos si el problema persiste. Consulta la página de estado.
503 - Modelo sobrecargado temporalmente
Tipo:service_unavailable_error Código:server_is_overloaded Causa: el modelo solicitado está sobrecargado temporalmente. Solución: respeta el encabezado Retry-After cuando esté presente y luego vuelve a intentar la solicitud.
Para los errores relacionados con la facturación, revisa error.code para identificar la causa específica. El campo más general error.type puede seguir siendo insufficient_quota.
Reintentar solicitudes con errores de facturación, gasto o cuota no restablecerá el acceso a la API. Actualiza los créditos o límites correspondientes antes de enviar otra solicitud.
previous_response_not_found: no se puede resolver previous_response_id a partir del estado disponible. Vuelve a intentarlo con el contexto de entrada completo y previous_response_id establecido en null.
websocket_connection_limit_reached: la conexión alcanzó el límite de 60 minutos. Abre una nueva conexión WebSocket y continúa.
La API devuelve el mensaje “Invalid service_tier argument: The requested service tier is not allowed for this project.” como un invalid_request_error con error.param establecido en service_tier cuando una solicitud selecciona un nivel de servicio no permitido para el proyecto o da como resultado uno de esos niveles.
Las restricciones del proyecto se aplican a los niveles de servicio default, flex y priority. El nivel de servicio fast se evalúa como priority. Las solicitudes que omiten service_tier o lo establecen en auto también pueden devolver este error si el nivel resultante no está permitido. El Nivel de capacidad queda fuera de esta política del proyecto.
Establece service_tier en un nivel permitido para el proyecto.
Si la solicitud usa auto u omite service_tier, actualiza la configuración del proyecto para permitir el nivel resultante.
Este mensaje de error indica que tus credenciales de autenticación no son válidas. Esto puede ocurrir por varios motivos, como los siguientes:
Estás usando una clave de API revocada.
Estás usando una clave de API distinta de la asignada a la organización o al proyecto que realiza la solicitud.
Estás usando una clave de API que no tiene los permisos necesarios para el punto de acceso al que estás llamando.
Para resolver este error, sigue estos pasos:
Verifica que estés usando la clave de API y el ID de organización correctos en el encabezado de tu solicitud. Puedes encontrar tu clave de API y tu ID de organización en la configuración de tu cuenta, o encontrar las claves específicas de un proyecto en Configuración general al seleccionar el proyecto deseado.
Si no sabes con certeza si tu clave de API es válida, puedes generar una nueva. Asegúrate de reemplazar la clave de API anterior por la nueva en tus solicitudes y sigue nuestra guía de prácticas recomendadas.
Este mensaje de error indica que la clave de API que estás usando en tu solicitud no es correcta. Esto puede ocurrir por varios motivos, como los siguientes:
Tu clave de API tiene un error tipográfico o un espacio adicional.
Estás usando una clave de API que pertenece a otra organización o a otro proyecto.
Estás usando una clave de API que se eliminó o desactivó.
Es posible que una clave de API antigua y revocada esté almacenada en la caché local.
Para resolver este error, sigue estos pasos:
Prueba borrar la caché y las cookies de tu navegador y luego vuelve a intentarlo.
Verifica que estés usando la clave de API correcta en el encabezado de tu solicitud.
Si no sabes con certeza si tu clave de API es correcta, puedes generar una nueva. Asegúrate de reemplazar la clave de API anterior en tu base de código y seguir nuestra guía de prácticas recomendadas.
Este mensaje de error indica que tu cuenta no forma parte de una organización. Esto puede ocurrir por varios motivos, como los siguientes:
Saliste de tu organización anterior o te eliminaron de ella.
Saliste de tu proyecto anterior o te eliminaron de él.
Tu organización fue eliminada.
Para resolver este error, sigue estos pasos:
Si saliste de tu organización anterior o te eliminaron de ella, puedes solicitar una nueva organización o recibir una invitación para unirte a una existente.
Para solicitar una nueva organización, comunícate con nosotros a través de help.openai.com
Los propietarios de organizaciones existentes pueden invitarte a unirte a su organización desde la página Equipo o crear un nuevo proyecto desde la página Configuración.
Si saliste de un proyecto anterior o te eliminaron de él, puedes pedirle al propietario de tu organización o del proyecto que te agregue de nuevo, o crear un proyecto nuevo.
El error credit_balance_exhausted indica que se agotó el saldo de créditos prepagados de tu organización.
Este mensaje de error indica que alcanzaste el límite de solicitudes que tienes asignado para la API. Esto significa que enviaste demasiados tokens o solicitudes en un período breve y superaste la cantidad de solicitudes permitidas. Esto puede ocurrir por varios motivos, como los siguientes:
Estás usando un bucle o un script que realiza solicitudes frecuentes o simultáneas.
Estás compartiendo tu clave de API con otros usuarios o aplicaciones.
Estás usando un plan gratuito que tiene un límite de solicitudes bajo.
Alcanzaste el límite definido para tu proyecto
Para resolver este error, sigue estos pasos:
Espacia tus solicitudes y evita realizar llamadas innecesarias o redundantes.
Si hay un encabezado Retry-After, espera al menos el tiempo que indica antes de volver a intentarlo. Si no lo hay, usa una espera exponencial con variación aleatoria y limita la cantidad de reintentos. La compatibilidad del SDK con tiempos de espera prolongados indicados por el servidor varía según la versión y la configuración. Obtén más información en nuestra guía de límites de solicitudes.
Si compartes tu organización con otros usuarios, ten en cuenta que los límites se aplican por organización y no por usuario. Conviene revisar el uso del resto de tu equipo, ya que también cuenta para el límite.
Si usas un plan gratuito o de nivel básico, considera cambiar a un plan de pago por uso que ofrezca un límite de solicitudes más alto. Puedes comparar las restricciones de cada plan en nuestra guía de límites de solicitudes.
Comunícate con el propietario de tu organización para aumentar los límites de solicitudes de tu proyecto
Una respuesta 429 con el tipo rate_limit_error y el código slow_down indica que la frecuencia de tus solicitudes aumentó más rápido de lo que el servicio puede manejar de forma segura. Esto puede ocurrir incluso si tu tráfico se mantiene dentro de los límites de solicitudes por minuto y tokens por minuto.
Como regla general, una vez que tu tráfico alcance 1 millón de tokens de entrada por minuto (TPM), auméntalo como máximo un 50 % cada 15 minutos. El punto exacto en el que se aplica el límite al ritmo de aumento puede variar según el modelo y las condiciones del tráfico.
Para resolver este error:
Si hay un encabezado Retry-After, espera al menos el tiempo que indica antes de volver a intentarlo. Si no lo hay, aumenta el tiempo de espera entre reintentos y agrega una pequeña demora aleatoria.
Reduce la frecuencia de tus solicitudes y luego auméntala gradualmente.
Mantén un patrón de tráfico estable para reducir la probabilidad de que se produzca otro error slow_down.
Los clientes empresariales cuyo tráfico de pago por uso alcanza con frecuencia los límites al ritmo de aumento pueden considerar el Nivel de capacidad para obtener una capacidad más predecible en los modelos elegibles. Para GPT-5.6 y modelos posteriores, consulta Reserved Tier. Estas opciones de capacidad no reemplazan los pasos de recuperación anteriores: sigue respetando Retry-After cuando esté presente y aumenta el tráfico gradualmente.
El error organization_spend_limit_exceeded indica que tu organización alcanzó su límite de gasto mensual de cumplimiento obligatorio. El límite se aplica al tráfico de la API de todos los proyectos de la organización.
Para restablecer el acceso a la API, aumenta o elimina el límite en la configuración de límites de tu organización. De lo contrario, el acceso se reanuda cuando se restablece el límite mensual.
El error project_spend_limit_exceeded indica que tu proyecto alcanzó su límite de gasto mensual de cumplimiento obligatorio. Los demás proyectos pueden continuar, a menos que también se alcance su propio límite o el de la organización.
Para restablecer el acceso a la API, aumenta o elimina el límite en la configuración de tu proyecto. De lo contrario, el acceso se reanuda cuando se restablece el límite mensual.
El error organization_usage_limit_exceeded indica que tu organización alcanzó el límite de uso mensual que le asignó OpenAI. Este límite es independiente de los límites de gasto de la organización y del proyecto que tú configuras.
Una respuesta 503 con el tipo service_unavailable_error y el código server_is_overloaded indica que el modelo solicitado no tiene suficiente capacidad para procesar tu solicitud en este momento.
Si hay un encabezado Retry-After, espera al menos el tiempo que indica antes de volver a intentarlo. Si no lo hay, aumenta el tiempo de espera entre reintentos. Si el error continúa, revisa la página de estado para ver si hay algún incidente activo.
Tipos de errores de la biblioteca de Python
Python lanza RateLimitError para las respuestas 429 y InternalServerError para las respuestas 503. Si tu manejador antes capturaba solo una de estas clases para los casos de limitación de tráfico y sobrecarga, maneja ambas e inspecciona error.code. Por ejemplo, la sobrecarga de video ahora devuelve 503, mientras que antes devolvía 429. Consulta la guía de migración para conocer los cambios específicos de cada punto de acceso.
Tipo
Descripción general
APIConnectionError
Causa: problema al conectarse a nuestros servicios. Solución: revisa la configuración de red, la configuración del proxy, los certificados SSL o las reglas del firewall.
APITimeoutError
Causa: se agotó el tiempo de espera de la solicitud. Solución: espera un momento y vuelve a enviar la solicitud. Comunícate con nosotros si el problema persiste.
AuthenticationError
Causa: tu clave de API o token no era válido, había vencido o se había revocado. Solución: revisa tu clave de API o token y asegúrate de que sea correcto y esté activo. Es posible que debas generar uno nuevo desde el panel de tu cuenta.
BadRequestError
Causa: tu solicitud tenía un formato incorrecto o le faltaban algunos parámetros obligatorios, como un token o una entrada. Solución: el mensaje de error debería indicar el error específico que se cometió. Consulta la documentación del método específico de la API al que estás llamando y asegúrate de enviar parámetros válidos y completos. Es posible que también debas revisar la codificación, el formato o el tamaño de los datos de tu solicitud.
ConflictError
Causa: otra solicitud actualizó el recurso. Solución: intenta actualizar el recurso de nuevo y asegúrate de que ninguna otra solicitud esté intentando actualizarlo.
InternalServerError
Causa: problema de nuestro lado. Solución: espera un momento y vuelve a enviar la solicitud. Comunícate con nosotros si el problema persiste.
NotFoundError
Causa: el recurso solicitado no existe. Solución: asegúrate de usar el identificador de recurso correcto.
PermissionDeniedError
Causa: no tienes acceso al recurso solicitado. Solución: asegúrate de usar la clave de API, el ID de organización y el ID de recurso correctos.
RateLimitError
Causa: alcanzaste el límite de solicitudes asignado o aumentaste el tráfico demasiado rápido. Solución: regula la frecuencia de tus solicitudes y respeta Retry-After cuando esté presente, sin exceder tus límites de reintentos. Encontrarás más información en nuestra guía de límites de solicitudes.
UnprocessableEntityError
Causa: no se puede procesar la solicitud aunque el formato sea correcto. Solución: vuelve a intentar la solicitud.
Un error APIConnectionError indica que tu solicitud no pudo llegar a nuestros servidores o establecer una conexión segura. Esto podría deberse a un problema de red, una configuración de proxy, un certificado SSL o una regla de firewall.
Si recibes un error APIConnectionError, prueba los siguientes pasos:
Revisa la configuración de red y asegúrate de tener una conexión a internet estable y rápida. Es posible que debas cambiar de red, usar una conexión por cable o reducir la cantidad de dispositivos o aplicaciones que usan tu ancho de banda.
Revisa la configuración de tu proxy y asegúrate de que sea compatible con nuestros servicios. Es posible que debas actualizarla, usar otro proxy o conectarte directamente sin usar un proxy.
Revisa tus certificados SSL y asegúrate de que sean válidos y estén actualizados. Es posible que debas instalar o renovar tus certificados, usar otra autoridad de certificación o desactivar la verificación SSL.
Revisa las reglas de tu firewall y asegúrate de que no bloqueen ni filtren nuestros servicios. Es posible que debas modificar la configuración de tu firewall.
Si corresponde, verifica que tu contenedor tenga los permisos adecuados para enviar y recibir tráfico.
Si el problema persiste, consulta los siguientes pasos en nuestra sección de errores persistentes.
Un error APITimeoutError indica que tu solicitud tardó demasiado en completarse y nuestro servidor cerró la conexión. Esto podría deberse a un problema de red, una carga elevada en nuestros servicios o una solicitud compleja que requiere más tiempo de procesamiento.
Si recibes un error APITimeoutError, prueba los siguientes pasos:
Espera unos segundos y vuelve a intentar la solicitud. A veces, la congestión de la red o la carga en nuestros servicios pueden disminuir y tu solicitud podría completarse en el segundo intento.
Revisa la configuración de red y asegúrate de tener una conexión a internet estable y rápida. Es posible que debas cambiar de red, usar una conexión por cable o reducir la cantidad de dispositivos o aplicaciones que usan tu ancho de banda.
Si el problema persiste, consulta los siguientes pasos en nuestra sección de errores persistentes.
Un error AuthenticationError indica que tu clave de API o token no era válido, había vencido o se había revocado. Esto podría deberse a un error tipográfico, un error de formato o una vulneración de seguridad.
Si recibes un error AuthenticationError, prueba los siguientes pasos:
Revisa tu clave de API o token y asegúrate de que sea correcto y esté activo. Es posible que debas generar una nueva clave desde el panel de claves de API, asegurarte de que no haya espacios ni caracteres adicionales o usar otra clave o token si tienes varios.
Asegúrate de haber usado el formato correcto.
Un error BadRequestError (antes InvalidRequestError) indica que tu solicitud tenía un formato incorrecto o le faltaban algunos parámetros obligatorios, como un token o una entrada. Esto podría deberse a un error tipográfico, un error de formato o un error de lógica en tu código.
Si recibes un error BadRequestError, prueba los siguientes pasos:
Lee atentamente el mensaje de error e identifica el error específico que se cometió. El mensaje debería indicar qué parámetro no era válido o faltaba, y qué valor o formato se esperaba.
Consulta la Referencia de la API del método específico de la API que estabas llamando y asegúrate de enviar parámetros válidos y completos. Es posible que debas revisar los nombres, tipos, valores y formatos de los parámetros y asegurarte de que coincidan con la documentación.
Revisa la codificación, el formato o el tamaño de los datos de tu solicitud y asegúrate de que sean compatibles con nuestros servicios. Es posible que debas codificar los datos en UTF-8, darles formato JSON o comprimirlos si son demasiado grandes.
Prueba tu solicitud con una herramienta como Postman o curl y asegúrate de que funcione como se espera. Es posible que debas depurar tu código y corregir los errores o inconsistencias en la lógica de tu solicitud.
Si el problema persiste, consulta los siguientes pasos en nuestra sección de errores persistentes.
Un error InternalServerError indica que algo falló de nuestro lado al procesar tu solicitud. Esto podría deberse a un error temporal, un error de software o una interrupción del sistema.
Lamentamos las molestias y estamos trabajando arduamente para resolver cualquier problema lo antes posible. Puedes consultar nuestra página de estado del sistema para obtener más información.
Si recibes un error InternalServerError, prueba los siguientes pasos:
Espera unos segundos y vuelve a intentar la solicitud. A veces, el problema puede resolverse rápidamente y tu solicitud podría completarse en el segundo intento.
Consulta nuestra página de estado para ver si hay incidentes o tareas de mantenimiento en curso que puedan afectar nuestros servicios. Si hay un incidente activo, sigue las actualizaciones y espera a que se resuelva antes de volver a intentar tu solicitud.
Si el problema persiste, consulta los siguientes pasos en nuestra sección de errores persistentes.
Nuestro equipo de soporte investigará el problema y te responderá lo antes posible. Ten en cuenta que los tiempos de espera para recibir soporte pueden ser prolongados debido a la alta demanda. También puedes publicar en nuestro foro de la comunidad, pero asegúrate de omitir cualquier información confidencial.
Un error RateLimitError indica que alcanzaste el límite de solicitudes asignado. Esto significa que enviaste demasiados tokens o solicitudes en un período determinado y nuestros servicios te han impedido temporalmente enviar más.
Establecemos límites de solicitudes para garantizar un uso justo y eficiente de nuestros recursos y evitar el abuso o la sobrecarga de nuestros servicios.
Si recibes un error RateLimitError, prueba los siguientes pasos:
Envía menos tokens o solicitudes, o reduce la frecuencia de envío. Es posible que debas reducir la frecuencia o el volumen de tus solicitudes, agrupar tus tokens en lotes o usar una espera exponencial entre reintentos cuando Retry-After no esté presente. Puedes consultar nuestra guía de límites de solicitudes para obtener más detalles.
Cuando Retry-After esté presente, espera al menos el tiempo que indique antes de volver a intentarlo. La biblioteca de Python puede detener los reintentos automáticos cuando el tiempo de espera indicado por el servidor supera el límite que admite la biblioteca. Si vuelves a intentarlo desde la aplicación, respeta el tiempo de espera original y ten en cuenta los reintentos del SDK.
También puedes consultar tus estadísticas de uso de la API desde el panel de tu cuenta.
Los datos y encabezados de la solicitud que enviaste
La marca de tiempo y la zona horaria de tu solicitud
Cualquier otro detalle relevante que pueda ayudarnos a diagnosticar el problema
Nuestro equipo de soporte investigará el problema y te responderá lo antes posible. Ten en cuenta que los tiempos de espera para recibir soporte pueden ser prolongados debido a la alta demanda. También puedes publicar en nuestro foro de la comunidad, pero asegúrate de omitir cualquier información confidencial.
Manejo de errores
Te recomendamos manejar mediante código los errores que devuelve la API. Para hacerlo, puedes usar un fragmento de código como el siguiente:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21import OpenAI from"openai";constclient=newOpenAI();try {constresponse=await client.responses.create({ model: "gpt-6-astra", input: "Hello world", }); console.log(response.output_text);} catch (error) {if (error instanceofOpenAI.APIConnectionError) { console.error("Failed to connect to the OpenAI API:", error.message); } elseif (error instanceofOpenAI.RateLimitError) { console.error("OpenAI API request exceeded its rate limit:", error.message); } elseif (error instanceofOpenAI.APIError) { console.error("OpenAI API returned an error:", error.status, error.message); } else {throw error; }}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15import openaifrom openai import OpenAIclient = OpenAI()try: response = client.responses.create(model="gpt-6-astra", input="Hello world")except openai.APIConnectionError as e: print(f"Failed to connect to OpenAI API: {e}")except openai.RateLimitError as e: print(f"OpenAI API request exceeded rate limit: {e}")except openai.APIError as e: print(f"OpenAI API returned an API Error: {e}")else: print(response.output_text)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28package mainimport ( "context" "errors" "fmt" "github.com/openai/openai-go/v3" "github.com/openai/openai-go/v3/responses")func main() { client := openai.NewClient() response, err := client.Responses.New(context.Background(), responses.ResponseNewParams{ Model: "gpt-6-astra", Input: responses.ResponseNewParamsInputUnion{OfString: openai.String("Hello world")}, }) if err != nil { var apiError *openai.Error if errors.As(err, &apiError) { fmt.Println("OpenAI API returned an API error:", apiError) return } fmt.Println("Failed to connect to OpenAI API:", err) return } fmt.Println(response.OutputText())}