{"openapi":"3.1.0","info":{"title":"Orbit API","summary":"Des centres d’intérêt culturels normalisés derrière des identifiants Orbit stables.","version":"1.0.0-rc.3","description":"Contrat de la version candidate pour rechercher des centres d’intérêt Orbit et résoudre leurs identifiants stables. Les routes canoniques exigent une clé Orbit limitée et révocable dans l’en-tête Authorization. Les clés du projet Supabase sont des détails d’implémentation et ne doivent jamais servir de clés Orbit.","x-release-stage":"release-candidate"},"externalDocs":{"description":"Documentation développeur d’Orbit API v1","url":"https://orbit-data-api.vercel.app/docs"},"servers":[{"url":"https://anvhjdjxovzjnvpmjtkl.supabase.co/functions/v1/api","description":"orbit-dev — environnement d’intégration de la version candidate"},{"url":"https://jsmxzmxgxwexgvaraeke.supabase.co/functions/v1/api","description":"orbit-prod — Europe centrale (Francfort), après activation de l’accès de production"}],"security":[{"OrbitApiKey":[]}],"tags":[{"name":"Centres d’intérêt","description":"Recherche et résolution d’identifiants stables dans le catalogue normalisé Orbit."}],"paths":{"/v1/interests/search":{"get":{"operationId":"searchInterestsV1","summary":"Rechercher des centres d’intérêt publiés","description":"Renvoie les centres d’intérêt canoniques les plus pertinents à partir de leur libellé canonique. Cette opération n’est pas paginée et la position d’un résultat n’est pas un identifiant stable.","tags":["Centres d’intérêt"],"parameters":[{"name":"q","in":"query","required":true,"description":"Texte recherché après suppression des espaces extérieurs, de 1 à 100 caractères Unicode. La correspondance utilise uniquement les libellés canoniques.","schema":{"type":"string","minLength":1,"maxLength":100},"example":"zelda"},{"name":"category","in":"query","required":false,"description":"Filtre optionnel. Répétez category de une à six fois pour rechercher plusieurs catégories dans une seule requête et un seul décompte de quota.","style":"form","explode":true,"schema":{"type":"array","minItems":1,"maxItems":6,"uniqueItems":true,"items":{"$ref":"#/components/schemas/InterestCategory"}},"example":["games","anime"]},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":20},"example":10}],"responses":{"200":{"description":"Centres d’intérêt publiés classés par pertinence. Une liste vide reste une réponse valide.","headers":{"X-Orbit-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-RateLimit-Limit":{"$ref":"#/components/headers/MinuteRateLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/MinuteRateRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/MinuteRateReset"},"X-Orbit-Daily-RateLimit-Limit":{"$ref":"#/components/headers/DailyRateLimit"},"X-Orbit-Daily-RateLimit-Remaining":{"$ref":"#/components/headers/DailyRateRemaining"},"X-Orbit-Daily-RateLimit-Reset":{"$ref":"#/components/headers/DailyRateReset"},"X-Orbit-Plan":{"$ref":"#/components/headers/BillingPlan"},"X-Orbit-Monthly-Usage-Included":{"$ref":"#/components/headers/MonthlyUsageIncluded"},"X-Orbit-Monthly-Usage-Used":{"$ref":"#/components/headers/MonthlyUsageUsed"},"X-Orbit-Monthly-Usage-Limit":{"$ref":"#/components/headers/MonthlyUsageLimit"},"X-Orbit-Monthly-Usage-Remaining":{"$ref":"#/components/headers/MonthlyUsageRemaining"},"X-Orbit-Monthly-Usage-Reset":{"$ref":"#/components/headers/MonthlyUsageReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/v1/interests/resolve":{"post":{"operationId":"resolveInterestsV1","summary":"Résoudre des identifiants Orbit stables","description":"Résout chaque UUID demandé vers l’un des quatre états de cycle de vie : resolved, replaced, unavailable ou not_found. L’opération est en lecture seule et peut être relancée sans risque malgré l’utilisation de POST.","tags":["Centres d’intérêt"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveRequest"},"example":{"ids":["00000000-0000-0000-0000-000000000000"]}}}},"responses":{"200":{"description":"Un résultat par UUID demandé, dans l’ordre de sa première occurrence.","headers":{"X-Orbit-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-RateLimit-Limit":{"$ref":"#/components/headers/MinuteRateLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/MinuteRateRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/MinuteRateReset"},"X-Orbit-Daily-RateLimit-Limit":{"$ref":"#/components/headers/DailyRateLimit"},"X-Orbit-Daily-RateLimit-Remaining":{"$ref":"#/components/headers/DailyRateRemaining"},"X-Orbit-Daily-RateLimit-Reset":{"$ref":"#/components/headers/DailyRateReset"},"X-Orbit-Plan":{"$ref":"#/components/headers/BillingPlan"},"X-Orbit-Monthly-Usage-Included":{"$ref":"#/components/headers/MonthlyUsageIncluded"},"X-Orbit-Monthly-Usage-Used":{"$ref":"#/components/headers/MonthlyUsageUsed"},"X-Orbit-Monthly-Usage-Limit":{"$ref":"#/components/headers/MonthlyUsageLimit"},"X-Orbit-Monthly-Usage-Remaining":{"$ref":"#/components/headers/MonthlyUsageRemaining"},"X-Orbit-Monthly-Usage-Reset":{"$ref":"#/components/headers/MonthlyUsageReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"413":{"$ref":"#/components/responses/PayloadTooLarge"},"415":{"$ref":"#/components/responses/UnsupportedMediaType"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}}},"components":{"securitySchemes":{"OrbitApiKey":{"type":"http","scheme":"bearer","bearerFormat":"Orbit API key (orb_dev.* or orb_prod.*)","description":"Clé commerciale limitée transmise dans Authorization: Bearer <ORBIT_API_KEY> pour un usage serveur à serveur. Conservez-la dans le gestionnaire de secrets du serveur ; ne l’intégrez jamais dans un navigateur, une application mobile ou de bureau, une variable publique, une URL ou un journal."}},"headers":{"ApiVersion":{"description":"Version du contrat Orbit.","schema":{"type":"string","const":"v1"}},"RequestId":{"description":"UUID de corrélation généré par Orbit pour la requête.","schema":{"type":"string","format":"uuid"}},"MinuteRateLimit":{"description":"Nombre maximal de requêtes acceptées pour cette clé pendant la minute en cours.","schema":{"type":"integer","minimum":1}},"MinuteRateRemaining":{"description":"Nombre de requêtes restantes pour cette clé pendant la minute en cours.","schema":{"type":"integer","minimum":0}},"MinuteRateReset":{"description":"Timestamp Unix en secondes de réinitialisation du quota minute.","schema":{"type":"integer","minimum":0}},"DailyRateLimit":{"description":"Nombre maximal de requêtes acceptées pour cette clé pendant la journée UTC en cours.","schema":{"type":"integer","minimum":1}},"DailyRateRemaining":{"description":"Nombre de requêtes restantes pour cette clé pendant la journée UTC en cours.","schema":{"type":"integer","minimum":0}},"DailyRateReset":{"description":"Timestamp Unix en secondes de réinitialisation du quota journalier UTC.","schema":{"type":"integer","minimum":0}},"BillingPlan":{"description":"Offre commerciale de l’accès libre-service. Absent pour les accès historiques ou complémentaires non comptabilisés.","schema":{"type":"string","enum":["free","pro"]}},"MonthlyUsageIncluded":{"description":"Nombre de réponses 2xx incluses dans l’offre pour le mois UTC en cours.","schema":{"type":"integer","minimum":1}},"MonthlyUsageUsed":{"description":"Nombre de réponses 2xx déjà comptabilisées pendant le mois UTC en cours.","schema":{"type":"integer","minimum":0}},"MonthlyUsageLimit":{"description":"Plafond dur de réponses 2xx pour le mois UTC en cours. Peut être absent lorsqu’aucun plafond n’est configuré.","schema":{"type":"integer","minimum":1}},"MonthlyUsageRemaining":{"description":"Nombre de réponses 2xx encore disponibles avant le plafond dur mensuel. Peut être absent sans plafond.","schema":{"type":"integer","minimum":0}},"MonthlyUsageReset":{"description":"Timestamp Unix en secondes du début du prochain mois UTC.","schema":{"type":"integer","minimum":0}}},"schemas":{"InterestCategory":{"type":"string","enum":["games","movies","anime","series","music","books"]},"Interest":{"type":"object","required":["id","label","category"],"properties":{"id":{"type":"string","format":"uuid"},"label":{"type":"string","minLength":1},"category":{"$ref":"#/components/schemas/InterestCategory"}},"examples":[{"id":"11111111-1111-4111-8111-111111111111","label":"Centre d’intérêt d’exemple","category":"games"}]},"SearchResponse":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","maxItems":50,"items":{"$ref":"#/components/schemas/Interest"}},"meta":{"type":"object","required":["apiVersion","query","category","categories","limit","returnedCount"],"properties":{"apiVersion":{"type":"string","const":"v1"},"query":{"type":"string"},"category":{"description":"Catégorie unique demandée, ou null quand la recherche est globale ou multi-catégories.","oneOf":[{"$ref":"#/components/schemas/InterestCategory"},{"type":"null"}]},"categories":{"description":"Ensemble ordonné des catégories demandées, ou null pour une recherche globale.","oneOf":[{"type":"array","minItems":1,"maxItems":6,"uniqueItems":true,"items":{"$ref":"#/components/schemas/InterestCategory"}},{"type":"null"}]},"limit":{"type":"integer","minimum":1,"maximum":50},"returnedCount":{"type":"integer","minimum":0,"maximum":50}}}},"examples":[{"data":[{"id":"11111111-1111-4111-8111-111111111111","label":"Centre d’intérêt d’exemple","category":"games"}],"meta":{"apiVersion":"v1","query":"zelda","category":"games","categories":["games"],"limit":10,"returnedCount":1}},{"data":[],"meta":{"apiVersion":"v1","query":"aucun résultat correspondant","category":null,"categories":null,"limit":20,"returnedCount":0}}]},"ResolveRequest":{"type":"object","description":"Au maximum 100 UUID Orbit canoniques avec tirets. Les doublons sont acceptés puis retirés en conservant l’ordre de leur première occurrence.","additionalProperties":false,"required":["ids"],"properties":{"ids":{"type":"array","maxItems":100,"items":{"type":"string","format":"uuid"}}},"examples":[{"ids":["11111111-1111-4111-8111-111111111111"]}]},"ResolvedResult":{"type":"object","description":"L’UUID demandé est directement publié.","required":["requestedId","status","interest"],"properties":{"requestedId":{"type":"string","format":"uuid"},"status":{"type":"string","const":"resolved"},"interest":{"$ref":"#/components/schemas/Interest"}},"examples":[{"requestedId":"11111111-1111-4111-8111-111111111111","status":"resolved","interest":{"id":"11111111-1111-4111-8111-111111111111","label":"Centre d’intérêt d’exemple","category":"games"}}]},"ReplacedResult":{"type":"object","description":"L’UUID demandé a été fusionné vers un centre d’intérêt canonique directement publié.","required":["requestedId","status","replacedBy","interest"],"properties":{"requestedId":{"type":"string","format":"uuid"},"status":{"type":"string","const":"replaced"},"replacedBy":{"type":"string","format":"uuid"},"interest":{"$ref":"#/components/schemas/Interest"}},"examples":[{"requestedId":"22222222-2222-4222-8222-222222222222","status":"replaced","replacedBy":"33333333-3333-4333-8333-333333333333","interest":{"id":"33333333-3333-4333-8333-333333333333","label":"Centre d’intérêt canonique d’exemple","category":"movies"}}]},"UnavailableResult":{"type":"object","description":"L’UUID a déjà été publié mais ne peut plus être redistribué. Aucun ancien contenu n’est exposé.","required":["requestedId","status"],"properties":{"requestedId":{"type":"string","format":"uuid"},"status":{"type":"string","const":"unavailable"}},"examples":[{"requestedId":"44444444-4444-4444-8444-444444444444","status":"unavailable"}]},"NotFoundResult":{"type":"object","description":"L’UUID est inconnu ou n’a jamais été publié. Aucune donnée interne n’est exposée.","required":["requestedId","status"],"properties":{"requestedId":{"type":"string","format":"uuid"},"status":{"type":"string","const":"not_found"}},"examples":[{"requestedId":"55555555-5555-4555-8555-555555555555","status":"not_found"}]},"ResolveResult":{"oneOf":[{"$ref":"#/components/schemas/ResolvedResult"},{"$ref":"#/components/schemas/ReplacedResult"},{"$ref":"#/components/schemas/UnavailableResult"},{"$ref":"#/components/schemas/NotFoundResult"}],"discriminator":{"propertyName":"status","mapping":{"resolved":"#/components/schemas/ResolvedResult","replaced":"#/components/schemas/ReplacedResult","unavailable":"#/components/schemas/UnavailableResult","not_found":"#/components/schemas/NotFoundResult"}}},"ResolveResponse":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","maxItems":100,"items":{"$ref":"#/components/schemas/ResolveResult"}},"meta":{"type":"object","required":["apiVersion","inputCount","uniqueCount"],"properties":{"apiVersion":{"type":"string","const":"v1"},"inputCount":{"type":"integer","minimum":0,"maximum":100},"uniqueCount":{"type":"integer","minimum":0,"maximum":100}}}},"examples":[{"data":[{"requestedId":"11111111-1111-4111-8111-111111111111","status":"resolved","interest":{"id":"11111111-1111-4111-8111-111111111111","label":"Centre d’intérêt d’exemple","category":"games"}},{"requestedId":"22222222-2222-4222-8222-222222222222","status":"replaced","replacedBy":"33333333-3333-4333-8333-333333333333","interest":{"id":"33333333-3333-4333-8333-333333333333","label":"Centre d’intérêt canonique d’exemple","category":"movies"}},{"requestedId":"44444444-4444-4444-8444-444444444444","status":"unavailable"},{"requestedId":"55555555-5555-4555-8555-555555555555","status":"not_found"}],"meta":{"apiVersion":"v1","inputCount":4,"uniqueCount":4}}]},"ErrorCode":{"type":"string","description":"Code d’erreur Orbit v1 stable et interprétable par une machine.","enum":["invalid_query","invalid_category","invalid_limit","invalid_json","invalid_ids","missing_orbit_api_key","invalid_orbit_api_key","insufficient_scope","route_not_found","method_not_allowed","payload_too_large","unsupported_media_type","rate_limit_exceeded","monthly_quota_exceeded","internal_error","environment_unavailable","authentication_unavailable","catalog_unavailable","usage_metering_unavailable"]},"Error":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"$ref":"#/components/schemas/ErrorCode"},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}},"examples":[{"code":"invalid_category","message":"category doit valoir games, movies, anime, series, music ou books.","requestId":"00000000-0000-4000-8000-000000000000"}]},"ErrorResponse":{"type":"object","required":["error"],"properties":{"error":{"$ref":"#/components/schemas/Error"}},"examples":[{"error":{"code":"invalid_category","message":"category doit valoir games, movies, anime, series, music ou books.","requestId":"00000000-0000-4000-8000-000000000000"}},{"error":{"code":"rate_limit_exceeded","message":"Le quota de requêtes Orbit API est dépassé.","requestId":"00000000-0000-4000-8000-000000000000"}},{"error":{"code":"monthly_quota_exceeded","message":"Le plafond mensuel de réponses réussies Orbit API est atteint.","requestId":"00000000-0000-4000-8000-000000000000"}}]}},"responses":{"BadRequest":{"$ref":"#/components/responses/PostAuthenticationErrorResponseBase","description":"Paramètre de requête ou corps JSON invalide."},"Unauthorized":{"$ref":"#/components/responses/ErrorResponseBase","description":"Clé Orbit absente ou invalide."},"Forbidden":{"$ref":"#/components/responses/ErrorResponseBase","description":"La clé commerciale Orbit ne possède pas le droit requis."},"MethodNotAllowed":{"description":"La route ne prend pas en charge cette méthode HTTP.","headers":{"X-Orbit-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-RateLimit-Limit":{"$ref":"#/components/headers/MinuteRateLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/MinuteRateRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/MinuteRateReset"},"X-Orbit-Daily-RateLimit-Limit":{"$ref":"#/components/headers/DailyRateLimit"},"X-Orbit-Daily-RateLimit-Remaining":{"$ref":"#/components/headers/DailyRateRemaining"},"X-Orbit-Daily-RateLimit-Reset":{"$ref":"#/components/headers/DailyRateReset"},"X-Orbit-Plan":{"$ref":"#/components/headers/BillingPlan"},"X-Orbit-Monthly-Usage-Included":{"$ref":"#/components/headers/MonthlyUsageIncluded"},"X-Orbit-Monthly-Usage-Used":{"$ref":"#/components/headers/MonthlyUsageUsed"},"X-Orbit-Monthly-Usage-Limit":{"$ref":"#/components/headers/MonthlyUsageLimit"},"X-Orbit-Monthly-Usage-Remaining":{"$ref":"#/components/headers/MonthlyUsageRemaining"},"X-Orbit-Monthly-Usage-Reset":{"$ref":"#/components/headers/MonthlyUsageReset"},"Allow":{"description":"Méthodes acceptées par la route demandée.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"PayloadTooLarge":{"$ref":"#/components/responses/PostAuthenticationErrorResponseBase","description":"Le corps de la résolution dépasse 32 Kio."},"UnsupportedMediaType":{"$ref":"#/components/responses/PostAuthenticationErrorResponseBase","description":"Le corps de la résolution n’utilise pas application/json."},"RateLimited":{"description":"La clé a épuisé son quota minute, journalier UTC ou mensuel.","headers":{"X-Orbit-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-RateLimit-Limit":{"$ref":"#/components/headers/MinuteRateLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/MinuteRateRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/MinuteRateReset"},"X-Orbit-Daily-RateLimit-Limit":{"$ref":"#/components/headers/DailyRateLimit"},"X-Orbit-Daily-RateLimit-Remaining":{"$ref":"#/components/headers/DailyRateRemaining"},"X-Orbit-Daily-RateLimit-Reset":{"$ref":"#/components/headers/DailyRateReset"},"X-Orbit-Plan":{"$ref":"#/components/headers/BillingPlan"},"X-Orbit-Monthly-Usage-Included":{"$ref":"#/components/headers/MonthlyUsageIncluded"},"X-Orbit-Monthly-Usage-Used":{"$ref":"#/components/headers/MonthlyUsageUsed"},"X-Orbit-Monthly-Usage-Limit":{"$ref":"#/components/headers/MonthlyUsageLimit"},"X-Orbit-Monthly-Usage-Remaining":{"$ref":"#/components/headers/MonthlyUsageRemaining"},"X-Orbit-Monthly-Usage-Reset":{"$ref":"#/components/headers/MonthlyUsageReset"},"Retry-After":{"description":"Nombre de secondes avant la réinitialisation du quota épuisé.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InternalError":{"description":"Échec inattendu de la requête. Les en-têtes de quota ne sont présents que si l’authentification commerciale a réussi avant cet échec.","headers":{"X-Orbit-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-RateLimit-Limit":{"$ref":"#/components/headers/MinuteRateLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/MinuteRateRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/MinuteRateReset"},"X-Orbit-Daily-RateLimit-Limit":{"$ref":"#/components/headers/DailyRateLimit"},"X-Orbit-Daily-RateLimit-Remaining":{"$ref":"#/components/headers/DailyRateRemaining"},"X-Orbit-Daily-RateLimit-Reset":{"$ref":"#/components/headers/DailyRateReset"},"X-Orbit-Plan":{"$ref":"#/components/headers/BillingPlan"},"X-Orbit-Monthly-Usage-Included":{"$ref":"#/components/headers/MonthlyUsageIncluded"},"X-Orbit-Monthly-Usage-Used":{"$ref":"#/components/headers/MonthlyUsageUsed"},"X-Orbit-Monthly-Usage-Limit":{"$ref":"#/components/headers/MonthlyUsageLimit"},"X-Orbit-Monthly-Usage-Remaining":{"$ref":"#/components/headers/MonthlyUsageRemaining"},"X-Orbit-Monthly-Usage-Reset":{"$ref":"#/components/headers/MonthlyUsageReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"ServiceUnavailable":{"description":"L’environnement Orbit, l’authentification commerciale, le comptage d’usage ou la lecture du catalogue sont temporairement indisponibles. Le code vaut environment_unavailable, authentication_unavailable, usage_metering_unavailable ou catalog_unavailable. Les en-têtes de quota ne sont présents que lorsque leur calcul a réussi.","headers":{"X-Orbit-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-RateLimit-Limit":{"$ref":"#/components/headers/MinuteRateLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/MinuteRateRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/MinuteRateReset"},"X-Orbit-Daily-RateLimit-Limit":{"$ref":"#/components/headers/DailyRateLimit"},"X-Orbit-Daily-RateLimit-Remaining":{"$ref":"#/components/headers/DailyRateRemaining"},"X-Orbit-Daily-RateLimit-Reset":{"$ref":"#/components/headers/DailyRateReset"},"X-Orbit-Plan":{"$ref":"#/components/headers/BillingPlan"},"X-Orbit-Monthly-Usage-Included":{"$ref":"#/components/headers/MonthlyUsageIncluded"},"X-Orbit-Monthly-Usage-Used":{"$ref":"#/components/headers/MonthlyUsageUsed"},"X-Orbit-Monthly-Usage-Limit":{"$ref":"#/components/headers/MonthlyUsageLimit"},"X-Orbit-Monthly-Usage-Remaining":{"$ref":"#/components/headers/MonthlyUsageRemaining"},"X-Orbit-Monthly-Usage-Reset":{"$ref":"#/components/headers/MonthlyUsageReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"environment":{"value":{"error":{"code":"environment_unavailable","message":"L’environnement Orbit API est indisponible.","requestId":"00000000-0000-4000-8000-000000000000"}}},"authentication":{"value":{"error":{"code":"authentication_unavailable","message":"L’authentification Orbit API est temporairement indisponible.","requestId":"00000000-0000-4000-8000-000000000000"}}},"catalog":{"value":{"error":{"code":"catalog_unavailable","message":"Le catalogue de centres d’intérêt Orbit est temporairement indisponible.","requestId":"00000000-0000-4000-8000-000000000000"}}},"usage":{"value":{"error":{"code":"usage_metering_unavailable","message":"Le comptage d’usage Orbit est temporairement indisponible.","requestId":"00000000-0000-4000-8000-000000000000"}}}}}}},"PostAuthenticationErrorResponseBase":{"description":"Erreur renvoyée après une authentification commerciale réussie. La requête consomme les protections minute et jour, mais pas le quota commercial mensuel réservé aux réponses 2xx.","headers":{"X-Orbit-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-RateLimit-Limit":{"$ref":"#/components/headers/MinuteRateLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/MinuteRateRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/MinuteRateReset"},"X-Orbit-Daily-RateLimit-Limit":{"$ref":"#/components/headers/DailyRateLimit"},"X-Orbit-Daily-RateLimit-Remaining":{"$ref":"#/components/headers/DailyRateRemaining"},"X-Orbit-Daily-RateLimit-Reset":{"$ref":"#/components/headers/DailyRateReset"},"X-Orbit-Plan":{"$ref":"#/components/headers/BillingPlan"},"X-Orbit-Monthly-Usage-Included":{"$ref":"#/components/headers/MonthlyUsageIncluded"},"X-Orbit-Monthly-Usage-Used":{"$ref":"#/components/headers/MonthlyUsageUsed"},"X-Orbit-Monthly-Usage-Limit":{"$ref":"#/components/headers/MonthlyUsageLimit"},"X-Orbit-Monthly-Usage-Remaining":{"$ref":"#/components/headers/MonthlyUsageRemaining"},"X-Orbit-Monthly-Usage-Reset":{"$ref":"#/components/headers/MonthlyUsageReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"ErrorResponseBase":{"description":"Réponse d’erreur.","headers":{"X-Orbit-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}