Cabeceras en tiempo real · Retry-After en un 429 · Ventanas por clave
Límites de uso de la API.
Cada respuesta pública lleva el estado actual de tu ventana, para que un agente pueda regular su ritmo en lugar de descubrir el límite al ser rechazado.
La política
Una ventana fija en la superficie pública, contada por credencial.
120 requests / 60s · policy "public"Las peticiones que llevan una clave bearer se cuentan contra esa clave; el resto se cuenta contra la IP del cliente, de modo que un agente ruidoso no puede gastar el presupuesto de una dirección compartida.
La ventana es fija, no deslizante: se reinicia en un límite de reloj, y el valor `reset` de las cabeceras son los segundos que faltan para ese límite.
Cabeceras
Se envían ambas grafías. Lee la que tu cliente ya entienda.
`RateLimit-Policy` está siempre presente, porque la política es cierta se haya podido contar la petición o no. Los contadores en tiempo real solo se envían cuando hay un recuento real detrás — un entorno que no puede alcanzar el contador los omite en lugar de anunciar un presupuesto que nadie ha medido.
| Cabecera | Ejemplo | Significado |
|---|---|---|
| RateLimit-Policy | "public";q=120;w=60 | La política activa: cuota y duración de la ventana en segundos. |
| RateLimit | "public";r=118;t=42 | Estado actual: peticiones restantes y segundos hasta el reinicio. |
| RateLimit-Limit | 120 | Peticiones permitidas en la ventana actual. |
| RateLimit-Remaining | 118 | Peticiones restantes en la ventana actual. |
| RateLimit-Reset | 42 | Segundos hasta que se reinicie la ventana. |
| Retry-After | 42 | Solo se envía en un 429. Espera estos segundos y reintenta. |
Cuando lo superas
Un 429 es un problema tipado como cualquier otro fallo.
La respuesta es `application/problem+json` con el código `rate-limited` y lleva `Retry-After` junto a las cabeceras de límite de uso. Espera los segundos que indique en lugar de reintentar de inmediato — un reintento dentro de la misma ventana se cuenta y se rechaza otra vez.
HTTP/1.1 429 Too Many Requests
Content-Type: application/problem+json; charset=utf-8
RateLimit-Policy: "public";q=120;w=60
Retry-After: 42
{ "code": "rate-limited", "status": 429, "detail": "Exceeded 120 requests per 60s on the \"public\" policy." }¿Listo para ser el producto que recomiendan los agentes?
Instálalo gratis en Shopify o WooCommerce y mira tu puntuación de IA en minutos.
© 2026 ecentic. Todos los derechos reservados.
Hecho para comercios que se niegan a ser invisibles para la IA.
