Orbit API
Référence API v1

Erreurs, quotas et nouvelles tentatives

Interpréter les erreurs Orbit, respecter les quotas et réessayer sans amplifier une panne.

Enveloppe d’erreur

Les erreurs produites par Orbit utilisent une enveloppe stable :

{
  "error": {
    "code": "invalid_category",
    "message": "Le paramètre category doit valoir games, movies, anime, series, music ou books.",
    "requestId": "00000000-0000-0000-0000-000000000000"
  }
}

Conservez X-Request-Id ou error.requestId pour le diagnostic. Ne transmettez jamais une clé, un en-tête complet, une URL avec des paramètres sensibles ou le corps de la requête.

Statuts et codes

HTTPCodes possiblesAction client
400invalid_query, invalid_category, invalid_limit, invalid_json, invalid_idsCorriger la requête, sans nouvelle tentative automatique.
401missing_orbit_api_key, invalid_orbit_api_keyVérifier l’environnement et la clé Orbit, sans nouvelle tentative automatique.
403insufficient_scopeDemander la permission requise, sans nouvelle tentative automatique.
404route_not_foundCorriger la route. Un UUID inconnu reste un résultat 200/not_found.
405method_not_allowedUtiliser la méthode indiquée par Allow.
413payload_too_largeRéduire le corps à 32 KiB maximum.
415unsupported_media_typeEnvoyer Content-Type: application/json.
429rate_limit_exceeded, monthly_quota_exceededAttendre la durée de Retry-After, puis réessayer.
500internal_errorRéessayer avec une attente exponentielle bornée.
503environment_unavailable, authentication_unavailable, usage_metering_unavailable, catalog_unavailableRéessayer avec une attente exponentielle bornée.

Quotas

Chaque réponse authentifiée expose les limites minute et jour UTC :

X-RateLimit-Limit
X-RateLimit-Remaining
X-RateLimit-Reset
X-Orbit-Daily-RateLimit-Limit
X-Orbit-Daily-RateLimit-Remaining
X-Orbit-Daily-RateLimit-Reset

Les valeurs Reset sont des horodatages Unix en secondes. Une requête authentifiée consomme son quota avant la validation de la route ou du corps. Les clés absentes, invalides, expirées, révoquées, suspendues ou sans permission ne consomment pas de quota.

Politique de nouvelle tentative

GET /search et POST /resolve sont des lectures réessayables sans effet de bord. Appliquez ces règles :

  1. Ne réessayez jamais automatiquement un 400, 401, 403, 404, 405, 413 ou 415.
  2. Pour 429, attendez au minimum Retry-After secondes.
  3. Pour 500, 503, une erreur réseau ou un délai dépassé, utilisez une attente exponentielle avec une petite variation aléatoire.
  4. Bornez le nombre de tentatives et le temps total selon le budget de latence de votre service.
  5. Ne lancez pas de nouvelles tentatives parallèles et ne contournez jamais un quota avec plusieurs clés.

Exemple de délais avant variation aléatoire : 250 ms, 500 ms, puis 1 s. Cette recommandation client ne constitue pas un engagement de service.

Sur cette page