---
title: Referencia del CLI
description: Comandos, flags y formatos de salida para operar Notta desde la terminal
url: https://notta.cl/docs/cli-reference
related:
  - https://notta.cl/docs/emit-factura-33
  - https://notta.cl/docs/mcp
  - https://notta.cl/docs/errors
  - https://notta.cl/docs/rcv-f29
---

> Documentación de Notta en markdown. Índice completo: https://notta.cl/llms.txt — corpus entero: https://notta.cl/llms-full.txt

# Referencia del CLI

El binario `notta` expone los mismos recursos que la API REST desde tu terminal.
Es uno de los 3 canales programáticos (API, CLI, MCP) + el dashboard: misma API
key, mismos shapes de respuesta.

> **Disponibilidad:**
`@notta/cli` está en proceso de publicación en npm — el install global todavía
no funciona. Mientras tanto, el dashboard y la [API](/docs/api-reference) cubren
el flujo completo: todos los ejemplos curl de estas docs funcionan hoy con una
[API key](/docs/authentication).

Sin API key configurada, el CLI corre en **modo demo**: avisa por stderr y los
resultados no son DTEs reales. Ejecuta `notta auth login` para operar contra tu org.

## Grupos de comandos

| Grupo | Para qué |
|---|---|
| `notta auth` | login / whoami / logout — manejo local del API key |
| `notta orgs` | listar tus organizaciones y fijar la org activa |
| `notta init` | wizard interactivo de onboarding SII (~10 min a sandbox) |
| `notta cert` | subir y administrar certificados digitales `.p12` |
| `notta caf` | subir CAFs y monitorear folios disponibles |
| `notta dte` | emitir, listar y descargar DTEs |
| `notta bhe` | Boletas de Honorarios Electrónicas |
| `notta rcv` | Registro de Compras y Ventas desde el portal SII |
| `notta f29` | F29 propuesto del período (read-only por ahora) |
| `notta audit` | consultar y verificar el audit log (hash chain, 6 años) |
| `notta doctor` | diagnóstico del entorno y de la conectividad |

## Formato de salida

Los comandos de lectura aceptan `--format table|json|csv`. Sin el flag, el CLI
detecta el contexto: tabla si la salida es una terminal interactiva, JSON si está
piped (ideal para scripts). Los errores de la API se imprimen a stderr con
`code`, `hint` y `next_action` — el catálogo completo está en [Errores](/docs/errors).

## notta auth

| Subcomando | Qué hace |
|---|---|
| `notta auth login` | pide el API key (`ntt_cert_...`, `ntt_prod_...` o legacy `rk_test_...`) y lo guarda en `~/.config/notta/credentials` |
| `notta auth whoami` | muestra el prefijo del key activo y su entorno (production / sandbox) |
| `notta auth logout` | borra el archivo de credenciales |

```bash
notta auth login
# Paste your Notta API key (ntt_cert_..., ntt_prod_..., or legacy rk_test_.../rk_live_...):
# ✔ API key saved to ~/.config/notta/credentials
```

El CLI apunta a `https://app.notta.cl` por defecto. Puedes cambiar el destino con
la variable de entorno `NOTTA_API_URL`.

## notta dte

### dte emit

Emisión simple de facturas tipo 33 y 34. El comando no tiene flag de
referencias: las NC (61) y ND (56), que requieren `references` con `cod_ref`,
se emiten vía la [API de DTEs](/docs/api/dtes).

| Flag | Requerido | Descripción |
|---|---|---|
| `--tipo` | sí | `33` (Factura afecta) o `34` (Factura exenta) |
| `--to` | sí | RUT del receptor en formato BODY-DV (p. ej. `11111111-1`) |
| `--name` | sí | razón social del receptor |
| `--giro` | sí | giro del receptor (no vacío) — obligatorio para 33/34 |
| `--direccion` | sí | dirección del receptor (no vacío) — obligatorio para 33/34 |
| `--comuna` | sí | comuna del receptor (no vacío) — obligatorio para 33/34 |
| `--forma-pago` | sí | forma de pago: `1` (Contado), `2` (Crédito) o `3` (Sin costo) — obligatorio para 33/34 |
| `--item` | sí | spec `"nombre:cantidad:precio_unitario"` — repetible para múltiples ítems |
| `--env` | no | `cert` (default, maullin.sii.cl) o `prod` (palena.sii.cl) |
| `--format` | no | `table` \| `json` \| `csv` |

```bash
notta dte emit \
  --tipo 33 \
  --to 11111111-1 \
  --name "Cliente Ejemplo SpA" \
  --giro "Comercio" \
  --direccion "Av Siempre Viva 123" \
  --comuna "Santiago" \
  --forma-pago 2 \
  --item "Consultoría mayo 2026:5:50000" \
  --item "Soporte mensual:1:120000" \
  --env cert
```

En el spec de `--item`, `cantidad` y `precio_unitario` deben ser enteros (pesos
chilenos, sin decimales). Para tipo 34 el CLI marca todos los ítems como exentos
automáticamente, y el RUT emisor sale de tu org activa. El detalle del flujo
completo está en [Emitir Factura 33](/docs/emit-factura-33).

### dte list

| Flag | Descripción |
|---|---|
| `--tipo` | filtrar por tipo de DTE (p. ej. `33`) |
| `--from` | fecha de inicio `YYYY-MM-DD` |
| `--to` | fecha de fin `YYYY-MM-DD` |
| `--format` | `table` \| `json` \| `csv` |

Pagina con cursor: si hay más resultados, imprime
`More results available. next=<cursor>` — ver [Paginación](/docs/pagination).

### dte show / pdf / xml

| Subcomando | Qué hace |
|---|---|
| `notta dte show <id>` | detalle completo del DTE, siempre en JSON |
| `notta dte pdf <id> [--output\|-o <archivo>]` | descarga el PDF (default `<id>.pdf`) |
| `notta dte xml <id> [--output\|-o <archivo>]` | descarga el XML firmado (default `<id>.xml`) |

## notta cert

| Subcomando | Flags | Qué hace |
|---|---|---|
| `notta cert upload <archivo>` | `--password` (requerido), `--label` | carga tu `.p12` en el Vault de Notta |
| `notta cert list` | `--format` | lista los certificados de la org activa |
| `notta cert info <id>` | — | metadatos del certificado — nunca expone la clave privada |
| `notta cert rm <id>` | — | elimina un certificado |

```bash
notta cert upload ./mi-cert.p12 --password ******** --label "Producción"
```

Es el mismo flujo que en el dashboard — ver [Subir certificado](/docs/onboarding-cert).

## notta caf

| Subcomando | Flags | Qué hace |
|---|---|---|
| `notta caf upload <archivo>` | — | carga el XML del CAF que descargaste del portal SII |
| `notta caf list` | `--rut`, `--tipo`, `--format` | CAFs activos y rangos de folios disponibles |
| `notta caf status` | — | resumen por tipo de DTE, con alerta cuando queda menos del 10% de folios |

```bash
notta caf list --tipo 33 --format json
```

## notta bhe

| Subcomando | Flags | Qué hace |
|---|---|---|
| `notta bhe emit` | `--to` (req), `--description` (req), `--amount` (req, bruto CLP), `--env` | emite una BHE |
| `notta bhe list` | `--from`, `--to`, `--format` | lista BHEs |
| `notta bhe show <id>` | — | detalle de una BHE |
| `notta bhe anular <id>` | `--reason` (req) | anula una BHE |

```bash
notta bhe emit \
  --to 11111111-1 \
  --description "Asesoría tributaria junio" \
  --amount 1000000
```

Sobre el bruto se aplica la retención vigente — 17% en 2026 (Ley 21.420): para
un bruto de 1.000.000 el líquido es 830.000. Las tasas por año y el plazo de
anulación (3 meses) están en [BHE](/docs/bhe).

## Grupos menores

| Comando | Qué hace |
|---|---|
| `notta init` | wizard interactivo: certificado → CAF → primer DTE en sandbox (~10 min) |
| `notta orgs list` / `notta orgs use <slug>` | ver tus orgs y fijar la activa para la sesión |
| `notta rcv list --rut <rut> --period <YYYY-MM> [--type received\|issued]` | entradas del RCV del período (compras o ventas) |
| `notta rcv refresh --rut <rut>` | dispara la sincronización del RCV desde el portal SII |
| `notta f29 show --rut <rut> --period <YYYY-MM>` | F29 propuesto del período (read-only por ahora) |
| `notta f29 recompute --rut <rut> --period <YYYY-MM>` | recalcula el F29 desde el RCV |
| `notta audit list [--action] [--from] [--to]` | entradas del audit log, filtrables por acción |
| `notta audit verify [--from] [--to]` | verifica la integridad del hash chain del audit log |
| `notta doctor` | chequea API key, Node ≥ 20 y permisos `600` del archivo de credenciales |

```bash
notta f29 show --rut 76123456-0 --period 2026-04
```

## Próximos pasos

- **[Emitir Factura 33](/docs/emit-factura-33)** — la guía completa de emisión, con el shape entero del request y los estados SII.
- [Servidor MCP](/docs/mcp) — las mismas operaciones como herramientas tipadas para tu agente LLM.
- [Errores](/docs/errors) — el catálogo de códigos con `next_action` que el CLI imprime en cada fallo.
- [RCV y F29](/docs/rcv-f29) — qué calcula Notta a partir del registro del SII.
