POST /api/v3/invoices firma, obtiene el CUF, valida en el SIAT, genera el PDF, envía el correo y avisa por webhook.
URL base
Mismos endpoints en ambos; cambian la URL y la key. Ver Ambientes.
Autenticación
HeaderX-API-Key en cada request. 401 (key ausente, inválida o tenant inactivo), 403 (sin alcance) y 429 (más de 20 credenciales inválidas por minuto desde tu IP; espera Retry-After), con { "error": true, "message": "..." }. Ver Autenticación.
Formato de respuesta
WrapperApiResponse; los campos nulos no se serializan.
- Éxito
- Error
Códigos en Errores. Versión en la URL (
/api/v3/).
Paginación
page y size de la respuesta son los servidos (size puede ser menor al pedido).
Flujo de emisión
- Validación (
400): campos requeridos, NIT (7-15 dígitos), códigos SIAT y montos coherentes. - Respuesta apenas el SIN acepta; PDF, correo y chat van después (detalle).
- Cada cambio de estado dispara un webhook.
Estados de una factura
Estado actual:
GET /api/v3/invoices/{id}/status.
Tipos de documento sector
Todos usanPOST /api/v3/invoices con documentSectorType (si se omite, el sector por defecto del punto de venta). Las notas usan POST /api/v3/invoices/{id}/credit-note.
✅ = implementado. — = no habilitado:
422 SECTOR_NOT_SUPPORTED.