Ir al contenido

Límites y saldo

Por defecto, 600 peticiones por minuto por llave (y un techo por IP). Cada respuesta publica la cuota para que un lote pueda regularse antes de chocar:

RateLimit-Limit: 600
RateLimit-Remaining: 574
RateLimit-Reset: 31

Si te pasas, llega un 429 (FACTO-2013) con Retry-After en segundos. Respétalo tal cual: reintenta después de ese tiempo, no antes.

HTTP/1.1 429 Too Many Requests
Retry-After: 31

Para procesos por lotes: mira RateLimit-Remaining y frena tú antes de que frene el servidor. Es la diferencia entre un lote que fluye y uno que tropieza cada minuto.

Las cuentas funcionan con paquetes prepagados de comprobantes. Cada 202 de emisión publica el saldo en cabeceras:

Comprobantes-Restantes: 481
Paquete-Vence: 2026-12-31T05:00:00.000Z

Con eso tu sistema puede avisar «quedan pocos comprobantes» antes de quedarse sin servicio a fin de mes.

Situación HTTP Código Qué pasa
El paquete se agotó 402 FACTO-2018 El comprobante no se emitió y la numeración no avanzó. Recarga y reintenta la misma petición (misma Idempotency-Key).
Los paquetes caducaron 403 FACTO-2019 Igual: nada se emitió. Contacta al operador para recargar.

El detalle que importa: un 402 no deja nada a medias. No hay secuencial consumido ni comprobante fantasma; recargar y repetir la misma petición la completa como si fuera la primera vez.

Y si el SRI rechaza un comprobante (DEVUELTA o NO_AUTORIZADO), ese comprobante se devuelve al paquete: un rechazo del SRI no te cuesta un comprobante del saldo.