Limites de débit et erreurs
Combien de requêtes l’API et le serveur MCP d’iyedy acceptent par minute, les en-têtes qui vous situent, et chaque code d’erreur avec ce qu’il faut faire.
Sur cette page
| Qui | En continu | Pointe |
|---|---|---|
| Une personne en Free | 60 par minute | 180 |
| Une personne dans une offre payante | 120 par minute | 360 |
| Une organisation Team, tous ses membres ensemble | 3 000 par minute |
Les limites se comptent par personne, sur chaque requête à l’API avec un jeton ou une session, et sur les appels MCP. Dans une organisation Team, la limite de l’organisation s’applique aussi aux requêtes de ses membres. Un même schéma accepte jusqu’à 10 écritures par seconde.
Savoir où vous en êtes
Chaque réponse porte deux en-têtes :
RateLimit-Policy: la limite qui s’applique à vous ;RateLimit: ce qui reste dans la fenêtre en cours.
Quand vous la dépassez, la réponse est 429 avec le code rate_limited, le nom de la limite dans detail.bucket, et un en-tête Retry-After en secondes. Attendez ce délai, puis réessayez une fois. Ne réessayez que les requêtes qu’on peut répéter sans risque : les lectures, et les requêtes de création envoyées avec un Idempotency-Key.
Tailles
| Quoi | Au plus |
|---|---|
| Le corps d’une requête | 300 Kio |
| La définition d’un schéma envoyée pour la remplacer | 1 Mio |
| Une définition envoyée à MCP pour une prévisualisation ou une proposition | 1 Mio |
| La réponse d’un outil MCP | 100 000 caractères de JSON |
La forme d’une erreur
Chaque erreur est un objet JSON :
{
"error": {
"code": "permission_denied",
"message": "…",
"detail": { "reason": "insufficient_scope", "required": "cartouche.propose" },
"requestId": "req_7f3c2a90-5b1e-4c8d-9a61-0e2b4d6f8a13"
}
}
Donnez le requestId au support quand vous l’interrogez sur une erreur. Le message s’adresse aux personnes ; votre code doit tester code et detail.reason.
Codes d’erreur
| HTTP | code |
Sens | Que faire |
|---|---|---|---|
| 400 | invalid_argument |
Un paramètre ou le corps ne correspond pas à ce qu’attend la route | Comparez la requête au document OpenAPI |
| 401 | unauthenticated |
Pas de jeton valide ; detail.reason dit pourquoi |
Voir raisons d’un 401 |
| 402 | plan_limit |
Une limite de votre offre est atteinte ; detail.reason la nomme |
Voir Limites par offre |
| 403 | permission_denied |
Votre rôle, la route ou une portée ne le permet pas | Voir raisons d’un 403 |
| 403 | read_only |
Le schéma est en lecture seule pour l’instant | detail.reason dit pourquoi : limite d’offre, offre échue, conservation légale |
| 404 | not_found |
Il n’existe pas, ou vous ne pouvez pas le lire | Vérifiez les identifiants ; une lecture non permise a la même réponse |
| 409 | conflict |
Le schéma a avancé depuis la version envoyée | Relisez-le, puis recommencez depuis la nouvelle version |
| 409 | already_issued |
Une requête qui délivre un secret a été rejouée | Révoquez ce qui a été délivré et redemandez |
| 413 | too_large |
Le corps dépasse la taille permise | Envoyez moins |
| 422 | validation_failed |
Le contenu n’est pas valide ; rien n’a été enregistré | Lisez detail pour les diagnostics |
| 423 | legal_hold |
Une conservation légale garde le schéma tel quel | Rien à faire depuis l’API |
| 429 | rate_limited |
Trop de requêtes | Attendez Retry-After, puis réessayez une fois |
| 5xx | unavailable |
iyedy n’a pas pu répondre | Réessayez plus tard |
Raisons d’un 401
detail.reason |
Sens |
|---|---|
invalid_token |
Le jeton est mal formé ou inconnu |
token_expired |
Le jeton a dépassé sa durée de vie |
token_revoked |
Le jeton a été révoqué |
ip_not_allowed |
Un jeton de compte de service utilisé hors de ses adresses permises |
pats_disabled |
L’organisation n’autorise pas les jetons d’accès personnels |
Raisons d’un 403
detail.reason |
Sens |
|---|---|
insufficient_scope |
Le jeton n’a pas la portée nommée dans required |
token_not_accepted |
La route ne fait pas partie de l’API publique : un jeton ne peut pas l’appeler |
mcp_disabled |
L’organisation a coupé les clients MCP |
Adresse non autorisée
Un jeton de compte de service envoyé depuis une adresse hors de celles permises pour ce compte de service est refusé. La réponse est 401 avec unauthenticated et detail.reason ip_not_allowed, comme les autres refus de jeton ci-dessus. Envoyez la requête depuis une adresse permise. Voir Comptes de service.
Trop de requêtes
La réponse est 429 avec le code rate_limited, le nom de la limite dans detail.bucket et un en-tête Retry-After en secondes. Attendez ce délai, puis réessayez une fois, et seulement une requête qu’on peut répéter sans risque. Voir Savoir où vous en êtes et les limites en haut de cette page.
Erreurs du serveur MCP
L’adresse MCP de Claude répond 401 quand la connexion manque ou a expiré, pour que Claude vous reconnecte, et 403 avec insufficient_scope quand un outil demande une autorisation que vous n’avez pas approuvée. Si la connexion d’iyedy est injoignable, elle répond 503 avec Retry-After: 5. Les refus à l’intérieur d’un outil (pas encore de compte iyedy, MCP coupé pour l’organisation, client non autorisé, authentification unique exigée) reviennent comme une erreur d’outil qui dit quoi faire : voir Dépannage de Claude.
Cette page vous a-t-elle aidé ?Réponse anonyme, comptée seulement si vous avez accepté la mesure.
Qu’est-ce qui n’a pas marché ?
N’écrivez pas de données personnelles.