Rate Limits
La API tiene limites de requests por minuto por endpoint para garantizar la estabilidad del servicio.
Limites por endpoint
| Endpoint | Limite | Ventana |
|---|---|---|
GET /templates | 100 req | 1 minuto |
GET /templates/\{id\} | 100 req | 1 minuto |
POST /credentials/validate | 30 req | 1 minuto |
POST /credentials/issue | 20 req | 1 minuto |
GET /credentials/\{id\} | 100 req | 1 minuto |
GET /jobs/\{id\} | 60 req | 1 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
| Header | Descripcion |
|---|---|
X-RateLimit-Limit | Requests permitidos en la ventana |
X-RateLimit-Remaining | Requests restantes en la ventana actual |
X-RateLimit-Reset | Timestamp 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-Afterpara saber cuanto esperar - Valida antes de emitir: usa
POST /credentials/validatepara 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