管理クライアントの更新
PATCH /v1/management-clients/{application_id} · 権限 management-clients:write
JSON マージパッチ(RFC 7396、application/merge-patch+json)で管理クライアントのレコードを更新します。送信したフィールドだけが変更され、それ以外はそのまま残ります。If-Match は必須です。指定しないとリクエストは 428 で失敗し、現在のバージョンと一致しない場合は 412 で失敗します。このエンドポイントを呼び出せるのは API キーだけです。
リクエスト
| パラメータ | 位置 | 説明 |
|---|---|---|
application_id |
パス | アプリケーション ID(app_…)。 |
If-Match |
ヘッダー | 直前の読み取りまたは書き込みで得た ETag。 |
本文: 以下のフィールドのいずれか。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
permissions |
string[] | いいえ | 既知の <resource>:<action> 形式の権限を 1〜200 個。リスト全体を置き換えます。null にはできません。 |
allowed_cidrs |
string[] | null | いいえ | 最大 20 個の CIDR ブロック。リスト全体を置き換えます。null または [] の場合は、呼び出しキー自身のリストを使います。 |
何も変更しないパッチでは、レコード、そのバージョン、監査ログは変わりません。制限付きキーは、自分より広いレコードを変更できません(403 permission_escalation)。
レスポンス
200 OK。新しい ETag が付きます。
{
"application_id": "app_01h455vb4pex5vsknk084sn02q",
"permissions": ["users:read"],
"allowed_cidrs": ["203.0.113.0/24"]
}
エラー
| HTTP | code | 発生条件 |
|---|---|---|
| 400 | unknown_field |
パッチに permissions と allowed_cidrs 以外のフィールドが含まれています。 |
| 403 | permission_escalation |
レコード、またはパッチ適用後のレコードが呼び出しキーより広い権限を持っています。 |
| 404 | not_found |
このアプリケーションにはこの環境でレコードがありません。 |
| 412 | precondition_failed |
If-Match が現在のバージョンと一致しません。 |
| 415 | unsupported_media_type |
コンテンツタイプが application/merge-patch+json ではありません。 |
| 422 | validation_failed |
permissions が null、空、または未知の権限を含む、あるいは CIDR が不正です。 |
| 428 | precondition_required |
If-Match がありません。 |
例
curl -X PATCH https://api.eu.keenauth.com/v1/management-clients/app_01h455vb4pex5vsknk084sn02q \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/merge-patch+json" \
-H 'If-Match: "3f2a9c0d7b1e4a6f8c5d2e1b0a9f8e7d"' \
-d '{"permissions":["users:read"]}'
CLI: keenauth management-clients update app_01h455vb4pex5vsknk084sn02q --permissions users:read --if-match '"3f2a9c0d7b1e4a6f8c5d2e1b0a9f8e7d"'