組織ロールを更新
PATCH /fapi/v1/organizations/{org_id}/roles/{role_id} · 環境のサインインホストから呼び出します
組織ロールの名前または説明を変更します(JSON マージパッチ、RFC 7396)。環境ロールはここでは変更できません。認証済みユーザーの __Host-idp_session Cookie が必要です。Cookie が存在しない、期限切れ、または取り消されている場合は、401 unauthenticated を返します。別のオリジンにある自社アプリは、代わりにフロント API アクセストークン(DPoP 証明付きの Authorization: DPoP <token>。フロント API アクセストークンを参照)を送信することもできます。ユーザーは、idp_roles:manage 権限を持つ組織のアクティブなメンバーである必要があります。メンバーでないユーザーには 404 not_found を返し、組織が存在することは開示しません。権限のないメンバーには 403 insufficient_permissions を返します。組織ロールは、環境で有効になっており、そのプランに含まれている必要があります。
リクエスト
ヘッダー:
| ヘッダー | 必須 | 説明 |
|---|---|---|
Idp-Client |
はい | SDK 識別子。 |
Origin |
はい | https://<sign-in host> と完全に一致する必要があります。 |
Content-Type |
本文がある場合 | application/json または application/merge-patch+json。 |
If-Match |
いいえ | 最後に読み取ったロールの "<version>"。その後ロールが変更されている場合は、412 precondition_failed を返し、何も変更されません。 |
org_id: 組織の識別子(org_…)。role_id: ロールの識別子(rol_…)。
本文(少なくとも 1 つのフィールド):
| フィールド | 必須 | 説明 |
|---|---|---|
name |
いいえ | 新しい表示名。 |
description |
いいえ | 新しい説明。 |
レスポンス
200 OK と新しい ETag を返します。本文はロールです(組織ロールを取得を参照)。
エラー
| ステータス | コード | 発生条件 |
|---|---|---|
| 401 | unauthenticated |
有効なセッション Cookie がありません。 |
| 403 | origin_not_allowed |
Origin がないか、不正です。 |
| 403 | insufficient_permissions |
ユーザーに、その組織での idp_roles:manage 権限がありません。 |
| 403 | plan_feature_unavailable |
環境のプランに組織ロールが含まれていません(feature、required_plan)。 |
| 403 | org_custom_roles_disabled |
環境で組織ロールが無効になっています。 |
| 403 | role_not_assignable |
ロールが、ユーザーが保持していない権限を付与するか、ユーザー自身のメンバーシップがその権限を持っています。 |
| 404 | not_found |
このユーザーに対して該当する組織または組織ロールがありません。環境ロール、存在しない、形式が不正、または他の組織の識別子も同じ応答になります。 |
| 409 | organization_pending_deletion |
組織は削除が予定されています。 |
| 412 | precondition_failed |
If-Match が現在のバージョンを指定していないか、リクエストの処理中にロールが変更されました。 |
| 422 | validation_failed |
フィールドが無効か、パッチが空です(empty_patch)。 |
| 503 | service_unavailable |
一時的に利用できません。Retry-After の後に再試行してください。 |
例
curl -X PATCH https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/roles/rol_01jbz6x8kq3m2n4p5r6s7t8v9w \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-H "Origin: https://example.keenauth.app" \
-H "Content-Type: application/merge-patch+json" \
-H 'If-Match: "1"' \
-b cookies.txt \
-d '{"name":"Auditors"}'