Salt la conținut
Sursa Developers

POST/oauth/token

Emite un token OAuth 2.0

oauth_token

Endpointul de emitere a tokenurilor OAuth 2.0 (RFC 6749, secțiunea 3.2). grant_type: authorization_code schimbă un cod de unică folosință pe o pereche de tokenuri și necesită code_verifier (PKCE S256); refresh_token emite o pereche nouă pentru un token de reîmprospătare și invalidează tokenul de reîmprospătare anterior (reînnoire), iar reutilizarea unuia invalidat revocă întregul lanț; client_credentials emite un token în numele organizației, doar pentru o aplicație confidential, fără token de reîmprospătare. Un client confidential se autentifică cu antetul Authorization: Basic sau cu câmpurile client_id și client_secret; un client public trimite doar client_id. Un token de acces este valabil 1 oră, iar un token de reîmprospătare – 90 de zile. Răspunsurile și erorile respectă RFC 6749, secțiunea 5, cu Cache-Control: no-store. Adăugat în 1.62.0.

Autentificare

Nu sunt necesare date de autentificare.

Corpul cererii

application/x-www-form-urlencoded

Obiect: OAuthTokenRequest

  • grant_typestringobligatoriu

    Valori permise: authorization_coderefresh_tokenclient_credentials

  • codestring

    Codul de autorizare (authorization_code).

  • redirect_uristring

    Același URI de redirecționare ca în cererea de autorizare (authorization_code).

  • code_verifierstring

    Valoarea PKCE originală, de la 43 la 128 de caractere (authorization_code).

  • refresh_tokenstring

    Tokenul de reîmprospătare (refresh_token).

  • scopestring

    Domenii de acces separate prin spații, doar pentru restrângere (refresh_token, client_credentials).

  • client_idstring

    ID-ul aplicației, când secretul nu se transmite în antetul Authorization: Basic.

  • client_secretstring

    Secretul de client al unei aplicații confidential, când nu se transmite în antetul Authorization: Basic.

Răspunsuri

200Tokenurile au fost emise.

Antetele răspunsului

  • RateLimit-Policy

    Limitele în vigoare, în formatul proiectului IETF draft-ietf-httpapi-ratelimit-headers: elemente separate prin virgulă "<name>";q=<quota>;w=<window in seconds>. key este frecvența cererilor cheii API (cota este rafala, fereastra este timpul în care rafala se reface complet; pentru o sesiune este user, fără date de autentificare ip); minute, day și month sunt cotele organizației pentru minutul, ziua și luna calendaristice în UTC.

  • RateLimit

    Cât a rămas din fiecare limită din RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limita celei mai stricte intrări din RateLimit-Policy (cea cu cele mai puține cereri rămase).

  • X-RateLimit-Remaining

    Cereri rămase în cadrul celei mai stricte limite.

  • X-RateLimit-Reset

    Secunde până la resetarea celei mai stricte limite.

application/json

Obiect: OAuthTokenResponse

  • access_tokenstringobligatoriu

    Tokenul de acces (kbat_…) pentru antetul Authorization: Bearer.

  • token_typestringobligatoriu

    Valori permise: Bearer

  • expires_inintegerobligatoriu

    Durata de viață a tokenului de acces, în secunde.

  • refresh_tokenstring

    Tokenul de reîmprospătare (kbrt_…); lipsește pentru client credentials.

  • scopestringobligatoriu

    Domeniile de acces ale tokenului, separate prin spații.

400Eroare conform RFC 6749, secțiunea 5.2.

Antetele răspunsului

  • RateLimit-Policy

    Limitele în vigoare, în formatul proiectului IETF draft-ietf-httpapi-ratelimit-headers: elemente separate prin virgulă "<name>";q=<quota>;w=<window in seconds>. key este frecvența cererilor cheii API (cota este rafala, fereastra este timpul în care rafala se reface complet; pentru o sesiune este user, fără date de autentificare ip); minute, day și month sunt cotele organizației pentru minutul, ziua și luna calendaristice în UTC.

  • RateLimit

    Cât a rămas din fiecare limită din RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limita celei mai stricte intrări din RateLimit-Policy (cea cu cele mai puține cereri rămase).

  • X-RateLimit-Remaining

    Cereri rămase în cadrul celei mai stricte limite.

  • X-RateLimit-Reset

    Secunde până la resetarea celei mai stricte limite.

401Date de autentificare ale clientului invalide (`invalid_client`).

Antetele răspunsului

  • RateLimit-Policy

    Limitele în vigoare, în formatul proiectului IETF draft-ietf-httpapi-ratelimit-headers: elemente separate prin virgulă "<name>";q=<quota>;w=<window in seconds>. key este frecvența cererilor cheii API (cota este rafala, fereastra este timpul în care rafala se reface complet; pentru o sesiune este user, fără date de autentificare ip); minute, day și month sunt cotele organizației pentru minutul, ziua și luna calendaristice în UTC.

  • RateLimit

    Cât a rămas din fiecare limită din RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limita celei mai stricte intrări din RateLimit-Policy (cea cu cele mai puține cereri rămase).

  • X-RateLimit-Remaining

    Cereri rămase în cadrul celei mai stricte limite.

  • X-RateLimit-Reset

    Secunde până la resetarea celei mai stricte limite.

Reîncercări sigure

Trimiteți un antet Idempotency-Key (de exemplu, un UUID) cu fiecare POST și PATCH. O reîncercare cu aceeași cheie în decurs de 24 de ore returnează răspunsul salvat, fără să execute din nou cererea.

Limite de frecvență

Răspunsurile conțin antetele RateLimit și RateLimit-Policy, precum și antetele anterioare X-RateLimit-Limit, X-RateLimit-Remaining și X-RateLimit-Reset. Un răspuns 429 conține Retry-After în secunde: așteptați și reîncercați.

← oauth · Referința API