---
title: "Servicios Web (API)"
description: ""
type: "docs"
category: "doc"
tags: []
authors: [Anonymous]
date: "2026-10-02"
last_update: "2026-10-02"
time_minutes: 1
draft: false
unlisted: false
attachments: [libredte-slim-api-schema.yaml]
url: "https://slim.libredte.cl/docs/api"
---




## API de LibreDTE Slim

Esta API expone los datos de facturación electrónica del contribuyente
activo: documentos emitidos y recibidos, borradores, receptores,
emisores, ítems, sucursales y los resúmenes por período.

Todos los recursos son de **solo lectura** (`GET`). Emitir, confirmar o
eliminar documentos se hace desde la aplicación web.


## Autenticación

Cada llamada va con un token personal en la cabecera `Authorization`:

```http
GET /api/v1/emitidos/ HTTP/1.1
Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b
```

El token se genera en **Mi perfil → API**. Es uno solo por usuario: al
generar uno nuevo, el anterior deja de funcionar de inmediato.

Trátalo como una contraseña. Permite entrar a la cuenta sin el código
de verificación en dos pasos, así que no debe quedar en un repositorio
ni en el código de un cliente que se distribuya.

Sin token, o con uno que no existe, la respuesta es `401`.

Todos los recursos son del contribuyente activo: no hay permisos por
usuario ni por documento, así que cualquier token válido ve lo mismo.


## Paginación, filtros y orden

Los listados responden el formato que espera Tabulator, la grilla que
usa la propia aplicación web:

```json
{"last_page": 4, "data": [{"...": "..."}]}
```

Se controlan con estos parámetros de consulta:

| Parámetro | Ejemplo | Qué hace |
|---|---|---|
| `page` | `page=2` | Página pedida, empezando en 1. |
| `size` | `size=50` | Filas por página. |
| `filter[0][field]` + `filter[0][value]` | `filter[0][field]=receptor&filter[0][value]=sasco` | Filtra por un campo. El índice permite encadenar varios. |
| `sort[0][field]` + `sort[0][dir]` | `sort[0][field]=fecha&sort[0][dir]=desc` | Ordena por un campo (`asc`/`desc`). |

Los campos aceptados en `filter` y `sort` son los que documenta cada
endpoint, que no siempre coinciden con los del modelo: varios son
calculados (`receptor` busca a la vez en razón social y RUT, `tipo` en
glosa y código del DTE).


Índice:

- Sucursales
  - Listar sucursales

- Documentos emitidos
  - Listar documentos emitidos

- Documentos recibidos
  - Listar documentos recibidos

- Borradores
  - Listar borradores

- Receptores
  - Listar receptores

  - Buscar un receptor

- Emisores
  - Listar emisores

- Ítems
  - Listar ítems del catálogo

  - Listar categorías de ítems

  - Buscar un ítem

- Ventas
  - Listar períodos de venta

- Compras
  - Listar períodos de compra

  - Listar documentos de un período de compra

### Sucursales

#### GET /api/v1/sucursales/

Listar sucursales

Sucursales del contribuyente activo, incluida la casa matriz.

Parámetros:

- `filter[0][field]` (query, string) — Campo a filtrar: `nombre`, `codigo_sii`, `direccion`, `comuna`.
- `filter[0][value]` (query, string) — Texto buscado en el campo filtrado.
- `page` (query, integer) — Página pedida, empezando en 1.
- `size` (query, integer) — Filas por página.
- `sort[0][dir]` (query, string) — Sentido del orden.
- `sort[0][field]` (query, string) — Campo por el que ordenar: `nombre`, `codigo_sii`, `direccion`, `comuna`.
Respuestas:

- `200`
### Documentos emitidos

#### GET /api/v1/emitidos/

Listar documentos emitidos

Documentos tributarios electrónicos emitidos por el contribuyente activo, del más reciente al más antiguo.

Parámetros:

- `filter[0][field]` (query, string) — Campo a filtrar: `tipo`, `folio`, `receptor`, `fecha`, `total`, `estado`.
- `filter[0][value]` (query, string) — Texto buscado en el campo filtrado.
- `page` (query, integer) — Página pedida, empezando en 1.
- `periodo` (query, integer) — Acota a un período `AAAAMM`, ej. `202609`.
- `receptor_id` (query, integer) — Acota a los documentos de un receptor.
- `size` (query, integer) — Filas por página.
- `sort[0][dir]` (query, string) — Sentido del orden.
- `sort[0][field]` (query, string) — Campo por el que ordenar: `tipo`, `folio`, `receptor`, `fecha`, `total`, `estado`.
Respuestas:

- `200`
### Documentos recibidos

#### GET /api/v1/recibidos/

Listar documentos recibidos

Documentos que terceros emitieron al contribuyente activo, del más reciente al más antiguo.

Parámetros:

- `emisor_id` (query, integer) — Acota a los documentos de un emisor.
- `filter[0][field]` (query, string) — Campo a filtrar: `tipo`, `folio`, `emisor`, `fecha`, `total`.
- `filter[0][value]` (query, string) — Texto buscado en el campo filtrado.
- `page` (query, integer) — Página pedida, empezando en 1.
- `size` (query, integer) — Filas por página.
- `sort[0][dir]` (query, string) — Sentido del orden.
- `sort[0][field]` (query, string) — Campo por el que ordenar: `tipo`, `folio`, `emisor`, `fecha`, `total`.
Respuestas:

- `200`
### Borradores

#### GET /api/v1/borradores/

Listar borradores

Documentos preparados y todavía no emitidos ante el SII. No tienen folio: se identifican por su código.

Parámetros:

- `filter[0][field]` (query, string) — Campo a filtrar: `tipo`, `receptor`, `fecha`, `total`, `usuario`, `codigo`.
- `filter[0][value]` (query, string) — Texto buscado en el campo filtrado.
- `page` (query, integer) — Página pedida, empezando en 1.
- `size` (query, integer) — Filas por página.
- `sort[0][dir]` (query, string) — Sentido del orden.
- `sort[0][field]` (query, string) — Campo por el que ordenar: `tipo`, `receptor`, `fecha`, `total`, `usuario`, `codigo`.
Respuestas:

- `200`
### Receptores

#### GET /api/v1/receptores/

Listar receptores

Clientes a los que el contribuyente activo les emite.

Parámetros:

- `filter[0][field]` (query, string) — Campo a filtrar: `rut`, `codigo_interno`, `razon_social`, `giro`, `ubicacion`, `correo`.
- `filter[0][value]` (query, string) — Texto buscado en el campo filtrado.
- `page` (query, integer) — Página pedida, empezando en 1.
- `size` (query, integer) — Filas por página.
- `sort[0][dir]` (query, string) — Sentido del orden.
- `sort[0][field]` (query, string) — Campo por el que ordenar: `rut`, `codigo_interno`, `razon_social`, `giro`, `ubicacion`, `correo`.
Respuestas:

- `200`
#### GET /api/v1/receptores/buscar/

Buscar un receptor

Sin parámetros devuelve la lista completa de receptores del contribuyente activo, pensada para autocompletar. Con uno de `codigo_interno`, `rut` o `razon_social` devuelve los datos de ESE receptor. Si llega más de uno se prioriza en ese orden. Responde `404` si no hay coincidencia.

Parámetros:

- `codigo_interno` (query, string) — Código interno exacto del receptor.
- `razon_social` (query, string) — Razón social exacta del receptor.
- `rut` (query, string) — RUT con dígito verificador, ej. `76192083-9`.
Respuestas:

- `200`
- `404`
### Emisores

#### GET /api/v1/emisores/

Listar emisores

Proveedores que le emiten documentos al contribuyente activo.

Parámetros:

- `filter[0][field]` (query, string) — Campo a filtrar: `rut`, `codigo_interno`, `razon_social`, `giro`, `ubicacion`, `correo`.
- `filter[0][value]` (query, string) — Texto buscado en el campo filtrado.
- `page` (query, integer) — Página pedida, empezando en 1.
- `size` (query, integer) — Filas por página.
- `sort[0][dir]` (query, string) — Sentido del orden.
- `sort[0][field]` (query, string) — Campo por el que ordenar: `rut`, `codigo_interno`, `razon_social`, `giro`, `ubicacion`, `correo`.
Respuestas:

- `200`
### Ítems

#### GET /api/v1/items/

Listar ítems del catálogo

Catálogo de productos y servicios del contribuyente activo, con su precio y su categoría.

Parámetros:

- `filter[0][field]` (query, string) — Campo a filtrar: `codigo`, `nombre`, `categoria`, `precio`.
- `filter[0][value]` (query, string) — Texto buscado en el campo filtrado.
- `page` (query, integer) — Página pedida, empezando en 1.
- `size` (query, integer) — Filas por página.
- `sort[0][dir]` (query, string) — Sentido del orden.
- `sort[0][field]` (query, string) — Campo por el que ordenar: `codigo`, `nombre`, `categoria`, `precio`.
Respuestas:

- `200`
#### GET /api/v1/items/categorias/

Listar categorías de ítems

Categorías con las que se agrupa el catálogo de ítems.

Parámetros:

- `filter[0][field]` (query, string) — Campo a filtrar: `nombre`.
- `filter[0][value]` (query, string) — Texto buscado en el campo filtrado.
- `page` (query, integer) — Página pedida, empezando en 1.
- `size` (query, integer) — Filas por página.
- `sort[0][dir]` (query, string) — Sentido del orden.
- `sort[0][field]` (query, string) — Campo por el que ordenar: `nombre`.
Respuestas:

- `200`
#### GET /api/v1/items/buscar/

Buscar un ítem

Sin `codigo` devuelve el catálogo completo de ítems activos, sin paginar, pensado para autocompletar. Con `codigo` devuelve los datos de ESE ítem. Responde `404` si no hay coincidencia.

Parámetros:

- `codigo` (query, string) — Código del ítem en el catálogo.
- `codigo_tipo` (query, string) — Desempata cuando dos ítems comparten `codigo`.
Respuestas:

- `200`
- `404`
### Ventas

#### GET /api/v1/ventas/periodos/

Listar períodos de venta

Un registro por período (`AAAAMM`) con documentos de venta, con cuántos documentos tiene y su total.

Parámetros:

- `filter[0][field]` (query, string) — Campo a filtrar: `periodo_glosa`, `documentos`, `total`.
- `filter[0][value]` (query, string) — Texto buscado en el campo filtrado.
- `page` (query, integer) — Página pedida, empezando en 1.
- `size` (query, integer) — Filas por página.
- `sort[0][dir]` (query, string) — Sentido del orden.
- `sort[0][field]` (query, string) — Campo por el que ordenar: `periodo_glosa`, `documentos`, `total`.
Respuestas:

- `200`
### Compras

#### GET /api/v1/compras/periodos/

Listar períodos de compra

Un registro por período (`AAAAMM`) con documentos de compra, con cuántos documentos tiene y su total.

Parámetros:

- `filter[0][field]` (query, string) — Campo a filtrar: `periodo_glosa`, `documentos`, `total`.
- `filter[0][value]` (query, string) — Texto buscado en el campo filtrado.
- `page` (query, integer) — Página pedida, empezando en 1.
- `size` (query, integer) — Filas por página.
- `sort[0][dir]` (query, string) — Sentido del orden.
- `sort[0][field]` (query, string) — Campo por el que ordenar: `periodo_glosa`, `documentos`, `total`.
Respuestas:

- `200`
#### GET /api/v1/compras/documentos/

Listar documentos de un período de compra

Documentos de compra de un período, mezclando los recibidos de terceros con los que el propio contribuyente emitió y también son compra (ej. una factura de compra).

Parámetros:

- `filter[0][field]` (query, string) — Campo a filtrar: `tipo`, `folio`, `contraparte`, `fecha`, `total`, `estado`.
- `filter[0][value]` (query, string) — Texto buscado en el campo filtrado.
- `page` (query, integer) — Página pedida, empezando en 1.
- `periodo` (query, integer, requerido) — Período `AAAAMM`, ej. `202609`.
- `size` (query, integer) — Filas por página.
- `sort[0][dir]` (query, string) — Sentido del orden.
- `sort[0][field]` (query, string) — Campo por el que ordenar: `tipo`, `folio`, `contraparte`, `fecha`, `total`, `estado`.
Respuestas:

- `200`


---
Última actualización el 02/10/2026

