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
Безбедни поновни покушаји
Уз сваки POST и PATCH захтев пошаљите заглавље Idempotency-Key (на пример UUID). Поновни покушај са истим кључем у року од 24 сата враћа сачувани одговор уместо да поново изврши захтев.
Ограничења учесталости
Одговори садрже заглавља RateLimit и RateLimit-Policy, као и старија X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset. Одговор 429 садржи заглавље Retry-After у секундама: сачекајте и поновите захтев.