
# 선택할 수 있는 조직 목록 조회

`GET /fapi/v1/authorization-requests/{authorization_request_id}/organizations` · 환경의 로그인 호스트에서 호출됩니다

`/u/organization`에 있는 호스팅 조직 선택기가 이 엔드포인트를 호출합니다. 애플리케이션의 `organization_usage`가 `require`이고 인가 요청이 `organization`을 지정하지 않은 경우, 인가 엔드포인트는 사용자가 로그인한 뒤 사용자의 조직을 조회합니다. 조직이 없으면 요청은 `access_denied`와 `error_description=no_organization_membership`으로 끝납니다. 하나뿐이면 화면 없이 그 조직이 바인딩됩니다. 둘 이상이면 브라우저는 이 목록을 읽는 선택기로 이동합니다.

목록에는 사용자가 활성 멤버십을 가진 조직, 활성 상태인 조직, 그리고 활성화된 애플리케이션의 조직이 들어갑니다. 목록은 slug 순이며 최대 100개 항목을 담습니다. `truncated: true`는 더 많은 조직이 있음을 뜻합니다. 이 세션에서 마지막으로 선택한 조직이 맨 앞에 오며 `last_used: true`를 가집니다. `name`은 고객 데이터이며 제어 문자와 방향 문자가 제거된 상태입니다. 조직에 이름이 없으면 `name`은 slug입니다. 목록을 읽어도 아무것도 바인딩되지 않습니다.

인가 요청은 대기 중이어야 하며, 이 로그인 호스트에서 열렸어야 하고, 인가 엔드포인트가 이 브라우저에 설정한 바인딩 쿠키를 가지고 있어야 합니다. 다음 경우에는 모두 같은 `404 not_found` 응답이 옵니다:

- 형식이 잘못되었거나 알 수 없는 요청
- 만료되었거나 종료된 요청
- 다른 호스트에서 열린 요청
- 다른 브라우저에서 열린 요청

인증된 사용자의 `__Host-idp_session` 쿠키가 필요합니다. 쿠키가 없거나, 만료되었거나, 폐기되었으면 `401 unauthenticated`를 반환합니다.

## 요청

경로 매개변수:

| 매개변수 | 설명 |
| --- | --- |
| `authorization_request_id` | 선택기 URL의 `authorization_request` 값(`azr_…`). |

헤더:

| 헤더 | 필수 | 설명 |
| --- | --- | --- |
| `Idp-Client` | 예 | SDK 식별자. |

본문 없음.

## 응답

`200 OK`:

| 필드 | 타입 | 설명 |
| --- | --- | --- |
| `data[].id` | string | 조직 식별자(`org_…`). |
| `data[].slug` | string | 조직 slug. |
| `data[].name` | string | 표시 이름, 일반 텍스트. |
| `data[].last_used` | boolean | 이 세션에서 마지막으로 선택한 조직인지 여부. |
| `truncated` | boolean | 사용자에게 나열된 것보다 더 많은 자격 있는 조직이 있는지 여부. |

```json
{
  "data": [
    {"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9w", "slug": "acme", "name": "Acme", "last_used": false},
    {"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9x", "slug": "globex", "name": "Globex", "last_used": false}
  ],
  "truncated": false
}
```

## 오류

| 상태 | 코드 | 발생 조건 |
| --- | --- | --- |
| 401 | `unauthenticated` | 유효한 세션 쿠키가 없음. |
| 404 | `not_found` | 요청이 형식에 맞지 않거나, 알 수 없거나, 만료되었거나, 종료되었거나, 다른 호스트 또는 다른 브라우저의 것임. |
| 409 | `conflict` | 요청에 이미 조직이 있음. |
| 503 | `temporarily_unavailable` | 조직 목록을 읽을 수 없음. |

## 예시

```bash
curl https://example.keenauth.app/fapi/v1/authorization-requests/azr_01jbz6x8kq3m2n4p5r6s7t8v9w/organizations \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -b cookies.txt
```
