Download OpenAPI specification:
API REST para emitir y consultar Documentos Tributarios Electrónicos (DTE) chilenos a través del SII: facturas, boletas, notas de crédito/débito y guías de despacho.
Pensada para integradores: tu ERP/sistema llama esta API y nosotros nos encargamos de folios (CAF), firma XMLDSig, timbre, envío al SII y la representación impresa (PDF).
El ambiente (certificación / producción) lo determina tu API Key:
sk_test_… → certificación (maullin) — documentos de prueba, sin validez tributaria.sk_live_… → producción (palena) — documentos reales con validez tributaria.Puedes usar una key sk_test_ aunque tu empresa ya esté en producción, para
probar sin emitir documentos reales. Los listados y reportes quedan acotados
al ambiente de la key (los documentos de prueba nunca se mezclan con los reales).
Emitir un DTE es asíncrono: POST /dte responde 201 con el documento
en estado pendiente y lo encola para envío al SII. El estado final
(aceptado / rechazado) llega después; consúltalo con GET /dte/{id} o
suscríbete a webhooks.
Esta API procesa datos personales (RUT, razón social, direcciones, correos). Consulta la sección "Seguridad y cumplimiento" del README para tus obligaciones como responsable de datos y las medidas que aplicamos.
Crea y encola un DTE para envío al SII. El bloque emisor se toma automáticamente de tu empresa ("Mi empresa"); no lo envíes.
Reglas por tipo de documento:
receptor es opcional (consumidor final).receptor opcional (hereda consumidor final).ind_traslado obligatorio y destino
(transportista.dir_dest + transportista.cmna_dest) obligatorio.cod_ref) se deriva automáticamente del
monto si referencias un documento propio (anula / corrige texto / corrige monto).| tipo_dte required | integer Enum: 33 34 39 41 43 46 52 56 61 110 111 112 33 factura afecta · 34 factura exenta · 39 boleta · 41 boleta exenta · 43 liquidación · 46 factura de compra · 52 guía de despacho · 56 nota de débito · 61 nota de crédito · 110/111/112 exportación |
| fecha_emision required | string <date> Fecha de emisión (YYYY-MM-DD) en hora de Chile. |
| ind_traslado | integer [ 1 .. 9 ] Obligatorio para guía (52). 1=venta, 2=ventas por efectuar, 3=consignación, 4=entrega gratuita, 5=traslado interno, 6=otros, 7=devolución, 8=traslado exportación, 9=venta exportación |
| tipo_despacho | integer [ 1 .. 3 ] Guía (52). 1=por cuenta del receptor, 2/3=por cuenta del emisor |
| forma_pago | integer 1=contado, 2=crédito, 3=sin costo |
| fecha_vencimiento | string <date> |
object (Receptor) Opcional para boletas y NC/ND de boleta; obligatorio para el resto. | |
required | Array of objects (Item) non-empty |
required | object (Totales) |
Array of objects (Referencia) | |
object (Transportista) Solo para guía (52). dir_dest y cmna_dest son obligatorios para 52. |
{- "tipo_dte": 33,
- "fecha_emision": "2026-06-11",
- "receptor": {
- "rut": "12345678",
- "dv": "9",
- "razon_social": "Cliente Ejemplo SpA",
- "giro": "Comercio",
- "direccion": "Av. Siempre Viva 123",
- "comuna": "Santiago",
- "ciudad": "Santiago",
- "email": "pagos@cliente.cl"
}, - "items": [
- {
- "nombre": "Servicio de desarrollo",
- "cantidad": 1,
- "precio_unitario": 100000,
- "monto_item": 100000
}
], - "totales": {
- "monto_neto": 100000,
- "monto_iva": 19000,
- "monto_total": 119000
}
}{- "id": 123,
- "tipo_dte": 33,
- "folio": 45,
- "estado_local": "pendiente",
- "monto_total": 119000,
- "message": "DTE creado y encolado para envío al SII."
}| q | string <= 200 characters Búsqueda libre por razón social o RUT del receptor |
| rut_receptor | string <= 20 characters |
| tipo_dte | string Un tipo o CSV, ej. "33,34" |
| grupo | string Enum: "facturas" "boletas" "todos" |
| estado_local | string pendiente, enviado, aceptado, aceptado_con_reparos, rechazado, anulado, error_envio |
| estado_sii | string Un estado SII o CSV |
| desde | string <date> |
| hasta | string <date> |
| monto_min | integer >= 0 |
| monto_max | integer >= 0 |
| sort | string Enum: "fecha_emision" "monto_total" "folio" "created_at" |
| dir | string Enum: "asc" "desc" |
| per_page | integer [ 1 .. 200 ] Default: 50 |
| page | integer >= 1 Default: 1 |
{- "data": [
- {
- "id": 0,
- "folio": 0,
- "tipo_dte": 0,
- "fecha_emision": "2019-08-24",
- "razon_social_receptor": "string",
- "rut_receptor": "12345678-9",
- "monto_neto": 0,
- "monto_iva": 0,
- "monto_exento": 0,
- "monto_total": 0,
- "estado": "string",
- "estado_sii": "string",
- "tiene_nc": true,
- "nc_count": 0,
- "track_id": "string",
- "ambiente": "certificacion",
- "puede_reintentar": true,
- "created_at": "2019-08-24T14:15:22Z",
- "enviado_at": "2019-08-24T14:15:22Z",
- "respondido_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "current_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Totales y desglose por tipo y estado sobre el conjunto filtrado (mismos filtros que el listado).
| desde | string <date> |
| hasta | string <date> |
| tipo_dte | string |
| estado_local | string |
{- "total_documentos": 0,
- "suma_total": 0,
- "suma_neto": 0,
- "suma_iva": 0,
- "suma_exento": 0,
- "por_tipo": [
- {
- "tipo_dte": 0,
- "count": 0,
- "suma_total": 0
}
], - "por_estado": [
- {
- "estado_local": "string",
- "count": 0,
- "suma_total": 0
}
]
}{- "id": 0,
- "tipo_dte": 0,
- "tipo_nombre": "string",
- "folio": 0,
- "fecha_emision": "2019-08-24",
- "rut_receptor": "string",
- "razon_receptor": "string",
- "monto_neto": 0,
- "monto_iva": 0,
- "monto_exento": 0,
- "monto_total": 0,
- "estado_sii": "string",
- "estado_local": "string",
- "glosa_sii": "string",
- "track_id": "string",
- "ambiente": "string",
- "anulado_por": {
- "id": 0,
- "tipo_dte": 0,
- "folio": 0
}, - "notas_credito": [
- {
- "id": 0,
- "tipo_dte": 0,
- "folio": 0,
- "estado_local": "string",
- "monto_total": 0,
- "cod_ref": 0,
- "motivo": "anula"
}
], - "items": [
- {
- "nombre": "string",
- "cantidad": 0,
- "precio_unitario": 0,
- "monto_item": 0
}
]
}| group_by | string Default: "mes" Enum: "dia" "mes" |
| desde | string <date> |
| hasta | string <date> |
{- "group_by": "string",
- "serie": [
- {
- "periodo": "2026-06",
- "documentos": 0,
- "suma_total": 0,
- "suma_neto": 0,
- "suma_iva": 0,
- "suma_exento": 0
}
]
}| limit | integer [ 1 .. 100 ] Default: 10 |
| desde | string <date> |
| hasta | string <date> |
{- "data": [
- {
- "rut_receptor": "string",
- "razon_receptor": "string",
- "documentos": 0,
- "suma_total": 0
}
]
}El SII aceptó el DTE. Tu endpoint debe responder 2xx.
| id | string |
| event | string Enum: "dte.aceptado" "dte.rechazado" "dte.enviado" |
| created_at | string <date-time> |
object |
{- "id": "wh_a1b2c3d4e5f6a7b8",
- "event": "dte.aceptado",
- "created_at": "2019-08-24T14:15:22Z",
- "data": {
- "dte_id": 0,
- "tipo_dte": 0,
- "folio": 0,
- "estado_sii": "string",
- "glosa_sii": "string",
- "monto_total": 0,
- "rut_receptor": "string",
- "track_id": "string",
- "respondido_at": "2019-08-24T14:15:22Z"
}
}El SII rechazó el DTE.
| id | string |
| event | string Enum: "dte.aceptado" "dte.rechazado" "dte.enviado" |
| created_at | string <date-time> |
object |
{- "id": "wh_a1b2c3d4e5f6a7b8",
- "event": "dte.aceptado",
- "created_at": "2019-08-24T14:15:22Z",
- "data": {
- "dte_id": 0,
- "tipo_dte": 0,
- "folio": 0,
- "estado_sii": "string",
- "glosa_sii": "string",
- "monto_total": 0,
- "rut_receptor": "string",
- "track_id": "string",
- "respondido_at": "2019-08-24T14:15:22Z"
}
}El DTE fue enviado al SII (pendiente de respuesta).
| id | string |
| event | string Enum: "dte.aceptado" "dte.rechazado" "dte.enviado" |
| created_at | string <date-time> |
object |
{- "id": "wh_a1b2c3d4e5f6a7b8",
- "event": "dte.aceptado",
- "created_at": "2019-08-24T14:15:22Z",
- "data": {
- "dte_id": 0,
- "tipo_dte": 0,
- "folio": 0,
- "estado_sii": "string",
- "glosa_sii": "string",
- "monto_total": 0,
- "rut_receptor": "string",
- "track_id": "string",
- "respondido_at": "2019-08-24T14:15:22Z"
}
}