Consulta de CAEs
Esta ruta devuelve los CAEs asociados a la empresa indicada en X-Emisor.
Lectura rápida
| Método | Endpoint |
|---|---|
GET | /v2/cae/consulta |
GET https://api-test.facturaelectronica.com.uy/v2/cae/consulta?incluir_vencidos=false&incluir_inactivos=false&incluir_consumidos=false
Authorization: Bearer ACCESS_TOKEN
X-Emisor: 219999830019
Headers requeridos
| Header | Tipo o valor esperado | Requerido | Descripción |
|---|---|---|---|
Authorization | Bearer ACCESS_TOKEN | Sí | Bearer token obtenido en Autenticación. |
X-Emisor | String o Int64 | Sí | RUT de la empresa cuyos CAEs se consultan. |
Query params
| Query param | Tipo | Requerido | Default | Descripción |
|---|---|---|---|---|
incluir_vencidos | Boolean | No | false | Si es true, incluye CAEs vencidos o no vigentes. |
incluir_inactivos | Boolean | No | false | Si es true, incluye CAEs inactivos. |
incluir_consumidos | Boolean | No | false | Si es true, incluye CAEs sin numeración disponible para emitir. |
tipo_comprobante | Int | No | null | Filtra por tipo de comprobante. Ej.: 111 para e-Factura. |
Comportamiento por defecto
- La consulta sólo devuelve CAEs de la empresa resuelta desde
X-Emisor. - Si no enviás filtros, la API excluye CAEs inactivos.
- Si no enviás filtros, la API excluye CAEs vencidos o no vigentes.
- Si no enviás filtros, la API excluye CAEs consumidos, es decir, sin libreta activa con numeración disponible.
Qué significa disponible
Un CAE se considera disponible cuando está activo, vigente y tiene al menos una libreta activa cuyo actual no superó hasta.
Respuesta exitosa
{
"Success": ["Consulta realizada correctamente"],
"Data": [
{
"tipo_comprobante": 111,
"documento_tipo": { "codigo": 111, "nombre": "e-Factura" },
"serie": "A",
"desde": 1,
"hasta": 1000,
"activo": true,
"numero_autorizacion": 123456789012,
"fecha_autorizacion": "2026-01-01T00:00:00",
"fecha_vencimiento": "2026-12-31T00:00:00",
"tipo_autorizacion": "E",
"causal_cae_esp": null,
"vigente": true,
"disponible": true,
"libretas": [
{
"sucursal_cod": 1,
"sucursal_nombre": "Casa central",
"desde": 1,
"hasta": 1000,
"actual": 57,
"activa": true,
"disponible": true
}
]
}
]
}
Campos de la respuesta
| Campo | Tipo | Descripción |
|---|---|---|
Success | Array de strings | Mensajes de éxito de la operación. |
Data | Array de objetos | Lista de CAEs encontrados para la empresa. |
Data[].tipo_comprobante | Int | Tipo de CFE autorizado por el CAE. |
Data[].documento_tipo | Obj | Datos resumidos del tipo de comprobante. |
Data[].documento_tipo.codigo | Int | Código del tipo de comprobante. |
Data[].documento_tipo.nombre | String | Nombre del tipo de comprobante. |
Data[].serie | String | Serie autorizada por el CAE. |
Data[].desde | Int | Primer número autorizado del rango. |
Data[].hasta | Int | Último número autorizado del rango. |
Data[].activo | Boolean | Indica si el CAE está activo en el sistema. |
Data[].numero_autorizacion | Int64 | Número de autorización del CAE. |
Data[].fecha_autorizacion | DateTime | Fecha de autorización del CAE. |
Data[].fecha_vencimiento | DateTime | Fecha de vencimiento del CAE. |
Data[].tipo_autorizacion | String | Tipo de autorización informado por DGI. |
Data[].causal_cae_esp | Int o null | Causal asociada a CAE especial, si aplica. |
Data[].vigente | Boolean | Indica si el CAE sigue vigente a la fecha de consulta. |
Data[].disponible | Boolean | Indica si todavía puede usarse para emitir. |
Data[].libretas | Array de objetos | Libretas asociadas al CAE. |
Data[].libretas[].sucursal_cod | Int o null | Código de sucursal de la libreta. |
Data[].libretas[].sucursal_nombre | String o null | Nombre de la sucursal de la libreta. |
Data[].libretas[].desde | Int | Inicio del rango de la libreta. |
Data[].libretas[].hasta | Int | Fin del rango de la libreta. |
Data[].libretas[].actual | Int | Próximo número o numeración actual de uso. |
Data[].libretas[].activa | Boolean | Indica si la libreta está activa. |
Data[].libretas[].disponible | Boolean | Indica si esa libreta todavía puede emitir. |
Errores comunes
Empresa no encontrada
La API responde 400 Bad Request si no puede resolver la empresa del emisor informado.
[
{
"Tipo": "Error",
"TipoCodigo": 3,
"Detalle": {
"Parametro": "empresa",
"Errores": [
"No se encontró la empresa del emisor informado."
],
"Data": null
}
}
]
Error interno
La API responde 500 Internal Server Error si falla la consulta.
[
{
"Tipo": "Error",
"TipoCodigo": 3,
"Detalle": {
"Parametro": "sistema",
"Errores": [
"Error interno al consultar CAEs."
]
}
}
]
Recomendación
- Usá la consulta sin flags para poblar selectores o validar disponibilidad real de emisión.
- Activá
incluir_vencidos,incluir_inactivosoincluir_consumidossólo si necesitás auditoría o diagnóstico histórico. - Si filtrás por
tipo_comprobante, apoyate en Tablas de referencia para mapear códigos DGI.