組織ロールを作成
POST /fapi/v1/organizations/{org_id}/roles · 環境のサインインホストから呼び出されます
権限を含まないロールを組織内に作成します。権限は ロールの権限を設定 で追加します。1 つの組織に作成できるロールは最大 50 件です。認証済みユーザーの __Host-idp_session Cookie が必要です。Cookie がない、期限切れ、または取り消されている場合は 401 unauthenticated が返されます。別のオリジンの First-party アプリは、代わりに Front API アクセストークン(DPoP 証明付きの Authorization: DPoP <token>。Front API アクセストークン を参照)を送信できます。ユーザーは、idp_roles:manage の権限を持つ、組織のアクティブなメンバーである必要があります。メンバーでないユーザーには 404 not_found が返され、組織の存在は開示されません。権限のないメンバーには 403 insufficient_permissions が返されます。組織ロールは、環境で有効化され、そのプランに含まれている必要があります。
リクエスト
ヘッダー:
| ヘッダー | 必須 | 説明 |
|---|---|---|
Idp-Client |
はい | SDK の識別子。 |
Origin |
はい | 完全に https://<sign-in host> である必要があります。 |
Content-Type |
はい | application/json。 |
org_id: 組織の識別子(org_…)。
ボディ:
| フィールド | 必須 | 説明 |
|---|---|---|
key |
はい | ロールのキー。組織内および環境ロールの中で一意である必要があり、後から変更できません。 |
name |
はい | 表示名。 |
description |
いいえ | 説明。 |
レスポンス
201 Created と Location および 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 |
環境で組織ロールがオフになっています。 |
| 404 | not_found |
このユーザーに対応する組織またはロールがありません。未知、形式不正、または他の組織の識別子も同じ応答になります。 |
| 409 | role_key_conflict |
そのキーは組織内、または環境ロールで既に使用されています。 |
| 409 | role_limit_reached |
組織にすでに 50 件のロールがあります。 |
| 409 | organization_pending_deletion |
組織は削除予定です。 |
| 422 | validation_failed |
フィールドがないか不正です。errors[] にフィールド名が示されます。 |
| 503 | service_unavailable |
一時的に利用できません。Retry-After の後に再試行してください。 |
例
curl -X POST https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/roles \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-H "Origin: https://example.keenauth.app" \
-H "Content-Type: application/json" \
-b cookies.txt \
-d '{"key":"auditor","name":"Auditor"}'