Descripción general
La API orientada a agentes de LemonData enriquece las respuestas de error con pistas estructuradas que los agentes de AI pueden analizar y sobre las que pueden actuar de inmediato — sin búsquedas web, sin consultar la documentación y sin conjeturas. Cada respuesta de error incluye campos opcionales comodid_you_mean, suggestions, hint, retryable y retry_after dentro del objeto estándar error. Estos campos son retrocompatibles — los clientes que no los usan no notan ninguna diferencia.
Campos de pistas de error
Todos los campos de pistas son extensiones opcionales dentro del objetoerror:
| Campo | Tipo | Descripción |
|---|---|---|
did_you_mean | string | Nombre del modelo con la coincidencia más cercana |
suggestions | array | Modelos recomendados con metadatos |
alternatives | array | Modelos alternativos disponibles actualmente |
hint | string | Guía legible por humanos/agentes sobre el siguiente paso |
retryable | boolean | Si reintentar la misma solicitud puede tener éxito |
retry_after | number | Segundos que se deben esperar antes de reintentar |
balance_usd | number | Saldo actual de la cuenta en USD |
estimated_cost_usd | number | Costo estimado de la solicitud fallida |
Ejemplos de códigos de error
model_not_found (400)
Cuando un nombre de modelo no coincide con ningún modelo activo:did_you_mean usa:
- Mapeo estático de alias (a partir de datos de errores de producción)
- Coincidencia de cadenas normalizadas (elimina guiones, no distingue mayúsculas de minúsculas)
- Coincidencia por distancia de edición (umbral ≤ 3)
insufficient_balance (402)
Cuando el saldo de la cuenta es demasiado bajo para el costo estimado:suggestions contiene modelos más baratos que el costo estimado a los que el agente puede cambiar.
all_channels_failed (503)
Cuando todos los canales upstream para un modelo no están disponibles:retryable es false cuando la razón es no_channels (no hay canales configurados para este modelo). Es true solo para fallos transitorios como activaciones del circuit breaker o agotamiento de cuota.rate_limit_exceeded (429)
retry_after se calcula a partir del tiempo real de restablecimiento de la ventana de rate limit.
Los endpoints compatibles con OpenAI usan los tipos de error públicos y estables de LemonData, como
rate_limit_exceeded, upstream_error y all_channels_failed. Los endpoints compatibles con Anthropic y Gemini usan sus propias formas nativas de respuesta.context_length_exceeded (400)
Cuando la entrada supera la ventana de contexto del modelo (error upstream, enriquecido con pistas):Encabezados de endpoint nativo
Cuando llamas a/v1/chat/completions con un modelo que tiene un endpoint nativo (Anthropic o Gemini), la respuesta exitosa incluye encabezados de optimización:
| Proveedor del modelo | Endpoint sugerido | Beneficio |
|---|---|---|
| Anthropic (Claude) | /v1/messages | Sin conversión de formato, extended thinking, prompt caching |
| Google (Gemini) | /v1beta/gemini | Sin conversión de formato, grounding, configuraciones de seguridad |
| OpenAI | — | Chat completions ya es el formato nativo |
Mejoras en /v1/models
Tres campos nuevos en la extensiónlemondata de cada objeto de modelo:
| Campo | Valores | Descripción |
|---|---|---|
category | chat, image, video, audio, tts, stt, 3d, embedding, rerank | Tipo de modelo |
pricing_unit | per_token, per_image, per_second, per_request | Cómo se factura el modelo |
cache_pricing | object o null | Precios de caché de prompt upstream + descuento de caché semántica de la plataforma |
Filtrado por categoría
llms.txt
Hay disponible una descripción general de la API legible por máquina en:- Plantilla para la primera llamada con un ejemplo funcional
- Nombres comunes de modelos (generados dinámicamente a partir de datos de uso)
- Los 12 endpoints de la API
- Parámetros de filtrado para el descubrimiento de modelos
- Guía para el manejo de errores
llms.txt antes de su primera llamada a la API normalmente pueden tener éxito en el primer intento.
Uso en código de agente
Python (OpenAI SDK)
JavaScript (OpenAI SDK)
Principios de diseño
Fallar rápido, fallar de forma informativa
Los errores se devuelven de inmediato con todos los datos que un agente necesita para autocorregirse.
Sin auto-routing
La API nunca sustituye silenciosamente un modelo por otro diferente. El agente decide.
Sugerencias basadas en datos
Todas las recomendaciones provienen de datos de producción, no de listas codificadas manualmente.
Retrocompatible
Todos los campos de pistas son opcionales. Los clientes existentes no notan ninguna diferencia.