Facturiadocs
Referencia API

Empresas

El límite de tenencia: creación, custodia del certificado, mandato, puesta en marcha y automatizaciones.

Base: https://api.facturia.cl/v1. Todos los endpoints de este capítulo se autentican con Authorization: Bearer salvo que se diga lo contrario, y el sobre de error es el de Errores.

MétodoRutaQué hace
GET/empresasLista las empresas que esta llave puede ver
POST/empresasCrea una empresa
GET/empresas/{empresa_id}Devuelve una empresa
PATCH/empresas/{empresa_id}Actualiza una empresa
GET/empresas/{empresa_id}/certificateDevuelve los metadatos del certificado
POST/empresas/{empresa_id}/certificateCarga (o reutiliza) el certificado digital de la empresa
DELETE/empresas/{empresa_id}/certificatePurga el certificado de la bóveda (revoca la custodia y suspende la emisión)
POST/empresas/{empresa_id}/mandatoRegistra el mandato que autoriza a Facturia a actuar ante el SII
DELETE/empresas/{empresa_id}/mandatoRevoca el mandato
GET/empresas/{empresa_id}/onboardingCiclo de vida de la puesta en marcha, sus pasos y las acciones humanas que la bloquean
GET/empresas/{empresa_id}/automation_settingsDevuelve las automatizaciones de la empresa
PATCH/empresas/{empresa_id}/automation_settingsActualiza las automatizaciones de la empresa
PATCH/empresas/{empresa_id}/brandingActualiza el logo, el formato de impresión por defecto y el pie de página

GET /empresas

Lista las empresas que esta llave puede ver

curl -sS https://api.facturia.cl/v1/empresas \
  -H "Authorization: Bearer $FACTURIA_KEY"

Parámetros

ParámetroEnRequeridoTipoNotas
limitqueryinteger
cursorquerystringCursor opaco tomado del next_cursor de una respuesta anterior.
statusqueryonboarding · active · suspended · archived

Respuestas

CódigoSignificadoCuerpo
200Una lista de empresas.lista de Empresa
401Llave ausente, mal formada o revocada.ErrorResponse

POST /empresas

Crea una empresa

En modo test la empresa nace en emitting: sin mandato, sin certificado y sin certificación. En modo live parte en mandato_pending y avanza por la máquina de estados de la puesta en marcha.

curl -sS -X POST https://api.facturia.cl/v1/empresas \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"rut":"77928532-4","legal_name":"Connect SpA"}'

Parámetros

ParámetroEnRequeridoTipoNotas
Idempotency-KeyheaderstringLlave que genera el cliente, única por operación lógica, retenida 24 h y con alcance (cuenta, empresa, endpoint). Un replay devuelve la respuesta original con Facturia-Idempotent-Replay: true. Misma llave y cuerpo distinto → 409.

Cuerpo

CampoTipoRequeridoNotas
rutRutRUT canónico: sin puntos, un guion y K mayúscula. Ej.: "77928532-4".
legal_namestring
girostring
actecointeger[]
addressAddress
contact_emailstring
ambientecertificacion · produccionPor defecto: "produccion".
doc_types33 · 34 · 39 · 41 · 46 · 52 · 56 · 61[]Por defecto: [33,34,61].
Respuestas
CódigoSignificadoCuerpo
201La empresa creada.Empresa
400Entrada mal formada o incompleta.ErrorResponse
401Llave ausente, mal formada o revocada.ErrorResponse
403Llave válida pero sin permiso: scope, lista blanca de empresas o modo.ErrorResponse
409Conflicto de estado: reutilización de idempotencia, external_id duplicado o artefacto no listo.ErrorResponse

GET /empresas/{empresa_id}

Devuelve una empresa

curl -sS https://api.facturia.cl/v1/empresas/emp_01K2R6ZC4P8QW1VN7T3MHDY9EK \
  -H "Authorization: Bearer $FACTURIA_KEY"

Parámetros

ParámetroEnRequeridoTipoNotas
empresa_idpathstring

Respuestas

CódigoSignificadoCuerpo
200La empresa.Empresa
404No existe ese objeto bajo esta llave.ErrorResponse

PATCH /empresas/{empresa_id}

Actualiza una empresa

curl -sS -X PATCH https://api.facturia.cl/v1/empresas/emp_01K2R6ZC4P8QW1VN7T3MHDY9EK \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"legal_name":"Connect SpA","giro":"…"}'

Parámetros

ParámetroEnRequeridoTipoNotas
empresa_idpathstring

Cuerpo

CampoTipoRequeridoNotas
legal_namestring
girostring
addressAddress
contact_emailstring
doc_types33 · 34 · 39 · 41 · 46 · 52 · 56 · 61[]
statusactive · archived
Respuestas
CódigoSignificadoCuerpo
200La empresa actualizada.Empresa
400Entrada mal formada o incompleta.ErrorResponse
404No existe ese objeto bajo esta llave.ErrorResponse

GET /empresas/{empresa_id}/certificate

Devuelve los metadatos del certificado

Solo metadatos. Ni el .pfx ni su contraseña se pueden leer nunca por la API.

curl -sS https://api.facturia.cl/v1/empresas/emp_01K2R6ZC4P8QW1VN7T3MHDY9EK/certificate \
  -H "Authorization: Bearer $FACTURIA_KEY"

Parámetros

ParámetroEnRequeridoTipoNotas
empresa_idpathstring

Respuestas

CódigoSignificadoCuerpo
200Metadatos del certificado.Certificate
404No existe ese objeto bajo esta llave.ErrorResponse

POST /empresas/{empresa_id}/certificate

Carga (o reutiliza) el certificado digital de la empresa

curl -sS -X POST https://api.facturia.cl/v1/empresas/emp_01K2R6ZC4P8QW1VN7T3MHDY9EK/certificate \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -F "file=…" \
  -F "password=…"

Parámetros

ParámetroEnRequeridoTipoNotas
empresa_idpathstring

Cuerpo (multipart/form-data)

CampoTipoRequeridoNotas
filestringArchivo PKCS#12 (.pfx).
passwordstringLa contraseña del .pfx.
reuse_from_empresastringEn vez de cargarlo, referencia un certificado que ya tienes en otra empresa de esta cuenta. Vale solo si ese certificado es usuario autorizado ante el SII del RUT de esta empresa.
Respuestas
CódigoSignificadoCuerpo
201Certificado guardado y verificado.Certificate
400Entrada mal formada o incompleta.ErrorResponse
422Bien formado pero viola una regla del dominio: folios agotados, ventana de acuse cerrada.ErrorResponse

DELETE /empresas/{empresa_id}/certificate

Purga el certificado de la bóveda (revoca la custodia y suspende la emisión)

curl -sS -X DELETE https://api.facturia.cl/v1/empresas/emp_01K2R6ZC4P8QW1VN7T3MHDY9EK/certificate \
  -H "Authorization: Bearer $FACTURIA_KEY"

Parámetros

ParámetroEnRequeridoTipoNotas
empresa_idpathstring

Respuestas

CódigoSignificadoCuerpo
204Purgado.
404No existe ese objeto bajo esta llave.ErrorResponse

POST /empresas/{empresa_id}/mandato

Registra el mandato que autoriza a Facturia a actuar ante el SII

Publica la aceptación que recolectaste tú, u omite el cuerpo para recibir un signing_url alojado que puedas enviarle al representante legal.

curl -sS -X POST https://api.facturia.cl/v1/empresas/emp_01K2R6ZC4P8QW1VN7T3MHDY9EK/mandato \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"representante_legal":{},"accepted_at":"…"}'

Parámetros

ParámetroEnRequeridoTipoNotas
empresa_idpathstring

Cuerpo

CampoTipoRequeridoNotas
representante_legalobject
accepted_atstring
accepted_ipstring
terms_versionstring
Respuestas
CódigoSignificadoCuerpo
201El mandato.Mandato
400Entrada mal formada o incompleta.ErrorResponse

DELETE /empresas/{empresa_id}/mandato

Revoca el mandato

curl -sS -X DELETE https://api.facturia.cl/v1/empresas/emp_01K2R6ZC4P8QW1VN7T3MHDY9EK/mandato \
  -H "Authorization: Bearer $FACTURIA_KEY"

Parámetros

ParámetroEnRequeridoTipoNotas
empresa_idpathstring

Respuestas

CódigoSignificadoCuerpo
204Revocado. La empresa pasa a suspended.

GET /empresas/{empresa_id}/onboarding

Ciclo de vida de la puesta en marcha, sus pasos y las acciones humanas que la bloquean

Todo lo que un asistente necesita para dibujar el avance y decirle a la persona qué hacer ahora.

curl -sS https://api.facturia.cl/v1/empresas/emp_01K2R6ZC4P8QW1VN7T3MHDY9EK/onboarding \
  -H "Authorization: Bearer $FACTURIA_KEY"

Parámetros

ParámetroEnRequeridoTipoNotas
empresa_idpathstring

Respuestas

CódigoSignificadoCuerpo
200Estado de la puesta en marcha.Onboarding
404No existe ese objeto bajo esta llave.ErrorResponse

GET /empresas/{empresa_id}/automation_settings

Devuelve las automatizaciones de la empresa

curl -sS https://api.facturia.cl/v1/empresas/emp_01K2R6ZC4P8QW1VN7T3MHDY9EK/automation_settings \
  -H "Authorization: Bearer $FACTURIA_KEY"

Parámetros

ParámetroEnRequeridoTipoNotas
empresa_idpathstring

Respuestas

CódigoSignificadoCuerpo
200Las automatizaciones.AutomationSettings

PATCH /empresas/{empresa_id}/automation_settings

Actualiza las automatizaciones de la empresa

Toda automatización viene apagada salvo auto_request_folios. auto_emit_46 y auto_file_f29 se activan empresa por empresa y con tope.

curl -sS -X PATCH https://api.facturia.cl/v1/empresas/emp_01K2R6ZC4P8QW1VN7T3MHDY9EK/automation_settings \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"object":"…","empresa_id":"…"}'

Parámetros

ParámetroEnRequeridoTipoNotas
empresa_idpathstring

Cuerpo

CampoTipoRequeridoNotas
objectstring
empresa_idstring
auto_emit_46booleanPor defecto: false.
auto_emit_46_max_amountClpMonto en CLP. Pesos enteros, nunca decimales ni strings.
auto_file_f29booleanPor defecto: false.
auto_file_f29_dayintegerPor defecto: 18.
auto_file_f29_max_payableClp + any
auto_request_foliosbooleanPor defecto: true.
auto_request_folios_thresholdintegerPor defecto: 50.
auto_accept_receivedbooleanPor defecto: false.
auto_accept_received_after_daysinteger,null
require_confirmationbooleanCuando está en true, las acciones que mueven plata iniciadas desde una superficie de agente — emitir un documento, declarar un F29, registrar un reclamo con las herramientas del servidor MCP — exigen un paso doble borrador → confirmación en vez de ejecutarse en la primera llamada. Existe sobre todo para la superficie MCP; la API REST que describe este documento no cambia, y la bandera vive en este recurso para que un solo objeto de configuración gobierne la empresa en toda superficie. Por defecto: false.
rcv_sync_frequencyhourly · daily · weekly · manualPor defecto: "daily".
updated_atstring
Respuestas
CódigoSignificadoCuerpo
200Las automatizaciones actualizadas.AutomationSettings
400Entrada mal formada o incompleta.ErrorResponse

PATCH /empresas/{empresa_id}/branding

Actualiza el logo, el formato de impresión por defecto y el pie de página

curl -sS -X PATCH https://api.facturia.cl/v1/empresas/emp_01K2R6ZC4P8QW1VN7T3MHDY9EK/branding \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"object":"…","logo_url":"…"}'

Parámetros

ParámetroEnRequeridoTipoNotas
empresa_idpathstring

Cuerpo

CampoTipoRequeridoNotas
objectstring
logo_urlstring
default_pdf_formatcarta · 80mmPor defecto: "carta".
cedible_by_defaultbooleanEn el lanzamiento aplica solo al tipo 33. Por defecto: false.
footer_textstring
Respuestas
CódigoSignificadoCuerpo
200La marca actualizada.Branding

En esta página