
# 사용자의 유효 권한 조회

`GET /v1/users/{user_id}/effective-permissions` · 권한 `users:read`

지원과 디버깅을 위해 사용자가 실제로 보유한 권한을 반환합니다. 여기에는 사용자의 직접 환경 역할 권한과, `org_id`가 주어진 경우 해당 조직에서 사용자의 활성 멤버십 역할 권한이 포함됩니다. 각 권한은 이를 부여하는 역할을 함께 나열합니다. 삭제된 API의 권한은 포함되지 않습니다. 목록은 페이지로 나뉘지 않으며, API 순서, 그다음 권한 값 순서로 정렬됩니다.

## 요청

| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| `user_id` | path | 예 | 사용자 ID(`usr_…`). |
| `org_id` | query | 아니요 | 조직 ID(`org_…`). 해당 조직에서 사용자의 활성 멤버십 역할도 포함합니다. |
| `api_id` | query | 아니요 | API ID(`api_…`). 해당 API의 권한만 반환합니다. 알 수 없는 API는 빈 목록을 반환합니다. |

요청 본문이 없습니다.

## 응답

`200 OK`와 함께 권한을 반환합니다.

```json
{
  "permissions": [
    {
      "permission_id": "perm_01j9xs0a2b4c6d8e0f2g4h6j8k",
      "api_id": "api_01j9xq1b3c5d7e9f1g3h5j7k9m",
      "value": "read:invoices",
      "role_ids": [
        "rol_01j9xr7s1t2w6x8y0z2a4b6c8e"
      ]
    }
  ]
}
```

## 오류

| HTTP | code | 발생 조건 |
|---|---|---|
| 404 | `not_found` | 사용자 또는 `org_id`에 지정된 조직이 이 환경에 없습니다. |
| 422 | `validation_failed` | `org_id` 또는 `api_id`의 형식이 잘못되었거나 중복되었습니다. |
| 401 | `unauthenticated` | 자격 증명이 없거나, 잘못되었거나, 취소되었습니다. |
| 403 | `insufficient_permissions` | 자격 증명에 필요한 권한이 없습니다. |
| 429 | `rate_limited` | 요청 한도를 초과했습니다. `Retry-After` 기간 후 다시 시도하십시오. |
| 503 | `service_unavailable` | 종속 서비스를 일시적으로 사용할 수 없습니다. `Retry-After` 기간 후 다시 시도하십시오. |

## 예제

```bash
curl -i -X GET "https://api.eu.keenauth.com/v1/users/usr_01j9xh2k6p7q1r3s5t7v9w1x3y/effective-permissions?org_id=org_01j9xk3m7q8r2s4t6v8w0y2z4a" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```
