Too Many Requests
Estado HTTP: 429 Too Many Requests
La solicitud fue limitada. Revisa el campo code para distinguir entre un límite de solicitudes de la API y un período de espera específico de una operación.
Códigos
RESEND_COOLDOWN
Se pidió reenviar el correo de verificación (desde la aplicación web) antes de que transcurriera el período de espera de 60 segundos del lado del servidor. Este período de espera por cuenta evita la inundación de correos sin importar la IP.
Qué hacer: Espera 60 segundos desde la solicitud de reenvío anterior, luego vuelve a intentarlo.
TOO_MANY_REQUESTS — límite de solicitudes de la API
Tu API key excedió el límite de solicitudes por minuto.
Límites (por API key):
- Endpoints de escritura (POST): 60 solicitudes / minuto
- Endpoints de lectura (GET): 300 solicitudes / minuto
Los límites de solicitudes son escalonados por plan. Los planes de suscripción más altos tienen límites más altos — consulta los detalles de tu plan.
Qué hacer:
- Espera y reintenta — Los límites de solicitudes se reinician cada minuto.
- Implementa retroceso exponencial — Cuando recibas un 429, espera 1 s, luego 2 s, luego 4 s, etc. antes de reintentar.
- Optimiza tus solicitudes — Agrupa cuando sea posible, guarda en caché los resultados de lectura, evita el sondeo (polling) en un ciclo cerrado.
- Mejora tu plan — Si alcanzas los límites de forma constante, un plan más alto los aumentará.
Ejemplo de lógica de reintento (JavaScript)
async function requestWithRetry(fn, maxRetries = 3) {
let attempt = 0;
while (attempt < maxRetries) {
try {
return await fn();
} catch (error) {
if (error.status === 429) {
const waitMs = Math.pow(2, attempt) * 1000; // 1s, 2s, 4s...
console.log(`Límite alcanzado. Reintentando en ${waitMs}ms...`);
await new Promise(resolve => setTimeout(resolve, waitMs));
attempt++;
} else {
throw error;
}
}
}
throw new Error('Se excedió el número máximo de reintentos');
}Ejemplos de respuesta
{
"type": "https://docs.comprobify.com/errors/too-many-requests",
"title": "Too Many Requests",
"status": 429,
"code": "TOO_MANY_REQUESTS",
"detail": "Se excedió el límite de solicitudes para esta API key",
"instance": "/v1/documents"
}