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.
- 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.
- 403ai_consent_withdrawn
- El titular de la clave, o el propietario del documento, ha retirado su consentimiento al tratamiento con IA. Puede volver a darlo en los ajustes de privacidad.
- 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.