Saltar al contenido
API v1 · https://bentho.org/api
API · EMPEZAR

Errores, límites y créditos

Todo lo que puede decir que no, con el texto que devuelve. Con esto, tu cliente sabe qué reintentar y qué no.

La forma de un error

SIEMPRE
{"detail": "Sin acceso a este espacio."}

Con dos excepciones: la validación de la entrada (422) devuelve una lista en detail, y los 402 devuelven un objeto:

402 · CUENTA NO AL DÍA
{"detail": {"mensaje": "La cuenta de este espacio no está al día.",
            "motivo": "pago_vencido",
            "pagado_hasta": "2026-09-01"}}
402 · CRÉDITOS AGOTADOS
{"detail": {"mensaje": "La cuenta de este espacio agotó sus créditos de este ciclo.",
            "motivo": "bolsa_agotada",
            "creditos": {"incluidos": 800, "gastados": "800.0000", "restantes": "0.0000"},
            "renueva": "2026-10-15"}}

motivo puede ser pago_vencido, suspension_comercial o bolsa_agotada.

Qué puede decir que no

Para una ruta de un espacio llamada con una clave:

STATUSSIDETAIL
401Sin claveNo autenticado.
401Clave inexistente, mal formada o revocadaCredencial de servicio inválida o revocada.
429Más de 120 peticiones por minuto con esta claveDemasiadas peticiones con esta credencial.
403Espacio fuera del alcance de la claveSin acceso a este espacio.
403La prueba del espacio vencióLa prueba de este espacio ha finalizado.
402La cuenta no está al díaobjeto (abajo)
403La API del espacio está apagadaLa API de este espacio está apagada.
403Tu IP no está en la listaEsta dirección IP no está autorizada en este espacio.
429El espacio agotó su cuota diariaEste espacio agotó su cuota diaria de la API.
429Demasiadas peticiones por segundo en el espacioDemasiadas peticiones por segundo en este espacio.
403Ruta de escritura con una clave leeTu cuenta es de solo lectura en este espacio.
403Ruta de un módulo que el espacio no tienemódulo no habilitado para este espacio.
402Créditos agotados (preguntar, subir y los módulos)objeto (abajo)

Las validaciones de cada ruta (400, 404, 413, 422) están en su ficha. Una petición rechazada por API apagada o por IP no cuenta para tus límites.

Otros códigos

STATUSCUÁNDO
404La ruta no existe. Si llamas a /api/rag/{espacio} a secas, el detail te dice qué ruta usar.
405Método equivocado en una ruta que existe. Trae la cabecera Allow con los métodos válidos.
413Subida demasiado grande: ver load_documents.
429 · 503El servicio está saturado en ese momento. Llegan sin Retry-After: espera unos segundos y reintenta con espera creciente.
502El servicio no está disponible en ese momento o la pregunta pasó de 90 s. No es tu clave: reintenta con espera creciente.

Límites

LÍMITEVALORDÓNDE SE CAMBIA
Por clave120 peticiones en cualquier ventana de 60 s (deslizante)Fijo
Por espacio y clave: tasa2 por segundo (1 – 1000)api-config · solicitudes_por_segundo
Por espacio y clave: ráfaga120 seguidas (1 – 5000)api-config · rafaga
Por espacio: cuota diariaSin tope (o 100 – 100 000 000), se reinicia a las 00:00 UTCapi-config · cuota_diaria

Los 429 de estos límites traen Retry-After en segundos. El de la cuota diaria apunta a la medianoche UTC.

Qué reintentar

  • 429: espera lo que diga Retry-After y reintenta. Si no lo trae, espera unos segundos y dobla la espera en cada intento.
  • 502 y 503: reintenta con espera creciente, dos o tres veces.
  • 401, 402, 403, 404, 422: no reintentes. Algo hay que cambiar: la clave, el pago, la configuración o la petición.
  • 200 con status_code "1001": no es un error de transporte. Reintentar la misma pregunta dará lo mismo.

Créditos

  • Gastan créditos las preguntas, la indexación de documentos y lo que hacen los módulos: armar una ficha de Fuentes o lanzar una fuente, y crear, refinar, validar o completar una landing.
  • Sin créditos se cortan con 402 conversations, conversations/stream, load_documents y las rutas de los módulos que crean o lanzan algo. Leer, listar, configurar y consultar la bolsa siguen funcionando.
  • El saldo, en la bolsa de créditos.

Tiempos

  • Una pregunta tarda de 2 a 20 s. Pon el timeout de tu cliente en 60 s o más.
  • Una pregunta que pase de 90 s se corta con 502.
  • En el stream, si no hay datos durante 15 s llega un : keepalive para que la conexión no se corte.