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 у секундах: зачекайте й повторіть запит.