API et assistants IA/Limites et erreurs

Limites et erreurs

Les limites de requêtes de l'API et leurs en-têtes, la signification de chaque code d'erreur, et le fonctionnement des valeurs et des pages.

Limites de requêtes

LimiteValeur
Par minute60 requêtes
Par jour10 000 requêtes

Les deux s'appliquent à tout le compte : toutes vos clés et tous vos assistants IA connectés ensemble.

  • La limite par minute se recharge en continu : une requête redevient disponible chaque seconde, jusqu'à 60.
  • La limite quotidienne est une fenêtre de 24 heures, pas un jour calendaire. L'en-tête X-RateLimit-Reset-Day indique quand elle se termine.

En-têtes de limite de requêtes

Chaque réponse à une requête avec une clé valide contient :

En-têteSignification
X-RateLimit-LimitRequêtes autorisées par minute (60)
X-RateLimit-RemainingRequêtes restantes à cet instant
X-RateLimit-ResetSecondes avant que la limite par minute soit de nouveau pleine
X-RateLimit-Limit-DayRequêtes autorisées par jour (10 000)
X-RateLimit-Remaining-DayRequêtes restantes aujourd'hui
X-RateLimit-Reset-DaySecondes avant la fin de la fenêtre quotidienne

Quand une limite est atteinte, la réponse est 429 rate_limited avec un en-tête Retry-After : attendez ce nombre de secondes, puis renvoyez la requête.

Chaque réponse, erreur ou non, contient aussi X-Request-Id.

Le format d'une erreur

Les erreurs suivent le format standard « problem details » (application/problem+json) :

{
  "type": "https://gloriads.com/docs/api/errors#invalid_request",
  "title": "Invalid request",
  "status": 400,
  "code": "invalid_request",
  "detail": "limit must be between 1 and 100.",
  "issues": [
    {
      "path": "limit",
      "code": "invalid_value",
      "message": "limit must be between 1 and 100."
    }
  ],
  "request_id": "req_8fK2mQ7xLp3nR9sT1vWy"
}
  • Testez code dans votre script. Il ne change jamais ; detail est rédigé pour des humains et peut être reformulé.
  • issues liste chaque paramètre invalide. Il n'apparaît que sur invalid_request.
  • Indiquez le request_id quand vous contactez l'assistance.

Codes d'erreur

invalid_request · 400 – Un paramètre n'est pas valide : une valeur inconnue, un nombre hors limites, un curseur de page qui ne vient pas de nous. issues indique quel paramètre et pourquoi.

api_key_in_query · 400 – La clé a été envoyée dans l'URL. Envoyez-la dans l'en-tête Authorization, et révoquez cette clé : elle se trouve peut-être déjà dans un journal.

unauthorized · 401 – Pas de clé, ou une clé erronée ou révoquée. La réponse ne précise pas lequel des cas, volontairement.

subscription_inactive · 403 – L'abonnement du compte a pris fin. L'API fonctionne de nouveau dès que l'abonnement est actif.

insufficient_scope · 403 – La clé n'a pas le droit de lire. Toutes les clés créées aujourd'hui peuvent lire : vous ne devriez donc jamais voir ce code.

not_found · 404 – Aucun endpoint à ce chemin, ou l'élément demandé n'existe pas dans votre compte. Un élément qui appartient à un autre compte reçoit la même réponse.

method_not_allowed · 405 – L'API ne répond qu'à GET, car elle est en lecture seule. L'en-tête Allow liste ce qu'elle accepte.

rate_limited · 429 – Une limite est atteinte. Attendez le nombre de secondes indiqué dans Retry-After.

internal_error · 500 – Quelque chose a échoué de notre côté. Réessayez plus tard ; si le problème persiste, envoyez-nous le request_id.

timeout · 504 – La réponse a pris plus de 30 secondes. Demandez moins de données à la fois.

Valeurs et pages

  • null signifie « n'existe pas », jamais zéro.
  • Les longues listes arrivent par pages. limit fixe la taille de la page, de 1 à 100 (50 par défaut). Quand has_more vaut true, renvoyez next_cursor comme cursor pour obtenir la page suivante.