組織のデフォルト設定を更新
PATCH /v1/organization-defaults · 権限 organizations:write
環境の組織のデフォルト設定を、JSON マージパッチ(application/merge-patch+json、RFC 7396)で更新します。If-Match は必須です。指定がない場合は 428、古いバージョンの場合は 412 を返します。変更するフィールドのみを送信してください。変更がないパッチでは書き込みは行われず、バージョンも維持されます。
リクエスト
| Field | Type | Required | Description |
|---|---|---|---|
If-Match |
header | yes | 最後に読み取ったデフォルト設定の ETag。指定がない場合は 428、古い場合は 412。 |
org_admin_role_id |
string | no | 組織の管理者に付与される環境ロール(rol_…)。組織管理のシステム権限を持つ必要があり(422 permission_reserved)、有効な管理者がいなくなる組織があってはなりません(409 last_org_admin)。null にすることはできません。 |
default_member_role_id |
string | no | 新しい組織メンバーに付与される環境ロール(rol_…)。null にすることはできません。 |
max_memberships_per_user |
integer | no | 1 人のユーザーが所属できる組織数、1〜1000(デフォルトは 200)。null にすることはできません。 |
invitation_ttl_days |
integer | no | 招待が有効な日数、1〜30(デフォルトは 7)。null にすることはできません。 |
org_self_service_deletion_grace_days |
integer | no | セルフサービスによる組織削除が実行されるまでの待機日数、0〜30(デフォルトは 14)。null にすることはできません。 |
on_org_delete_members |
string | no | detach(デフォルト):メンバーは所属関係のみを失います。delete_exclusive_provisioned:JIT または SCIM でこの組織に参加し、他の組織に所属していないユーザーは削除対象としてキューに入ります。null にすることはできません。 |
org_custom_roles_enabled |
boolean | no | 組織の管理者が独自のロールを定義できるようにします(デフォルトは false)。組織ロールの書き込みには引き続き org_custom_roles プラン機能が必要です。null にすることはできません。 |
org_self_delete_enabled |
boolean | no | 組織の管理者が自分の組織を削除できるようにします(デフォルトは false)。null にすることはできません。 |
動作
- ロールのフィールドには、この環境のロールを指定する必要があります。組織ロールや存在しないロールを指定すると、
unknown_roleを伴う422 validation_failedが返されます。 on_org_delete_membersの変更は、変更後に削除された組織に適用されます。- バリデーションエラーには、フィールドの JSON ポインタが含まれます。例:コード
out_of_rangeを伴う/invitation_ttl_days。 - 変更は管理監査ログに
organization_defaults.updatedとして記録されます。記録されるのは変更されたフィールド名のみで、値は記録されません。
レスポンス
更新されたデフォルト設定と新しい ETag を含む 200 OK を返します。
{
"org_admin_role_id": "rol_01j9xs0a2b4c6d8e0f2g4h6j8k",
"default_member_role_id": "rol_01j9xs0a2b4c6d8e0f2g4h6j8m",
"max_memberships_per_user": 200,
"invitation_ttl_days": 9,
"org_self_service_deletion_grace_days": 14,
"on_org_delete_members": "delete_exclusive_provisioned",
"org_custom_roles_enabled": false,
"org_self_delete_enabled": false,
"updated_at": "2026-11-03T10:00:00.123456Z",
"version": 2
}
エラー
| HTTP | code | When |
|---|---|---|
| 400 | unknown_field |
パッチに不明なフィールドまたは読み取り専用のフィールドが含まれているか、JSON オブジェクトではありません(malformed_request)。 |
| 403 | insufficient_permissions |
認証情報に必要な権限がありません。 |
| 409 | last_org_admin |
新しい管理者ロールによって、有効な管理者がいなくなる組織が生じます。 |
| 412 | precondition_failed |
If-Match が現在のバージョンと一致しません。 |
| 415 | unsupported_media_type |
コンテンツタイプが application/merge-patch+json ではありません。 |
| 422 | validation_failed |
値が無効です(ポインタがフィールドを示します)、またはフィールドが null に設定されています(code: invalid)。 |
| 428 | precondition_required |
If-Match が指定されていません。 |
例
curl -i -X PATCH "https://api.eu.keenauth.com/v1/organization-defaults" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/merge-patch+json" \
-H 'If-Match: "1"' \
-d '{"on_org_delete_members":"delete_exclusive_provisioned","invitation_ttl_days":9}'
keenauth organization-defaults update --if-match '"1"' \
--on-org-delete-members delete_exclusive_provisioned --invitation-ttl-days 9