
# 조직 역할 삭제

`DELETE /fapi/v1/organizations/{org_id}/roles/{role_id}` · 환경의 로그인 호스트에서 호출

할당되지 않은 조직 역할을 삭제합니다. 환경 역할은 여기서 삭제할 수 없습니다. 인증된 사용자의 `__Host-idp_session` 쿠키가 필요하며, 쿠키가 없거나 만료되었거나 취소되었으면 `401 unauthenticated`를 반환합니다. 다른 출처의 자사 앱은 대신 Front API 액세스 토큰(DPoP 증명을 포함한 `Authorization: DPoP <token>`, [Front API 액세스 토큰](/docs/api/fapi/front-api-token) 참조)을 보낼 수 있습니다. 사용자는 조직의 활성 회원이어야 하며 `idp_roles:manage` 권한을 가져야 합니다. 회원이 아닌 사용자는 `404 not_found`를 받으므로 조직의 존재 여부가 노출되지 않으며, 권한이 없는 회원은 `403 insufficient_permissions`를 받습니다. 조직 역할은 환경에서 활성화되어 있고 해당 환경의 요금제에 포함되어 있어야 합니다.

## 요청

헤더:

| 헤더 | 필수 여부 | 설명 |
| --- | --- | --- |
| `Idp-Client` | 예 | SDK 식별자입니다. |
| `Origin` | 예 | 정확히 `https://<sign-in host>`여야 합니다. |
| `If-Match` | 아니요 | 마지막으로 읽은 역할의 `"<version>"`입니다. 그 이후 역할이 변경되었으면 `412 precondition_failed`를 반환하며 아무것도 변경되지 않습니다. |

`org_id`: 조직 식별자(`org_…`)입니다. `role_id`: 역할 식별자(`rol_…`)입니다.

본문 없음.

## 응답

`204 No Content`.

## 오류

| 상태 | 코드 | 발생 조건 |
| --- | --- | --- |
| 401 | `unauthenticated` | 유효한 세션 쿠키가 없습니다. |
| 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 | `role_in_use` | 역할이 아직 할당되어 있습니다. |
| 409 | `organization_pending_deletion` | 조직이 삭제 예정입니다. |
| 412 | `precondition_failed` | `If-Match`가 현재 버전을 가리키지 않거나, 요청을 처리하는 동안 역할이 변경되었습니다. |
| 503 | `service_unavailable` | 일시적으로 사용할 수 없습니다. `Retry-After` 이후에 다시 시도하십시오. |

## 예시

```bash
curl -X DELETE 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" \
  -b cookies.txt
```
