조직 기본값 업데이트
PATCH /v1/organization-defaults · 권한 organizations:write
환경의 조직 기본값을 JSON 병합 패치(application/merge-patch+json, RFC 7396)로 업데이트합니다. If-Match는 필수입니다. 헤더가 없으면 428, 오래된 버전이면 412가 반환됩니다. 변경할 필드만 전송하십시오. 변경 사항이 없는 패치는 아무것도 쓰지 않으며 버전도 유지됩니다.
요청
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
If-Match |
header | 예 | 마지막으로 읽은 기본값의 ETag입니다. 없으면 428, 오래된 값이면 412입니다. |
org_admin_role_id |
string | 아니요 | 조직 관리자에게 부여되는 환경 역할(rol_…)입니다. 조직 관리 시스템 권한을 보유해야 하며(422 permission_reserved), 활성 관리자가 없는 조직이 생겨서는 안 됩니다(409 last_org_admin). null일 수 없습니다. |
default_member_role_id |
string | 아니요 | 새 조직 구성원에게 부여되는 환경 역할(rol_…)입니다. null일 수 없습니다. |
max_memberships_per_user |
integer | 아니요 | 한 사용자가 속할 수 있는 조직 수이며, 1-1000입니다(기본값 200). null일 수 없습니다. |
invitation_ttl_days |
integer | 아니요 | 초대가 유효한 일수이며, 1-30입니다(기본값 7). null일 수 없습니다. |
org_self_service_deletion_grace_days |
integer | 아니요 | 셀프 서비스 조직 삭제가 실행되기까지 기다리는 일수이며, 0-30입니다(기본값 14). null일 수 없습니다. |
on_org_delete_members |
string | 아니요 | detach(기본값): 구성원은 멤버십만 잃습니다. delete_exclusive_provisioned: JIT 또는 SCIM을 통해 이 조직에 들어왔고 다른 조직에 속하지 않은 사용자는 삭제 대기열에 추가됩니다. null일 수 없습니다. |
org_custom_roles_enabled |
boolean | 아니요 | 조직 관리자가 자체 역할을 정의할 수 있게 합니다(기본값 false). 조직 역할을 작성하려면 여전히 org_custom_roles 요금제 기능이 필요합니다. null일 수 없습니다. |
org_self_delete_enabled |
boolean | 아니요 | 조직 관리자가 직접 조직을 삭제할 수 있게 합니다(기본값 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 | 발생 조건 |
|---|---|---|
| 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