Saltar al contenido principal

Rate Limits

La API tiene limites de requests por minuto por endpoint para garantizar la estabilidad del servicio.

Limites por endpoint

EndpointLimiteVentana
GET /templates100 req1 minuto
GET /templates/\{id\}100 req1 minuto
POST /credentials/validate30 req1 minuto
POST /credentials/issue20 req1 minuto
GET /credentials/\{id\}100 req1 minuto
GET /jobs/\{id\}60 req1 minuto

Los limites se aplican por API key (no por IP).

Headers de respuesta

Cada respuesta incluye headers con informacion del rate limit:

X-RateLimit-Limit: 20
X-RateLimit-Remaining: 17
X-RateLimit-Reset: 1708646400
HeaderDescripcion
X-RateLimit-LimitRequests permitidos en la ventana
X-RateLimit-RemainingRequests restantes en la ventana actual
X-RateLimit-ResetTimestamp Unix cuando se reinicia la ventana

Cuando se excede el limite

Si excedes el limite, recibes un 429 Too Many Requests:

{
"detail": "Rate limit exceeded"
}

Con headers adicionales:

Retry-After: 60
X-RateLimit-Limit: 20
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1708646400

Recomendaciones

  • Implementa backoff exponencial en tu cliente cuando recibas 429
  • Usa el header Retry-After para saber cuanto esperar
  • Valida antes de emitir: usa POST /credentials/validate para detectar errores sin gastar requests de emision
  • Emision masiva: en vez de 100 requests individuales, usa un solo request con 100 recipientes en el array