API Keys por empresa
Mandás la clave como Authorization: Bearer kude_live_… o en X-Api-Key. Cada clave tiene su alcance y su vencimiento, y se revoca cuando quieras.
Para desarrolladores
Tu sistema manda el documento en JSON y sigue trabajando. KudeExpress genera el CDC, arma el XML, lo firma, lo envía a la DNIT, reintenta si hace falta y te avisa el resultado.
Cómo funciona
# Emitir una factura electrónica curl -X POST https://kudeexpress.com/api/v1/documents \ -H "Authorization: Bearer kude_live_••••" \ -H "Content-Type: application/json" \ -d @factura.json # Respuesta inmediata: se procesa en segundo plano 202 Accepted { "data": { "id": 42, "status": "draft", … } } # El resultado llega por webhook firmado { "event": "invoice.approved" }
Referencia
Todas las rutas empiezan con /api/v1. La referencia completa, con cada campo y cada respuesta, está en el panel para los clientes con acceso.
| Documentos electrónicos | Para qué sirve |
|---|---|
| GET /documents | Listar documentos, con filtros por tipo, estado, CDC y fechas. |
| POST /documents | Emitir cualquiera de los 7 documentos. Responde 202 y se procesa en segundo plano. |
| GET /documents/{cdc} | Consultar el estado de un documento. |
| GET /documents/{cdc}/events | Historial del documento, con cada respuesta de la DNIT. |
| POST /documents/{cdc}/cancel | Anular ante la DNIT un documento aprobado (hasta 48 horas). |
| POST /documents/{cdc}/retransmit | Retransmitir un rechazado con el mismo CDC, corrigiendo receptor o ítems. |
| GET /documents/{cdc}/pdf · /xml | Descargar el KUDE en PDF o el XML firmado. |
| Gestión | Para qué sirve |
|---|---|
| GET /stock · /stock/movements | Existencias por depósito y kardex. |
| POST /stock/adjustments | Ajustar el stock a una cantidad. |
| GET · POST /suppliers | Listar y crear proveedores, con el RUC autocompletado. |
| GET · POST /purchases | Compras: crear, recibir la mercadería y registrar pagos. |
| GET · POST /expenses | Gastos: crear, registrar, pagar y anular. |
| GET /receivables | Cuentas a cobrar, con filtros por estado y cliente. |
| GET /clients/{id}/statement | Estado de cuenta de un cliente. |
| POST /collections | Registrar un recibo de dinero que salda una o varias facturas. |
| Configuración | Para qué sirve |
|---|---|
| GET · POST · DELETE /api-keys | Crear y revocar las API Keys de la empresa. |
| GET · POST · PUT · DELETE /webhooks | Suscribirte a los eventos de tus documentos. |
| GET /geography/… | Departamentos, distritos y ciudades de la DNIT. |
Detalles
Mandás la clave como Authorization: Bearer kude_live_… o en X-Api-Key. Cada clave tiene su alcance y su vencimiento, y se revoca cuando quieras.
Cada aviso lleva la firma HMAC-SHA256 del cuerpo en X-Kude-Signature y el evento en X-Kude-Event. Si tu servidor no responde, se intenta hasta tres veces, con esperas crecientes.
Cada endpoint exige un permiso. Un 403 te dice cuál falta, y un 422 te dice qué campo corregir.
Cada empresa trabaja primero contra el ambiente de pruebas de la DNIT y pasa a producción cuando todo sale aprobado.
Un documento rechazado se retransmite con su CDC. Podés corregir el receptor o los ítems en la misma llamada.
Y hasta 60 emisiones por minuto. Si tu operación necesita más, escribinos.
Empezar
Contanos qué necesitás. Te damos acceso para que lo pruebes o coordinamos una demo, como prefieras.