Idempotencia y límites
Esta página indica cómo reintentar una escritura sin aplicarla dos veces, y cuántas solicitudes acepta la API pública.
Idempotencia
Sección titulada «Idempotencia»Para poder reintentar una escritura sin riesgo, envía un encabezado Idempotency-Key de 1 a 255 caracteres en cualquier solicitud POST, PUT, PATCH o DELETE. La clave es opcional y se conserva 24 horas.
| Envías la misma clave | Obtienes |
|---|---|
| Con la misma solicitud, una vez completada la primera | La primera respuesta de nuevo, con el encabezado Idempotent-Replayed: true |
| Con una solicitud distinta | IDEMPOTENCY_KEY_REUSED, estado 422 |
| Mientras la primera solicitud sigue en curso | IDEMPOTENCY_IN_PROGRESS, estado 409; pasados 60 segundos, un reintento se ejecuta desde cero |
Una respuesta con estado 401, 403 o 429, un error del servidor y un fallo de validación no se guardan, así que la clave queda libre para tu reintento.
Ocho operaciones de redacción de AIP mantienen en su lugar su propia idempotencia de trabajos: crear una fuente de audio, crear un borrador, reproducir, modificar una política de intención, redactar una corrección, aplicarla, preparar y editar una política. Una solicitud que iniciaría un trabajo ya en curso responde JOB_ALREADY_EXISTS, estado 409, con el identificador del trabajo en curso en sus detalles, así que consulta ese trabajo en lugar de iniciar otro.
Límites de frecuencia
Sección titulada «Límites de frecuencia»Cada clave de API consume dos presupuestos por minuto, y la organización un tercero.
| Cubo | Cuenta | Presupuesto |
|---|---|---|
read, por clave | Las solicitudes GET | 300 por minuto |
write, por clave | Las solicitudes POST, PUT, PATCH y DELETE | 60 por minuto |
org, por organización | Cada llamada pública, de cualquier clave o agente | 1200 por minuto |
Cada respuesta lleva dos encabezados. RateLimit-Policy indica los tres presupuestos, y RateLimit nombra el cubo más ajustado, con las solicitudes restantes y los segundos hasta que se reinicia.
Por encima de un presupuesto, la API responde TOO_MANY_REQUESTS, estado 429, con un encabezado Retry-After: espera ese número de segundos antes de reintentar.