Idempotence et limites
Cette page indique comment relancer une écriture sans l’appliquer deux fois, et combien de requêtes l’API publique accepte.
Idempotence
Section intitulée « Idempotence »Pour pouvoir relancer une écriture sans risque, envoyez un en-tête Idempotency-Key de 1 à 255 caractères sur toute requête POST, PUT, PATCH ou DELETE. La clé est facultative et conservée 24 heures.
| Vous renvoyez la même clé | Vous obtenez |
|---|---|
| Avec la même requête, une fois la première terminée | La première réponse à nouveau, avec l’en-tête Idempotent-Replayed: true |
| Avec une requête différente | IDEMPOTENCY_KEY_REUSED, statut 422 |
| Pendant que la première requête est encore en cours | IDEMPOTENCY_IN_PROGRESS, statut 409 ; après 60 secondes, une nouvelle tentative s’exécute de zéro |
Une réponse de statut 401, 403 ou 429, une erreur serveur et un échec de validation ne sont pas conservés : la clé reste libre pour votre nouvelle tentative.
Huit opérations de rédaction d’AIP gardent plutôt leur propre idempotence de tâche : la création d’une source audio, la création d’un brouillon, le rejeu, la modification d’une politique d’intention, la rédaction d’un correctif, son application, la préparation et l’édition d’une politique. Une requête qui lancerait une tâche déjà en cours répond JOB_ALREADY_EXISTS, statut 409, avec l’identifiant de la tâche en cours dans ses détails : interrogez cette tâche au lieu d’en lancer une autre.
Limites de débit
Section intitulée « Limites de débit »Chaque clé d’API puise dans deux budgets par minute, et l’organisation dans un troisième.
| Compartiment | Compte | Budget |
|---|---|---|
read, par clé | Les requêtes GET | 300 par minute |
write, par clé | Les requêtes POST, PUT, PATCH et DELETE | 60 par minute |
org, par organisation | Chaque appel public, de toute clé ou de tout agent | 1 200 par minute |
Chaque réponse porte deux en-têtes. RateLimit-Policy indique les trois budgets, et RateLimit nomme le compartiment le plus contraint, avec les requêtes restantes et les secondes avant sa remise à zéro.
Au-delà d’un budget, l’API répond TOO_MANY_REQUESTS, statut 429, avec un en-tête Retry-After : attendez ce nombre de secondes avant de relancer.