Ir al contenido

Errores

Los errores vienen con un código HTTP y un cuerpo así:

{ "error": { "message": "Saldo insuficiente. Recarga desde S/20 para seguir.", "code": "insufficient_balance" } }

El message está escrito para personas; para decidir en tu código, usa el code.

HTTP code Qué pasó Qué hacer
400 invalid_model El modelo no existe Usa colibri, aguila o apu
400 — La petición está mal formada Revisa el JSON y los mensajes
401 no_auth No mandaste llave Añade Authorization: Bearer …
401 invalid_key Llave inválida o revocada Crea una nueva en API y llaves
402 insufficient_balance Sin saldo Recarga desde S/20
403 upgrade Tu plan no permite la API o esa llave Pasa a un plan de pago
429 rate_limited Demasiadas peticiones Espera lo que dice Retry-After
429 monthly_limit Llave de plan: llegaste al tope del período Espera al reinicio o mejora tu plan
502 — Jeimy no pudo responder Reintenta
503 — Servicio no disponible por un momento Reintenta en unos minutos

En /v1/messages los errores llegan en la forma de Anthropic (authentication_error, invalid_request_error, rate_limit_error…).

  • Reintenta los 429, 502 y 503, con una espera que crezca en cada intento.
  • No reintentes los 400, 401, 402 y 403: la misma petición va a fallar igual hasta que cambies algo.