PATCH/v1/api-keys/{key_id}
APIキーを更新する
update_api_key
キーのデータプロファイル、スコープ、コレクションの制限、許可するネットワーク、有効期限を変更します。渡さなかったフィールドは変わりません。
認証
AuthorizationヘッダーでAPIキーを送信します:Authorization: Bearer <キー>。
パスパラメーター
key_idinteger必須
ヘッダーパラメーター
Idempotency-Keystring書き込みを安全に再試行するためのキー:1〜255文字の印字可能なASCII文字で、論理的な操作ごとにUUID v4を使うことを推奨します。同じキーで24時間以内に再試行しても操作は再実行されず、保存済みのレスポンス(ステータス、ヘッダー、ボディ)が
Idempotency-Replayed: trueヘッダー付きで返されます。同じキーでメソッド、パス、Content-Type、ボディのいずれかが異なる場合は409 api.idempotency_mismatchを返し、最初のリクエストがまだ実行中の場合は409 api.idempotency_in_progressをRetry-After: 1付きで返します。5xxまたは429のレスポンスの後はキーが解放され、再試行で操作がもう一度実行されます。キーの有効範囲は、組織と呼び出し元(APIキー、ユーザー、カスタムソースのソースキー)の組み合わせです。length ≥ 1, length ≤ 255
X-View-AsstringadminロールのAPIキー専用です。データプロファイル<profile>[:viewer|verifier|editor](例:employee:viewer)としてリクエストを実行します。インストールキーではこのヘッダーを使えません(403)。
Cookieパラメーター
kb_view_asstringセッションの「View as」モードのCookie。
POST /auth/view-asで設定し、DELETE /auth/view-asで解除します。
リクエストボディ
application/json
data_profilestringキーの新しいデータプロファイル。データプロファイルは
adminロールには適用されないため、管理者のキーにfull以外のプロファイルを指定すると400 api_keys.data_profile_not_applicableが返ります。scopesarray of ApiKeyScopeキーのスコープ。
systemスコープはAPIでは発行されません。collection_idsarray of integerキーの対象をこれらのコレクションに限定します。空のリストは制限なしを意味します。呼び出し元のキー自体がコレクションに限定されている場合、そのキーで参照・変更できるのは、そのコレクションの中のキーだけで(それ以外のキーは
404 api_keys.not_foundを返します)、設定できるのは、自身のコレクションからなる空でないリストだけです。空のリスト、またはそのリストにないコレクションは400 api_keys.invalid_collectionsを返します。このフィールドがない場合、キーのコレクションは変わりません。items ≤ 100
allowed_cidrsarray of stringキーを使用できるネットワーク。
items ≤ 50
expires_atstring (date-time) | null有効期限(未来の時刻)。
nullは、キーが期限切れにならないことを意味します。
レスポンス
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最も厳しい制限がリセットされるまでの秒数。
Idempotency-Replayedtrueは、このIdempotency-Keyの保存済みのレスポンスが再送されたことを示します:操作は再実行されていません。
400リクエストが無効です:パラメーターの値またはオブジェクトの状態により、この操作を実行できません(`detail`はメッセージ)。
レスポンスヘッダー
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認証情報が送信されていない(セッションCookieもAPIキーもない)か、キーが見つかりません。
レスポンスヘッダー
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
403この操作は許可されていません:ロールの権限が足りない、コレクションやカードへのアクセス権がない、リクエストが「View as」モードで実行されている、または組織が停止中か削除済みです(`detail`は`code: org_suspended | org_deleted`を持つオブジェクト)。
レスポンスヘッダー
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
404オブジェクトが存在しないか、アクセスできません。APIは、アクセスが制限されたオブジェクトの存在を明かしません。
レスポンスヘッダー
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
422バリデーションエラー:ボディまたはパラメーターがスキーマに一致しない(`detail`はバリデーションエラーのリスト)、またはパラメーターの値が範囲外です(`detail`はメッセージ)。
レスポンスヘッダー
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
429リクエストが多すぎる(`api.rate_limited`)、組織の1分・1日・1か月のクォータを使い切った(`api.quota_exceeded`。`error.details`には`quota`、`limit`、`reset_at`が含まれます)、組織の上限に達した、または回答サービスが混雑しています(`answers.engine_busy`)。`Retry-After`ヘッダーの時間だけ待ってください。
レスポンスヘッダー
Retry-Afterリクエストを再試行するまでに待つ秒数。
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
エラーコード
すべてのリクエストに共通のコードに加えて、このエンドポイントがerror.codeで返すことのあるコード。
- 409api.idempotency_in_progress
- 400api.idempotency_key_invalid
- 409api.idempotency_mismatch
- 400api_keys.data_profile_not_applicable
- 400api_keys.invalid_cidrs
- 400api_keys.invalid_collections
- 400api_keys.invalid_expires
- 400api_keys.invalid_scopes
- 404api_keys.not_found
- 403auth.admin_required
- 401auth.not_authenticated
- 403auth.system_scope
- 400profiles.unknown
- 403view_as.read_only
安全な再試行
POSTとPATCHのたびにIdempotency-Keyヘッダー(UUIDなど)を送信してください。24時間以内に同じキーで再試行すると、リクエストをもう一度実行せずに、保存済みのレスポンスが返ります。
レート制限
レスポンスには、RateLimitヘッダーとRateLimit-Policyヘッダー、以前のX-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Resetが含まれます。429レスポンスにはRetry-After(秒)が含まれます。その時間だけ待ってから再試行してください。