POST/oauth/token
Издаване на OAuth 2.0 токен
oauth_token
Крайната точка за издаване на токени на OAuth 2.0 (RFC 6749, раздел 3.2). grant_type: authorization_code обменя еднократен код за двойка токени и изисква code_verifier (PKCE S256); refresh_token издава нова двойка срещу токен за опресняване и обезсилва предишния токен за опресняване (ротация), а повторното използване на обезсилен токен анулира цялата верига; client_credentials издава токен от името на организацията, само за приложение confidential, без токен за опресняване. Клиент confidential се удостоверява със заглавката Authorization: Basic или с полетата client_id и client_secret; публичният клиент изпраща само client_id. Токенът за достъп е валиден 1 час, а токенът за опресняване – 90 дни. Отговорите и грешките следват RFC 6749, раздел 5, с Cache-Control: no-store. Добавено във версия 1.62.0.
Удостоверяване
Не са нужни идентификационни данни.
Тяло на заявката
application/x-www-form-urlencoded
grant_typestringзадължителноДопустими стойности:
authorization_coderefresh_tokenclient_credentialscodestringКод за оторизация (
authorization_code).redirect_uristringСъщият URI за пренасочване като в заявката за оторизация (
authorization_code).code_verifierstringОригиналната стойност на PKCE, от 43 до 128 знака (
authorization_code).refresh_tokenstringОпресняване (
refresh_token).scopestringОбхвати, разделени с интервал, само за стесняване (
refresh_token,client_credentials).client_idstringID на приложението, когато тайната не се подава в заглавката
Authorization: Basic.client_secretstringТайна на клиента на приложение
confidential, когато не се подава в заглавкатаAuthorization: Basic.
Отговори
200Токените са издадени.
Заглавки на отговора
RateLimit-PolicyДействащите лимити във формата на черновата на IETF
draft-ietf-httpapi-ratelimit-headers: разделени със запетая елементи"<name>";q=<quota>;w=<window in seconds>.keyе честотата на заявките на API ключа (квотата е пиковото натоварване, прозорецът е времето за пълното ѝ възстановяване; за сесия еuser, без идентификационни данни –ip);minute,dayиmonthса квотите на организацията за календарната минута, ден и месец по UTC.RateLimitКакво остава от всеки лимит в
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitЛимитът на най-строгия запис в
RateLimit-Policy(този с най-малко оставащи заявки).X-RateLimit-RemainingОставащи заявки по най-строгия лимит.
X-RateLimit-ResetСекунди до нулирането на най-строгия лимит.
application/json
access_tokenstringзадължителноТокен за достъп (
kbat_…) за заглавкатаAuthorization: Bearer.token_typestringзадължителноДопустими стойности:
Bearerexpires_inintegerзадължителноСрок на валидност на токена за достъп в секунди.
refresh_tokenstringТокен за опресняване (
kbrt_…); липсва при client credentials.scopestringзадължителноОбхвати на токена, разделени с интервал.
400Грешка съгласно RFC 6749, раздел 5.2.
Заглавки на отговора
RateLimit-PolicyДействащите лимити във формата на черновата на IETF
draft-ietf-httpapi-ratelimit-headers: разделени със запетая елементи"<name>";q=<quota>;w=<window in seconds>.keyе честотата на заявките на API ключа (квотата е пиковото натоварване, прозорецът е времето за пълното ѝ възстановяване; за сесия еuser, без идентификационни данни –ip);minute,dayиmonthса квотите на организацията за календарната минута, ден и месец по UTC.RateLimitКакво остава от всеки лимит в
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitЛимитът на най-строгия запис в
RateLimit-Policy(този с най-малко оставащи заявки).X-RateLimit-RemainingОставащи заявки по най-строгия лимит.
X-RateLimit-ResetСекунди до нулирането на най-строгия лимит.
application/json
401Невалидни идентификационни данни на клиента (`invalid_client`).
Заглавки на отговора
RateLimit-PolicyДействащите лимити във формата на черновата на IETF
draft-ietf-httpapi-ratelimit-headers: разделени със запетая елементи"<name>";q=<quota>;w=<window in seconds>.keyе честотата на заявките на API ключа (квотата е пиковото натоварване, прозорецът е времето за пълното ѝ възстановяване; за сесия еuser, без идентификационни данни –ip);minute,dayиmonthса квотите на организацията за календарната минута, ден и месец по UTC.RateLimitКакво остава от всеки лимит в
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitЛимитът на най-строгия запис в
RateLimit-Policy(този с най-малко оставащи заявки).X-RateLimit-RemainingОставащи заявки по най-строгия лимит.
X-RateLimit-ResetСекунди до нулирането на най-строгия лимит.
application/json
Безопасни повторни опити
Изпращайте заглавката Idempotency-Key (например UUID) с всяка заявка POST и PATCH. Повторен опит със същия ключ в рамките на 24 часа връща запазения отговор, вместо да изпълни заявката отново.
Лимити на честотата
Отговорите съдържат заглавките RateLimit и RateLimit-Policy, както и по-ранните X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset. Отговорът 429 съдържа Retry-After в секунди: изчакайте и опитайте отново.