POST/oauth/token
OAuth 2.0のトークンを発行する
oauth_token
OAuth 2.0のトークンエンドポイント(RFC 6749、3.2節)。grant_type:authorization_codeは1回限りのコードをトークンのペアと交換し、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_verifierstringPKCEの元の値。43〜128文字(
authorization_code)。refresh_tokenstringリフレッシュトークン(
refresh_token)。scopestringスペース区切りのスコープ。絞り込みのみ可能です(
refresh_token、client_credentials)。client_idstringアプリのID。シークレットを
Authorization: Basicヘッダーで渡さない場合に指定します。client_secretstringconfidentialアプリのクライアントシークレット。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の暦の上での1分・1日・1か月ごとの組織のクォータです。RateLimitRateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。X-RateLimit-LimitRateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。X-RateLimit-Remaining最も厳しい制限での残りのリクエスト数。
X-RateLimit-Reset最も厳しい制限がリセットされるまでの秒数。
application/json
access_tokenstring必須Authorization: Bearerヘッダーに使うアクセストークン(kbat_…)。token_typestring必須指定できる値:
Bearerexpires_ininteger必須アクセストークンの有効期間(秒)。
refresh_tokenstringリフレッシュトークン(
kbrt_…)。client credentialsの場合はありません。scopestring必須トークンのスコープ(スペース区切り)。
400RFC 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の暦の上での1分・1日・1か月ごとの組織のクォータです。RateLimitRateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。X-RateLimit-LimitRateLimit-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の暦の上での1分・1日・1か月ごとの組織のクォータです。RateLimitRateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。X-RateLimit-LimitRateLimit-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(秒)が含まれます。その時間だけ待ってから再試行してください。