権限を更新する

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"}}'