POST/oauth/token
Émettre un jeton OAuth 2.0
oauth_token
Le point de terminaison de jetons OAuth 2.0 (RFC 6749, section 3.2). grant_type : authorization_code échange un code à usage unique contre une paire de jetons et exige code_verifier (PKCE S256) ; refresh_token émet une nouvelle paire contre un jeton d’actualisation et invalide l’ancien jeton d’actualisation (renouvellement), et la réutilisation d’un jeton invalidé révoque toute la chaîne ; client_credentials émet un jeton au nom de l’organisation, pour une application confidential uniquement, sans jeton d’actualisation. Un client confidential s’authentifie avec l’en-tête Authorization: Basic ou avec les champs client_id et client_secret ; un client public n’envoie que client_id. Un jeton d’accès est valable 1 heure, un jeton d’actualisation 90 jours. Les réponses et les erreurs suivent la RFC 6749, section 5, avec Cache-Control: no-store. Ajouté dans la version 1.62.0.
Authentification
Aucun identifiant nécessaire.
Corps de la requête
application/x-www-form-urlencoded
grant_typestringobligatoireValeurs autorisées:
authorization_coderefresh_tokenclient_credentialscodestringCode d’autorisation (
authorization_code).redirect_uristringMême URI de redirection que dans la demande d’autorisation (
authorization_code).code_verifierstringValeur PKCE d’origine, de 43 à 128 caractères (
authorization_code).refresh_tokenstringJeton d’actualisation (
refresh_token).scopestringPortées séparées par des espaces, uniquement pour restreindre (
refresh_token,client_credentials).client_idstringID de l’application, lorsque le secret n’est pas transmis dans l’en-tête
Authorization: Basic.client_secretstringSecret client d’une application
confidential, lorsqu’il n’est pas transmis dans l’en-têteAuthorization: Basic.
Réponses
200Les jetons ont été émis.
En-têtes de la réponse
RateLimit-PolicyLimites en vigueur, au format du brouillon IETF
draft-ietf-httpapi-ratelimit-headers: éléments séparés par des virgules"<name>";q=<quota>;w=<window in seconds>.keyest le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’estuser, sans identifiants,ip) ;minute,dayetmonthsont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.RateLimitCe qui reste de chaque limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite de l’entrée la plus stricte de
RateLimit-Policy(celle à laquelle il reste le moins de requêtes).X-RateLimit-RemainingRequêtes restantes au titre de la limite la plus stricte.
X-RateLimit-ResetSecondes restantes avant la réinitialisation de la limite la plus stricte.
application/json
access_tokenstringobligatoireJeton d’accès (
kbat_…) pour l’en-têteAuthorization: Bearer.token_typestringobligatoireValeurs autorisées:
Bearerexpires_inintegerobligatoireDurée de vie du jeton d’accès en secondes.
refresh_tokenstringJeton d’actualisation (
kbrt_…) ; absent pour les identifiants client.scopestringobligatoirePortées du jeton, séparées par des espaces.
400Erreur telle que définie dans la RFC 6749, section 5.2.
En-têtes de la réponse
RateLimit-PolicyLimites en vigueur, au format du brouillon IETF
draft-ietf-httpapi-ratelimit-headers: éléments séparés par des virgules"<name>";q=<quota>;w=<window in seconds>.keyest le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’estuser, sans identifiants,ip) ;minute,dayetmonthsont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.RateLimitCe qui reste de chaque limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite de l’entrée la plus stricte de
RateLimit-Policy(celle à laquelle il reste le moins de requêtes).X-RateLimit-RemainingRequêtes restantes au titre de la limite la plus stricte.
X-RateLimit-ResetSecondes restantes avant la réinitialisation de la limite la plus stricte.
application/json
401Identifiants client invalides (`invalid_client`).
En-têtes de la réponse
RateLimit-PolicyLimites en vigueur, au format du brouillon IETF
draft-ietf-httpapi-ratelimit-headers: éléments séparés par des virgules"<name>";q=<quota>;w=<window in seconds>.keyest le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’estuser, sans identifiants,ip) ;minute,dayetmonthsont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.RateLimitCe qui reste de chaque limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite de l’entrée la plus stricte de
RateLimit-Policy(celle à laquelle il reste le moins de requêtes).X-RateLimit-RemainingRequêtes restantes au titre de la limite la plus stricte.
X-RateLimit-ResetSecondes restantes avant la réinitialisation de la limite la plus stricte.
application/json
Nouvelles tentatives sans risque
Envoyez un en-tête Idempotency-Key (par exemple un UUID) avec chaque POST et PATCH. Une nouvelle tentative avec la même clé dans les 24 heures renvoie la réponse enregistrée au lieu d’exécuter à nouveau la requête.
Limites de débit
Les réponses portent les en-têtes RateLimit et RateLimit-Policy, ainsi que les anciens X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. Une réponse 429 contient Retry-After en secondes : attendez, puis réessayez.