権限を更新する
PATCH /v1/permissions/{permission_id} · 権限 apis:write
JSONマージパッチ(RFC 7396、application/merge-patch+json)で権限を更新します。送信したフィールドのみが変更され、それ以外は維持されます。権限にはバージョンがないため、If-Match はありません。
リクエスト
| パラメータ | 入力 | 説明 |
|---|---|---|
permission_id |
path | 権限ID(perm_…)。 |
本文: 以下のフィールドのいずれか(すべて省略可能、少なくとも1つ必要)。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
value |
文字列 | いいえ | 現在の値と同じ場合にのみ受け付けられます。値は変更されません。 |
display_name |
文字列 | null | いいえ | スコープの値の代わりに同意画面に表示される短い名前。最大128文字。 |
description |
文字列 | null | いいえ | 同意画面で名前の下に表示される詳細行。最大1024文字。 |
consent_text_i18n |
オブジェクト | null | いいえ | 言語タグ → 同意画面のテキスト(例: {"en": "Read your orders"})。最大30言語、各テキストは1〜1024文字、合計16 KiB。 |
sensitivity |
文字列 | いいえ | normal(既定値)または sensitive。 |
display_name、description、consent_text_i18n は null を指定して消去できます。sensitivity は消去できません。consent_text_i18n は全体が置き換えられます。省略した言語は削除されるため、残したい言語はすべて送信してください。
同意画面のテキスト
ホストされる同意画面は、要求された各スコープを次のように表示します。ページの言語に対応する consent_text_i18n の項目(完全一致するタグ、なければその基本サブタグ)、なければ display_name、それもなければスコープの value です。description は詳細行として表示されます。3つの値はすべてプレーンテキストです。制御文字(改行とタブを含む)、行・段落の区切り文字、双方向の埋め込み・上書き・分離文字(U+202A〜U+202E、U+2066〜U+2069)は 422 で拒否されます。前後の空白は除去され、除去後に空になったテキストは null として保存されます。HTMLは解釈されず、同意画面でエスケープされます。
レスポンス
200 OK
{
"id": "perm_01h455vb4pex5vsknk084sn02s",
"api_id": "api_01h455vb4pex5vsknk084sn02q",
"value": "read:orders",
"display_name": "Read orders",
"description": "See your past orders and their status",
"consent_text_i18n": {
"en": "Read your orders",
"tr": "Siparişlerinizi okuyun"
},
"sensitivity": "normal"
}
エラー
| HTTP | code | 情況 |
|---|---|---|
| 400 | unknown_field |
パッチに api_id または未知のフィールドがあります。 |
| 404 | not_found |
この環境にそのような権限はありません。 |
| 409 | conflict |
権限はシステムAPIに属しています。 |
| 415 | unsupported_media_type |
コンテンツタイプが application/merge-patch+json ではありません。 |
| 422 | validation_failed |
パッチが空、値が無効またはプレーンテキストではない、sensitivity が null、または value が異なります(immutable)。 |
例
curl -X PATCH https://api.eu.keenauth.com/v1/permissions/perm_01h455vb4pex5vsknk084sn02s \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/merge-patch+json" \
-d '{"description":"See your past orders and their status","consent_text_i18n":{"en":"Read your orders","tr":"Siparişlerinizi okuyun"}}'