Documentation Index
Fetch the complete documentation index at: https://docs.yofacturo.es/llms.txt
Use this file to discover all available pages before exploring further.
URL base
Todos los endpoints de la API son relativos a:Versiones
La versión estable actual es v1. Todos los endpoints v1 tienen el prefijo/api/v1/.
No existen cabeceras de negociación de versión — la versión forma parte de la ruta de la URL.
Formato de solicitud
- Content type:
application/json - Codificación: UTF-8
- Todos los timestamps deben estar en formato ISO 8601 (
YYYY-MM-DDTHH:MM:SSZ) - Las fechas (sin hora) deben ser
YYYY-MM-DD
Formato de respuesta
Todas las respuestas devuelven JSON. La mayoría de endpoints que devuelven un único recurso envuelven el contenido en la clavedata:
POST /api/v1/auth/sessions devuelve un objeto JSON plano a nivel raíz — sin envelope data:
meta con información de paginación:
POST /api/v1/invoice_batches puede incluir adicionalmente una clave errors junto a data cuando algunas facturas del lote fallan la validación (éxito parcial):
errors está indexado por external_invoice_id.
Paginación
Los endpoints de lista aceptan dos parámetros de consulta:| Parámetro | Tipo | Por defecto | Máximo | Descripción |
|---|---|---|---|---|
page | integer | 1 | — | Número de página (base 1) |
per_page | integer | 25 | 100 | Resultados por página |
Idempotencia
POST /api/v1/invoice_batches requiere la cabecera Idempotency-Key con un UUID válido. Reenviar la misma clave dentro de la ventana de idempotencia devuelve la respuesta cacheada sin reprocesar el lote.
Rate limiting
La mayoría de endpoints protegidos aplican límites de tasa por organización. Cuando se supera el límite, la API devuelve429 Too Many Requests con la cabecera Retry-After indicando los segundos de espera.
POST /api/v1/invoice_batches está excluido del rate limiting — la idempotencia ya previene el procesamiento duplicado.Respuestas de error
Todos los errores siguen un envelope consistente:Códigos de error
| Estado HTTP | Código | Descripción |
|---|---|---|
400 | bad_request | Parámetro requerido ausente o vacío |
401 | unauthorized | Autenticación ausente, inválida o expirada |
404 | not_found | Recurso no encontrado en la organización actual |
422 | missing_idempotency_key | La cabecera Idempotency-Key está ausente |
422 | invalid_idempotency_key | Idempotency-Key no es un UUID válido |
422 | validation_failed | El cuerpo de la solicitud falló la validación (ver message) |
422 | unprocessable_content | El registro no pudo guardarse por errores de validación |
429 | too_many_requests | Demasiadas solicitudes — consulta la cabecera Retry-After |

