# Referencia de la API (/docs/referencia)



Todas las operaciones se llaman sobre la URL base `https://api.enrolamiento.cl`. Cada request se autentica con HTTP
Basic, con su usuario y su APIKey: vea [Autenticación](/docs/autenticacion/).

Las operaciones que reciben `ambiente` corren en producción si se omite. Mientras prueba, páselo en
`0` (homologación): `ambiente=0` en la query o, donde el ambiente es un segmento de la ruta, `0` en ese
segmento. Vea [Ambientes](/docs/ambientes/).

**Siempre en producción.** [Anular folios emitidos](/docs/referencia/caf/anulacion-masiva-anular/) y [Listar folios anulables](/docs/referencia/caf/anulacion-masiva-listar/) no reciben `ambiente`: operan siempre en producción, también mientras usted prueba. Para probarlas sin tocar el SII, use el RUT 1-9 o un RUT de prueba del cliente. Anular folios emitidos, además, es irreversible, igual que [Anular rango de folios](/docs/referencia/caf/anular/), que corre en producción si se omite `ambiente`.

**El ambiente en la ruta.** En [Actualizar permisos de usuario](/docs/referencia/empresas/permisos/) el ambiente no va en la query: es un segmento de la ruta (`POST /v1/empresas/{rutEmpresa}/permisos/{rutUsuario}/{ambiente}`). Para homologación, ese segmento es `0`; si lo omite, la operación corre en producción.

## CAF [#caf]

| Método | Operación | Qué hace |
|---|---|---|
| `POST` | [Consultar último folio](/docs/referencia/caf/consulta/) | Consultar el último folio emitido para el tipo de documento |
| `POST` | [Listar CAF](/docs/referencia/caf/listar/) | Listar los CAF que el SII tiene autorizados para la empresa y el tipo de documento, en el ambiente pedido |
| `POST` | [Consultar estado de folios](/docs/referencia/caf/estado-folios/) | Consultar en el SII el estado de un rango de folios: disponibles, utilizados y anulados |
| `POST` | [Reobtener CAF](/docs/referencia/caf/reobtener/) | Reobtener un CAF ya timbrado desde el SII: el último o, con folioInicial, el que empieza en ese folio |
| `POST` | [Descargar CAF](/docs/referencia/caf/descargar/) | Descargar un CAF desde el SII |
| `POST` | [Anular rango de folios](/docs/referencia/caf/anular/) | Anular un rango de folios en el SII |
| `POST` | [Consultar folios anulados](/docs/referencia/caf/anulados/) | Consultar los rangos de folios anulados para el tipo de documento |
| `POST` | [Listar folios anulables](/docs/referencia/caf/anulacion-masiva-listar/) | Consultar el listado de folios emitidos para anulación masiva |
| `POST` | [Anular folios emitidos](/docs/referencia/caf/anulacion-masiva-anular/) | Anular folios emitidos de forma masiva para un CAF |
| `DELETE` | [Olvidar rechazos del SII](/docs/referencia/caf/olvidar-memoria/) | Olvidar la memoria de rechazos del SII de una empresa. Solo para operaciones |

## Certificaciones v1 [#certificaciones-v1]

| Método | Operación | Qué hace |
|---|---|---|
| `GET` | [Buscar certificaciones](/docs/referencia/certificaciones-v1/buscar/) | Buscar certificación, especificando un set de filtros |
| `GET` | [Consultar estadísticas](/docs/referencia/certificaciones-v1/stats/) | Muestra estadísticas de las certificaciones |
| `POST` | [Actualizar certificación](/docs/referencia/certificaciones-v1/actualizar/) | Actualizar los datos de una certificación |
| `POST` | [Actualizar casillas de intercambio](/docs/referencia/certificaciones-v1/actualizar-casillas-intercambio/) | Actualiza casillas de intercambio en el SII para la empresa en el ambiente de producción |
| `GET` | [Consultar certificación](/docs/referencia/certificaciones-v1/consultar/) | Obtener los datos de una certificación, dado el RUT de la empresa |
| `POST` | [Crear certificación](/docs/referencia/certificaciones-v1/crear/) | Crear una nueva certificación |
| `POST` | [Declarar cumplimiento](/docs/referencia/certificaciones-v1/declarar-cumplimiento/) | Declarar cumplimiento a la certificación en curso |
| `POST` | [Iniciar certificación](/docs/referencia/certificaciones-v1/iniciar/) | Iniciar el proceso de certificación |
| `POST` | [Reiniciar certificación](/docs/referencia/certificaciones-v1/reiniciar/) | Reinicia la certificación, eliminando todos los datos generados para la misma |

## Certificaciones v2 [#certificaciones-v2]

| Método | Operación | Qué hace |
|---|---|---|
| `POST` | [Actualizar certificación](/docs/referencia/certificaciones-v2/actualizar/) | Actualizar los datos de una certificación |
| `POST` | [Crear certificación](/docs/referencia/certificaciones-v2/crear/) | Crear una nueva certificación |
| `POST` | [Iniciar certificación](/docs/referencia/certificaciones-v2/iniciar/) | Iniciar el proceso de certificación |

## Certificados [#certificados]

| Método | Operación | Qué hace |
|---|---|---|
| `POST` | [Descargar certificado E-Cert](/docs/referencia/certificados/descargar-e-cert/) | Descargar un certificado desde E-Cert |
| `POST` | [Solicitar certificado](/docs/referencia/certificados/solicitar/) | Solicita un certificado |
| `POST` | [Validar certificado](/docs/referencia/certificados/validar/) | Valida que el certificado tenga permisos para la empresa |

## Empresas [#empresas]

| Método | Operación | Qué hace |
|---|---|---|
| `POST` | [Actualizar permisos de usuario](/docs/referencia/empresas/permisos/) | Actualiza el usuario con RUT \{rutUsuario} con permisos en el SII para la empresa con RUT \{rutEmpresa} |
| `POST` | [Consultar empresa (alias)](/docs/referencia/empresas/consultar/) | Obtiene la información de la empresa |
| `POST` | [Obtener datos de empresa](/docs/referencia/empresas/datos/) | Obtiene la información de la empresa |

## Mensajes de error comunes [#mensajes-de-error-comunes]

El texto con que llegan estos códigos en la mayoría de las operaciones que pueden responderlos, con status 500 si no se indica otro; entre llaves, lo que cambia en cada llamada. Qué hacer con cada uno está en [Errores y reintentos](/docs/errores-y-reintentos/).

| Código | Mensaje |
|---|---|
| `CERT_ERROR` | `Error validando el certificado. {detalle}` |
| `CERT_EXPIRADO` | `El certificado se encuentra expirado.` |
| `CERT_NO_CONFIGURADO_AUTH` | `El certificado no se encuentra configurado correctamente para autenticarse en el SII.` |
| `CERT_NO_VALIDO` | `El rut del certificado termina en "k" minúscula y no puede ser usado. Puede revocarlo y generarlo nuevamente o usar otro.` |
| `CERT_REQUERIDO` | `Los datos del certificado son requeridos.` |
| `CERT_REVOCADO` | `El certificado digital de la empresa fue revocado por su titular o por la entidad emisora. Hay que emitir uno nuevo y volver a mandarlo.` |
| `CERT_SIN_PERMISO` | `El certificado no tiene permisos para la empresa {rut}.`; o `El certificado no tiene permisos para la empresa.` |
| `CERTIFICACION_EXISTE_EN_OTRO_CLIENTE` | `Ya existe una certificación en progreso para la empresa {rut}.` |
| `CONTRIBUYENTE_SIN_PERMISO` | `Error consultado folios en el SII. {detalle}` |
| `DATOS_REQUERIDOS` | `Los datos para crear la certificacion son requeridos.` |
| `ERROR_GENERAL` | `El RUT no puede ser nulo.`; o `El rut {rut} no es valido.` |
| `INSUFICIENTE_SALDO` | `No es posible crear la certificación en estos momentos, por favor verifique su saldo e intente nuevamente.` |
| `NO_CERTIFICATE` | `No se especifico un certificado, y en la plataforma no existe uno.` |
| `PRODUCTO_REQUERIDO` | `Debe configurar al menos un producto para continuar.` |
| `SEC_EMP_NOT_AUTHORIZED` | `El SII rechazo la operacion: la empresa no esta autorizada para operar en esta modalidad (facturacion MiPyme del SII).` |
| `SEC_USER_BOLSII` | `El SII rechazo la operacion: el contribuyente es usuario del Sistema de Emision de Boletas Electronicas del SII.` |
| `SEC_USER_NOT_AUTHENTICATED` | `El SII rechazo la operacion: el certificado no quedo autenticado en el sitio del SII.` |
| `SERVICIO_REQUERIDO` | `Debe configurar al menos un servicio para continuar.` |
| `SET_AMBAS_BOLETAS_JUNTAS` | `No se puede certificar ambos SET de Boleta (Afecta y Exenta) en una misma certificación.` |
| `SET_DTE_BOLETA_JUNTOS` | `No se pueden certificar SET de DTE y Boletas en una misma certificación.` |
| `SET_REQUERIDO` | `Debe especificar al menos un SET para certificar.` |
| `SII_ERROR_CXN` | `Error de comunicacion con el SII, intente nuevamente.`; o `No fue posible validar el certificado, intente nuevamente.` |
| `SII_RESPUESTA_INESPERADA` | `El SII devolvio una respuesta que no se pudo interpretar para esta empresa. No reintente; contacte a soporte indicando el RUT.` |
| `UKN` | `Error consultado folios en el SII. {detalle}` |
| `VALOR_REQUERIDO` | `Se debe espeficiar al menos un valor a actualizar.` |

## El contrato [#el-contrato]

El contrato OpenAPI completo, con los ejemplos de código de cada operación, está en
[/openapi.json](/openapi.json).
