Consulta y descargas
Con la clave de acceso consultas el estado y los datos de un comprobante, y descargas el XML autorizado y el RIDE en PDF. Las consultas y las descargas no consumen créditos.
Qué comprobantes se pueden consultar
Cualquier factura, nota de crédito o retención de la empresa del token en su ambiente, emitida desde el API o desde la aplicación. Un comprobante de otra empresa o de otro ambiente responde 404 NO_ENCONTRADO, igual que uno que no existe. Una clave de acceso que no tiene 49 dígitos responde 400 PARAMETRO_INVALIDO.
Las consultas y las descargas funcionan aunque la empresa no tenga créditos o no esté activa.
Datos del comprobante
GET /comprobantes/{claveAcceso} devuelve el comprobante completo. Los campos comunes son:
| Campo | Contenido |
|---|---|
tipo, codDoc | FACTURA (01), NOTA_CREDITO (04) o RETENCION (07). |
numero, claveAcceso | Número con el formato 001-001-000000148 y clave de acceso de 49 dígitos. |
estado | EN_PROCESO, AUTORIZADO, NO_AUTORIZADO, DEVUELTO, ERROR o ANULADO. Ver Estados. |
numeroAutorizacion, fechaAutorizacion | Solo si el SRI lo autorizó. El número de autorización es igual a la clave de acceso. |
fechaEmision, fechaEnvio, fechaActualizacion | Fecha de emisión, cuándo lo recibió el SRI y último cambio del comprobante (con milisegundos). |
total | Importe total; en una retención, el total retenido. |
mensajes | Mensajes del SRI y de Golem sobre su procesamiento. |
anulacion | Fecha, motivo y estado ante el SRI si se anuló en Golem; null si no. |
informacionAdicional | Campos adicionales que se imprimen en el RIDE, incluido “RUC Proveedor”. |
referencia, origen | La referencia de tu sistema y el canal de creación (API, API_ANTERIOR o APP). origen es null en los comprobantes creados antes de la versión 1 del API. |
enlaces | URL del comprobante, del PDF y del XML. pdf y xml son null si todavía no se pueden descargar. |
Según tipo, la respuesta suma:
- Factura:
cliente,items,pagos,totalesyguiaRemision. - Nota de crédito:
cliente,documentoModificado,motivo,itemsytotales. - Retención:
sujetoRetenido,documentoSustento,periodoFiscalyretenciones.
Los datos del cliente son los que se usaron en ese comprobante. Decide qué hacer con la respuesta por el campo tipo e ignora los campos que no conozcas.
Descargar el RIDE en PDF
GET /comprobantes/{claveAcceso}/pdf devuelve el RIDE, la representación impresa del comprobante, con Content-Type: application/pdf. El nombre del archivo viene en Content-Disposition, formado por el tipo y el número: factura-001-001-000000148.pdf, nota-credito-… o retencion-….
Descargar el XML autorizado
GET /comprobantes/{claveAcceso}/xml devuelve el XML con el envoltorio de autorización del SRI, con Content-Type: application/xml. Es el archivo que se entrega al receptor y que la empresa conserva como respaldo del comprobante.
<?xml version="1.0" encoding="UTF-8"?>
<autorizacion>
<estado>AUTORIZADO</estado>
<numeroAutorizacion>2409202601179000000000120010010000001481234567815</numeroAutorizacion>
<fechaAutorizacion>2026-09-24T10:42:31-05:00</fechaAutorizacion>
<ambiente>PRODUCCIÓN</ambiente>
<comprobante><![CDATA[<?xml version="1.0" encoding="UTF-8"?><factura id="comprobante" version="1.1.0">…<ds:Signature>…</ds:Signature></factura>]]></comprobante>
<mensajes/>
</autorizacion>comprobantecontiene, en una sección CDATA, el comprobante firmado con la firma electrónica de la empresa.ambienteesPRODUCCIÓNoPRUEBAS.- Si el XML no está en el almacenamiento de Golem, se pide al SRI. Si el SRI no responde, la descarga responde
503 SRI_NO_DISPONIBLEconRetry-After.
Cuándo se puede descargar
El PDF y el XML existen solo para comprobantes autorizados:
| Estado | Descarga |
|---|---|
AUTORIZADO | Sí |
ANULADO que estuvo autorizado | Sí. El envoltorio del XML dice AUTORIZADO, que es lo que respondió el SRI; la anulación se registró después. |
EN_PROCESO, NO_AUTORIZADO, DEVUELTO, ERROR | No: 409 ESTADO_NO_PERMITE. Un comprobante sin autorización no tiene RIDE válido. |
Antes de descargar, revisa que enlaces.pdf y enlaces.xml no sean null.
Consultar un comprobante
GET /
- Requiere token
Devuelve el comprobante con su estado, número de autorización, totales, ítems y los mensajes del SRI. Sirve para cualquier comprobante de la empresa del token en su ambiente, emitido desde la aplicación o desde el API. Un comprobante de otra empresa o de otro ambiente responde 404.
Límites: 60 solicitudes por minuto por token.
Parámetros
| Campo | Descripción |
|---|---|
claveAcceso ruta string obligatorio | Clave de acceso de 49 dígitos del comprobante.
|
X-Request-Id cabecera string | Identificador propio de la solicitud (hasta 64 caracteres: letras, números y
|
Ejemplo de solicitud
Los ejemplos leen el token de la variable de entorno GOLEM_TOKEN.
curl https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815 \
--max-time 30 \
-H "Authorization: Bearer $GOLEM_TOKEN" const respuesta = await fetch('https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815', {
headers: {
Authorization: `Bearer ${process.env.GOLEM_TOKEN}`,
},
signal: AbortSignal.timeout(30000),
});
const datos = await respuesta.json();
console.log(respuesta.status, datos); import os
import requests
respuesta = requests.get(
"https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815",
headers={
"Authorization": f"Bearer {os.environ['GOLEM_TOKEN']}",
},
timeout=30,
)
print(respuesta.status_code, respuesta.json()) <?php
// composer require guzzlehttp/guzzle
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$cliente = new Client(['base_uri' => 'https://api.golem.ec/v1/', 'timeout' => 30]);
$respuesta = $cliente->get('comprobantes/2409202601179000000000120010010000001481234567815', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('GOLEM_TOKEN'),
],
'http_errors' => false,
]);
echo $respuesta->getStatusCode(), PHP_EOL, $respuesta->getBody(), PHP_EOL; Respuestas
200 application/json
El comprobante.
Esquema Comprobante.
{
"tipo": "FACTURA",
"codDoc": "01",
"claveAcceso": "2409202601179000000000120010010000001481234567815",
"numero": "001-001-000000148",
"estado": "AUTORIZADO",
"ambiente": "PRODUCCION",
"fechaEmision": "2026-09-24",
"fechaEnvio": "2026-09-24T10:42:28-05:00",
"fechaAutorizacion": "2026-09-24T10:42:31-05:00",
"numeroAutorizacion": "2409202601179000000000120010010000001481234567815",
"fechaActualizacion": "2026-09-24T10:42:33.512-05:00",
"establecimiento": "001",
"puntoEmision": "001",
"referencia": null,
"origen": "API",
"total": 89.7,
"cliente": {
"tipoIdentificacion": "04",
"identificacion": "0990000000001",
"razonSocial": "CLIENTE DEMO S.A.",
"email": "[email protected]",
"direccion": null,
"telefono": null
},
"items": [
{
"codigo": "P-001",
"codigoAuxiliar": null,
"descripcion": "Producto de ejemplo",
"cantidad": 10,
"precioUnitario": 7.8,
"descuento": 0,
"subtotal": 78,
"codigoIva": "4",
"tarifaIva": 15,
"valorIva": 11.7,
"detallesAdicionales": []
}
],
"pagos": [
{
"formaPago": "20",
"total": 89.7,
"plazo": null,
"unidadTiempo": null
}
],
"guiaRemision": null,
"totales": {
"subtotal": 78,
"descuento": 0,
"subtotalesIva": [
{
"codigoIva": "4",
"tarifa": 15,
"baseImponible": 78,
"valor": 11.7
}
],
"iva": 11.7,
"propina": 0,
"total": 89.7
},
"mensajes": [],
"anulacion": null,
"informacionAdicional": [
{
"nombre": "RUC Proveedor",
"valor": "0195113076001"
}
],
"enlaces": {
"self": "https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815",
"pdf": "https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815/pdf",
"xml": "https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815/xml"
}
} Más ejemplos de la respuesta 200
{
"tipo": "FACTURA",
"codDoc": "01",
"claveAcceso": "2609202601179000000000120010010000001501122334419",
"numero": "001-001-000000150",
"estado": "DEVUELTO",
"ambiente": "PRODUCCION",
"fechaEmision": "2026-09-26",
"fechaEnvio": "2026-09-26T09:20:11-05:00",
"fechaAutorizacion": null,
"numeroAutorizacion": null,
"fechaActualizacion": "2026-09-26T09:20:12.845-05:00",
"establecimiento": "001",
"puntoEmision": "001",
"referencia": "PED-2026-00483",
"origen": "API",
"total": 11.5,
"cliente": {
"tipoIdentificacion": "04",
"identificacion": "0990000000001",
"razonSocial": "CLIENTE DEMO S.A.",
"email": "[email protected]",
"direccion": null,
"telefono": null
},
"items": [
{
"codigo": "P-002",
"codigoAuxiliar": null,
"descripcion": "Servicio de ejemplo",
"cantidad": 1,
"precioUnitario": 10,
"descuento": 0,
"subtotal": 10,
"codigoIva": "4",
"tarifaIva": 15,
"valorIva": 1.5,
"detallesAdicionales": []
}
],
"pagos": [
{
"formaPago": "20",
"total": 11.5,
"plazo": null,
"unidadTiempo": null
}
],
"guiaRemision": null,
"totales": {
"subtotal": 10,
"descuento": 0,
"subtotalesIva": [
{
"codigoIva": "4",
"tarifa": 15,
"baseImponible": 10,
"valor": 1.5
}
],
"iva": 1.5,
"propina": 0,
"total": 11.5
},
"mensajes": [
{
"origen": "SRI",
"identificador": "56",
"mensaje": "ESTABLECIMIENTO CERRADO",
"informacionAdicional": "El establecimiento 001 del RUC 1790000000001 está cerrado en el catastro.",
"tipo": "ERROR"
}
],
"anulacion": null,
"informacionAdicional": [],
"enlaces": {
"self": "https://api.golem.ec/v1/comprobantes/2609202601179000000000120010010000001501122334419",
"pdf": null,
"xml": null
}
} {
"tipo": "NOTA_CREDITO",
"codDoc": "04",
"claveAcceso": "2609202604179000000000120010010000000095550123411",
"numero": "001-001-000000009",
"estado": "AUTORIZADO",
"ambiente": "PRODUCCION",
"fechaEmision": "2026-09-26",
"fechaEnvio": "2026-09-26T11:02:40-05:00",
"fechaAutorizacion": "2026-09-26T11:02:43-05:00",
"numeroAutorizacion": "2609202604179000000000120010010000000095550123411",
"fechaActualizacion": "2026-09-26T11:02:44.087-05:00",
"establecimiento": "001",
"puntoEmision": "001",
"referencia": "DEV-2026-0012",
"origen": "API",
"total": 17.94,
"cliente": {
"tipoIdentificacion": "04",
"identificacion": "0990000000001",
"razonSocial": "CLIENTE DEMO S.A.",
"email": "[email protected]",
"direccion": null,
"telefono": null
},
"documentoModificado": {
"codDoc": "01",
"numero": "001-001-000000148",
"fechaEmision": "2026-09-24",
"claveAcceso": "2409202601179000000000120010010000001481234567815"
},
"motivo": "Devolución de 2 unidades",
"items": [
{
"codigo": "P-001",
"codigoAuxiliar": null,
"descripcion": "Producto de ejemplo",
"cantidad": 2,
"precioUnitario": 7.8,
"descuento": 0,
"subtotal": 15.6,
"codigoIva": "4",
"tarifaIva": 15,
"valorIva": 2.34,
"detallesAdicionales": []
}
],
"totales": {
"subtotal": 15.6,
"descuento": 0,
"subtotalesIva": [
{
"codigoIva": "4",
"tarifa": 15,
"baseImponible": 15.6,
"valor": 2.34
}
],
"iva": 2.34,
"total": 17.94
},
"mensajes": [],
"anulacion": null,
"informacionAdicional": [
{
"nombre": "RUC Proveedor",
"valor": "0195113076001"
}
],
"enlaces": {
"self": "https://api.golem.ec/v1/comprobantes/2609202604179000000000120010010000000095550123411",
"pdf": "https://api.golem.ec/v1/comprobantes/2609202604179000000000120010010000000095550123411/pdf",
"xml": "https://api.golem.ec/v1/comprobantes/2609202604179000000000120010010000000095550123411/xml"
}
} {
"tipo": "RETENCION",
"codDoc": "07",
"claveAcceso": "2609202607179000000000120010010000000223141592611",
"numero": "001-001-000000022",
"estado": "AUTORIZADO",
"ambiente": "PRODUCCION",
"fechaEmision": "2026-09-26",
"fechaEnvio": "2026-09-26T12:10:05-05:00",
"fechaAutorizacion": "2026-09-26T12:10:08-05:00",
"numeroAutorizacion": "2609202607179000000000120010010000000223141592611",
"fechaActualizacion": "2026-09-26T12:10:09.301-05:00",
"establecimiento": "001",
"puntoEmision": "001",
"referencia": "CXP-2026-0931",
"origen": "API",
"total": 62.5,
"sujetoRetenido": {
"tipoIdentificacion": "04",
"identificacion": "0990000000001",
"razonSocial": "PROVEEDOR DEMO S.A.",
"email": "[email protected]",
"direccion": null,
"telefono": null
},
"periodoFiscal": "2026-09",
"documentoSustento": {
"codDoc": "01",
"numero": "002-001-000004521",
"fechaEmision": "2026-09-22",
"claveAcceso": null
},
"retenciones": [
{
"codigoImpuesto": "1",
"codigoRetencion": "312",
"baseImponible": 1000,
"porcentaje": 1.75,
"valorRetenido": 17.5
},
{
"codigoImpuesto": "2",
"codigoRetencion": "1",
"baseImponible": 150,
"porcentaje": 30,
"valorRetenido": 45
}
],
"mensajes": [],
"anulacion": null,
"informacionAdicional": [
{
"nombre": "RUC Proveedor",
"valor": "0195113076001"
}
],
"enlaces": {
"self": "https://api.golem.ec/v1/comprobantes/2609202607179000000000120010010000000223141592611",
"pdf": "https://api.golem.ec/v1/comprobantes/2609202607179000000000120010010000000223141592611/pdf",
"xml": "https://api.golem.ec/v1/comprobantes/2609202607179000000000120010010000000223141592611/xml"
}
} Errores: HTTP 400, 401, 404, 429, 500
| HTTP | Código | Causa y solución |
|---|---|---|
| 400 | JSON_INVALIDO | El cuerpo no es un JSON válido. Revisa la sintaxis cerca de la línea y la columna que indica el mensaje. |
| 400 | VALIDACION | Uno o más campos no cumplen el formato. Corrige los campos de |
| 400 | PARAMETRO_INVALIDO | Un parámetro de la ruta o de la consulta no es válido: por ejemplo, una clave de acceso sin 49 dígitos, un rango de fechas de más de 366 días o un Corrige el parámetro que indica |
| 400 | IDEMPOTENCY_KEY_INVALIDA | La cabecera Genera la clave con un UUID v4. |
| 400 | TOKEN_EN_URL | La URL incluye Envía el token solo en la cabecera |
| 401 | TOKEN_REQUERIDO | Falta la cabecera Envía |
| 401 | TOKEN_INVALIDO | El token no existe o no tiene el formato de un token de Golem. Copia el token completo, con su prefijo. Si no lo tienes, crea otro: Golem no puede mostrarlo de nuevo. |
| 401 | TOKEN_REVOCADO | El token fue revocado. Crea otro en Cuenta > API e integraciones. |
| 404 | NO_ENCONTRADO | El recurso no existe en la empresa y el ambiente del token, o el catálogo no existe. Revisa la clave de acceso y que el token sea del mismo ambiente en que se emitió el comprobante. |
| 429 | LIMITE_EXCEDIDO | Se superó un límite de solicitudes por minuto. Repite la solicitud después de los segundos de |
| 500 | ERROR_INTERNO | Error inesperado de Golem. Si ocurrió al emitir, repite la solicitud con la misma |
Formato y lista completa en Errores.
Descargar el RIDE en PDF
GET /
- Requiere token
Devuelve el RIDE (representación impresa) del comprobante autorizado. Un comprobante que no llegó a autorizarse no tiene RIDE válido y responde 409 ESTADO_NO_PERMITE. Un comprobante anulado en Golem que estuvo autorizado sí se puede descargar.
Límites: 60 solicitudes por minuto por token.
Parámetros
| Campo | Descripción |
|---|---|
claveAcceso ruta string obligatorio | Clave de acceso de 49 dígitos del comprobante.
|
X-Request-Id cabecera string | Identificador propio de la solicitud (hasta 64 caracteres: letras, números y
|
Ejemplo de solicitud
Los ejemplos leen el token de la variable de entorno GOLEM_TOKEN.
curl https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815/pdf \
--max-time 30 \
-H "Authorization: Bearer $GOLEM_TOKEN" \
-o factura-001-001-000000148.pdf import { writeFile } from 'node:fs/promises';
const respuesta = await fetch('https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815/pdf', {
headers: {
Authorization: `Bearer ${process.env.GOLEM_TOKEN}`,
},
signal: AbortSignal.timeout(30000),
});
if (!respuesta.ok) throw new Error(`${respuesta.status}: ${await respuesta.text()}`);
await writeFile('factura-001-001-000000148.pdf', Buffer.from(await respuesta.arrayBuffer())); import os
import requests
respuesta = requests.get(
"https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815/pdf",
headers={
"Authorization": f"Bearer {os.environ['GOLEM_TOKEN']}",
},
timeout=30,
)
respuesta.raise_for_status()
with open("factura-001-001-000000148.pdf", "wb") as archivo:
archivo.write(respuesta.content) <?php
// composer require guzzlehttp/guzzle
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$cliente = new Client(['base_uri' => 'https://api.golem.ec/v1/', 'timeout' => 30]);
$respuesta = $cliente->get('comprobantes/2409202601179000000000120010010000001481234567815/pdf', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('GOLEM_TOKEN'),
],
'sink' => 'factura-001-001-000000148.pdf',
]);
echo $respuesta->getStatusCode(), PHP_EOL; Respuestas
200 application/pdf
El archivo PDF.
Errores: HTTP 400, 401, 404, 409, 429, 500, 503
| HTTP | Código | Causa y solución |
|---|---|---|
| 400 | JSON_INVALIDO | El cuerpo no es un JSON válido. Revisa la sintaxis cerca de la línea y la columna que indica el mensaje. |
| 400 | VALIDACION | Uno o más campos no cumplen el formato. Corrige los campos de |
| 400 | PARAMETRO_INVALIDO | Un parámetro de la ruta o de la consulta no es válido: por ejemplo, una clave de acceso sin 49 dígitos, un rango de fechas de más de 366 días o un Corrige el parámetro que indica |
| 400 | IDEMPOTENCY_KEY_INVALIDA | La cabecera Genera la clave con un UUID v4. |
| 400 | TOKEN_EN_URL | La URL incluye Envía el token solo en la cabecera |
| 401 | TOKEN_REQUERIDO | Falta la cabecera Envía |
| 401 | TOKEN_INVALIDO | El token no existe o no tiene el formato de un token de Golem. Copia el token completo, con su prefijo. Si no lo tienes, crea otro: Golem no puede mostrarlo de nuevo. |
| 401 | TOKEN_REVOCADO | El token fue revocado. Crea otro en Cuenta > API e integraciones. |
| 404 | NO_ENCONTRADO | El recurso no existe en la empresa y el ambiente del token, o el catálogo no existe. Revisa la clave de acceso y que el token sea del mismo ambiente en que se emitió el comprobante. |
| 409 | ESTADO_NO_PERMITE | El estado del comprobante no permite la operación: descarga de un comprobante no autorizado, reproceso de uno autorizado o reenvío del correo de uno no autorizado. Consulta el estado del comprobante. Para corregir uno no autorizado, emite uno nuevo. |
| 429 | LIMITE_EXCEDIDO | Se superó un límite de solicitudes por minuto. Repite la solicitud después de los segundos de |
| 500 | ERROR_INTERNO | Error inesperado de Golem. Si ocurrió al emitir, repite la solicitud con la misma |
| 503 | SRI_NO_DISPONIBLE | El SRI no responde. Repite la solicitud después de los segundos de |
| 503 | SERVICIO_NO_DISPONIBLE | Un servicio interno de Golem no responde. Repite la solicitud después de los segundos de |
| 503 | MANTENIMIENTO | Golem está en mantenimiento. Los mantenimientos se avisan por correo con 24 horas de anticipación. Repite la solicitud después de los segundos de |
Formato y lista completa en Errores.
Descargar el XML autorizado
GET /
- Requiere token
Devuelve el XML autorizado con el envoltorio de autorización del SRI: el elemento autorizacion con estado, numeroAutorizacion, fechaAutorizacion, ambiente y el comprobante firmado dentro de comprobante (CDATA). Es el archivo que se entrega al receptor y que se conserva por 7 años.
Solo existe para comprobantes autorizados (también los anulados en Golem que estuvieron autorizados). Si el XML no está en el almacenamiento de Golem, se pide al SRI; si el SRI no responde, 503 con Retry-After.
Límites: 60 solicitudes por minuto por token.
Parámetros
| Campo | Descripción |
|---|---|
claveAcceso ruta string obligatorio | Clave de acceso de 49 dígitos del comprobante.
|
X-Request-Id cabecera string | Identificador propio de la solicitud (hasta 64 caracteres: letras, números y
|
Ejemplo de solicitud
Los ejemplos leen el token de la variable de entorno GOLEM_TOKEN.
curl https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815/xml \
--max-time 30 \
-H "Authorization: Bearer $GOLEM_TOKEN" \
-o factura-001-001-000000148.xml import { writeFile } from 'node:fs/promises';
const respuesta = await fetch('https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815/xml', {
headers: {
Authorization: `Bearer ${process.env.GOLEM_TOKEN}`,
},
signal: AbortSignal.timeout(30000),
});
if (!respuesta.ok) throw new Error(`${respuesta.status}: ${await respuesta.text()}`);
await writeFile('factura-001-001-000000148.xml', Buffer.from(await respuesta.arrayBuffer())); import os
import requests
respuesta = requests.get(
"https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815/xml",
headers={
"Authorization": f"Bearer {os.environ['GOLEM_TOKEN']}",
},
timeout=30,
)
respuesta.raise_for_status()
with open("factura-001-001-000000148.xml", "wb") as archivo:
archivo.write(respuesta.content) <?php
// composer require guzzlehttp/guzzle
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$cliente = new Client(['base_uri' => 'https://api.golem.ec/v1/', 'timeout' => 30]);
$respuesta = $cliente->get('comprobantes/2409202601179000000000120010010000001481234567815/xml', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('GOLEM_TOKEN'),
],
'sink' => 'factura-001-001-000000148.xml',
]);
echo $respuesta->getStatusCode(), PHP_EOL; Respuestas
200 application/xml
El XML autorizado.
<?xml version="1.0" encoding="UTF-8"?>
<autorizacion>
<estado>AUTORIZADO</estado>
<numeroAutorizacion>2409202601179000000000120010010000001481234567815</numeroAutorizacion>
<fechaAutorizacion>2026-09-24T10:42:31-05:00</fechaAutorizacion>
<ambiente>PRODUCCIÓN</ambiente>
<comprobante><![CDATA[<?xml version="1.0" encoding="UTF-8"?><factura id="comprobante" version="1.1.0">…<ds:Signature>…</ds:Signature></factura>]]></comprobante>
<mensajes/>
</autorizacion> Errores: HTTP 400, 401, 404, 409, 429, 500, 503
| HTTP | Código | Causa y solución |
|---|---|---|
| 400 | JSON_INVALIDO | El cuerpo no es un JSON válido. Revisa la sintaxis cerca de la línea y la columna que indica el mensaje. |
| 400 | VALIDACION | Uno o más campos no cumplen el formato. Corrige los campos de |
| 400 | PARAMETRO_INVALIDO | Un parámetro de la ruta o de la consulta no es válido: por ejemplo, una clave de acceso sin 49 dígitos, un rango de fechas de más de 366 días o un Corrige el parámetro que indica |
| 400 | IDEMPOTENCY_KEY_INVALIDA | La cabecera Genera la clave con un UUID v4. |
| 400 | TOKEN_EN_URL | La URL incluye Envía el token solo en la cabecera |
| 401 | TOKEN_REQUERIDO | Falta la cabecera Envía |
| 401 | TOKEN_INVALIDO | El token no existe o no tiene el formato de un token de Golem. Copia el token completo, con su prefijo. Si no lo tienes, crea otro: Golem no puede mostrarlo de nuevo. |
| 401 | TOKEN_REVOCADO | El token fue revocado. Crea otro en Cuenta > API e integraciones. |
| 404 | NO_ENCONTRADO | El recurso no existe en la empresa y el ambiente del token, o el catálogo no existe. Revisa la clave de acceso y que el token sea del mismo ambiente en que se emitió el comprobante. |
| 409 | ESTADO_NO_PERMITE | El estado del comprobante no permite la operación: descarga de un comprobante no autorizado, reproceso de uno autorizado o reenvío del correo de uno no autorizado. Consulta el estado del comprobante. Para corregir uno no autorizado, emite uno nuevo. |
| 429 | LIMITE_EXCEDIDO | Se superó un límite de solicitudes por minuto. Repite la solicitud después de los segundos de |
| 500 | ERROR_INTERNO | Error inesperado de Golem. Si ocurrió al emitir, repite la solicitud con la misma |
| 503 | SRI_NO_DISPONIBLE | El SRI no responde. Repite la solicitud después de los segundos de |
| 503 | SERVICIO_NO_DISPONIBLE | Un servicio interno de Golem no responde. Repite la solicitud después de los segundos de |
| 503 | MANTENIMIENTO | Golem está en mantenimiento. Los mantenimientos se avisan por correo con 24 horas de anticipación. Repite la solicitud después de los segundos de |
Formato y lista completa en Errores.