POST/oauth/token
OAuth 2.0-token uitgeven
oauth_token
Het token-endpoint van OAuth 2.0 (RFC 6749, sectie 3.2). grant_type: authorization_code wisselt een eenmalige code in voor een tokenpaar en vereist code_verifier (PKCE S256); refresh_token geeft een nieuw paar uit voor een vernieuwingstoken en maakt het vorige vernieuwingstoken ongeldig (rotatie), en hergebruik van een ongeldig gemaakt token trekt de hele keten in; client_credentials geeft een token uit namens de organisatie, alleen voor een app van het type confidential, zonder vernieuwingstoken. Een client van het type confidential authenticeert zich met de header Authorization: Basic of met de velden client_id en client_secret; een openbare client stuurt alleen client_id. Een toegangstoken is 1 uur geldig, een vernieuwingstoken 90 dagen. Responses en fouten volgen RFC 6749, sectie 5, met Cache-Control: no-store. Toegevoegd in 1.62.0.
Authenticatie
Geen authenticatiegegevens nodig.
Request-body
application/x-www-form-urlencoded
grant_typestringverplichtToegestane waarden:
authorization_coderefresh_tokenclient_credentialscodestringAutorisatiecode (
authorization_code).redirect_uristringDezelfde omleidings-URI als in het autorisatieverzoek (
authorization_code).code_verifierstringDe oorspronkelijke PKCE-waarde, 43 tot 128 tekens (
authorization_code).refresh_tokenstringVernieuwingstoken (
refresh_token).scopestringScopes gescheiden door spaties, alleen om te beperken (
refresh_token,client_credentials).client_idstringID van de app, als het geheim niet in de header
Authorization: Basicwordt meegegeven.client_secretstringClientgeheim van een app
confidential, als het niet in de headerAuthorization: Basicwordt meegegeven.
Responses
200De tokens zijn uitgegeven.
Responseheaders
RateLimit-PolicyGeldende limieten, in het formaat van het IETF-concept
draft-ietf-httpapi-ratelimit-headers: items gescheiden door komma’s,"<name>";q=<quota>;w=<window in seconds>.keyis de requestsnelheid van de API-sleutel (het quotum is de piek, het venster de tijd om die volledig aan te vullen; voor een sessie is hetuser, zonder authenticatiegegevensip);minute,dayenmonthzijn de quota van de organisatie voor de kalenderminuut, -dag en -maand in UTC.RateLimitWat er over is van elke limiet in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimiet van de strengste regel in
RateLimit-Policy(die met de minste resterende requests).X-RateLimit-RemainingResterende requests onder de strengste limiet.
X-RateLimit-ResetSeconden tot de strengste limiet wordt teruggezet.
application/json
access_tokenstringverplichtToegangstoken (
kbat_…) voor de headerAuthorization: Bearer.token_typestringverplichtToegestane waarden:
Bearerexpires_inintegerverplichtLevensduur van het toegangstoken in seconden.
refresh_tokenstringVernieuwingstoken (
kbrt_…); ontbreekt bij clientgegevens.scopestringverplichtScopes van het token, gescheiden door spaties.
400Fout zoals gedefinieerd in RFC 6749, sectie 5.2.
Responseheaders
RateLimit-PolicyGeldende limieten, in het formaat van het IETF-concept
draft-ietf-httpapi-ratelimit-headers: items gescheiden door komma’s,"<name>";q=<quota>;w=<window in seconds>.keyis de requestsnelheid van de API-sleutel (het quotum is de piek, het venster de tijd om die volledig aan te vullen; voor een sessie is hetuser, zonder authenticatiegegevensip);minute,dayenmonthzijn de quota van de organisatie voor de kalenderminuut, -dag en -maand in UTC.RateLimitWat er over is van elke limiet in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimiet van de strengste regel in
RateLimit-Policy(die met de minste resterende requests).X-RateLimit-RemainingResterende requests onder de strengste limiet.
X-RateLimit-ResetSeconden tot de strengste limiet wordt teruggezet.
application/json
401Ongeldige clientgegevens (`invalid_client`).
Responseheaders
RateLimit-PolicyGeldende limieten, in het formaat van het IETF-concept
draft-ietf-httpapi-ratelimit-headers: items gescheiden door komma’s,"<name>";q=<quota>;w=<window in seconds>.keyis de requestsnelheid van de API-sleutel (het quotum is de piek, het venster de tijd om die volledig aan te vullen; voor een sessie is hetuser, zonder authenticatiegegevensip);minute,dayenmonthzijn de quota van de organisatie voor de kalenderminuut, -dag en -maand in UTC.RateLimitWat er over is van elke limiet in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimiet van de strengste regel in
RateLimit-Policy(die met de minste resterende requests).X-RateLimit-RemainingResterende requests onder de strengste limiet.
X-RateLimit-ResetSeconden tot de strengste limiet wordt teruggezet.
application/json
Veilig opnieuw proberen
Stuur bij elke POST en PATCH een header Idempotency-Key mee (bijvoorbeeld een UUID). Een nieuwe poging met dezelfde sleutel binnen 24 uur geeft de opgeslagen response terug, zonder het request opnieuw uit te voeren.
Snelheidslimieten
Responses bevatten de headers RateLimit en RateLimit-Policy en de eerdere X-RateLimit-Limit, X-RateLimit-Remaining en X-RateLimit-Reset. Een response met status 429 bevat Retry-After in seconden: wacht en probeer het daarna opnieuw.