Saltar al contenido principal
Documentación de la API REST

API REST

Códigos de error

Todos los códigos de error que devuelve la API, con su estado HTTP, qué significan y qué hacer.

La forma de un error

Los errores son JSON con esta forma. Basa tu lógica en code, que nunca cambia; message es para personas y puede cambiar. details lista cada campo no válido en un 400.

json
{
  "error": {
    "code": "insufficient_scope",
    "message": "Insufficient permissions. Missing scopes: REDLINES_GENERATE",
    "requestId": "0d6f3c1e-8a9b-4f2d-b7e5-91c4a2d3e6f0"
  }
}

Códigos

Enlaza directamente a un código usando su nombre como ancla, por ejemplo /docs/api/errors#rate_limited.

400invalid_request
El cuerpo, la consulta o una cabecera no es válida. details nombra cada campo con problema. Corrige la solicitud; si la repites sin cambios, volverá a fallar.
401api_key_expired
La clave ha superado su fecha de caducidad. Crea una clave nueva, o renuévala para obtener un secreto nuevo.
401api_key_revoked
La clave fue revocada. Crea una clave nueva en Ajustes › Desarrolladores.
401invalid_api_key
Ninguna clave coincide. Comprueba que copiaste la clave completa, o crea una nueva en Ajustes › Desarrolladores.
401unauthorized
Falta la cabecera Authorization, o no es la palabra Bearer seguida de la clave. Envía la clave como token Bearer.
402insufficient_credits
Se han agotado los créditos de IA del titular de la clave. Recarga o cambia de plan en Attorly y vuelve a intentarlo.
402usage_limit_exceeded
Se ha alcanzado un límite de uso de IA del titular de la clave o de la organización. Se reinicia con el periodo de facturación; un administrador de la organización puede subir el límite de un miembro.
403forbidden
La clave puede leer el recurso pero no cambiarlo, o la acción no está permitida en él. Pide al propietario acceso de edición.
403insufficient_scope
A la clave le falta un permiso que necesita esta operación; el mensaje lo nombra. Crea una clave con ese permiso.
403ip_not_allowed
La clave tiene una lista de IP permitidas y la solicitud llegó desde una dirección fuera de ella. Llama desde una dirección permitida o cambia la lista en Ajustes › Desarrolladores.
403plan_required
El plan del titular de la clave no incluye acceso a la API, o ha dejado la organización. El acceso a la API requiere Pro o Enterprise.
404not_found
El recurso no existe, o esta clave no puede verlo. Comprueba el id y que el titular de la clave tenga acceso.
405method_not_allowed
La ruta no admite este método HTTP. La cabecera Allow lista los métodos que admite.
409conflict
La solicitud choca con el estado actual del recurso, por ejemplo una acción que ya se hizo. Lee el recurso y decide de nuevo.
409idempotency_request_in_progress
Una solicitud con la misma Idempotency-Key sigue en curso. Consulta la cabecera Location, o reintenta después de Retry-After segundos.
413payload_too_large
El cuerpo o el archivo subido es demasiado grande. Los archivos pueden ocupar hasta 10 MB.
415unsupported_media_type
El cuerpo está en un formato que esta operación no admite. Envía JSON, o multipart/form-data donde se admita la subida.
422idempotency_key_reused
La Idempotency-Key ya se usó para otra solicitud. Usa una clave nueva para cada solicitud distinta.
422unprocessable
La solicitud es válida pero no se puede realizar, por ejemplo el análisis de un documento sin ley aplicable elegida. El mensaje dice qué falta.
429concurrency_limit_exceeded
Tu organización ya ejecuta tantas operaciones de IA de larga duración a la vez como puede. Espera a que termine una, o los segundos indicados en Retry-After, y vuelve a intentarlo.
429rate_limited
Demasiadas solicitudes en una de las ventanas en las que cuenta esta clave. Espera los segundos indicados en Retry-After y vuelve a intentarlo. La cabecera RateLimit muestra qué ventana está llena.
500internal_error
Algo ha fallado en Attorly. Reintenta con la misma Idempotency-Key; si persiste, contacta con soporte indicando el requestId.
504timeout
La operación no terminó a tiempo. Reintenta con la misma Idempotency-Key, o envía Prefer: respond-async y consulta la operación.