
# 選択可能な組織の一覧取得

`GET /fapi/v1/authorization-requests/{authorization_request_id}/organizations` · 環境のサインインホストから呼び出されます

`/u/organization` にあるホスト型の組織選択画面がこのエンドポイントを呼び出します。アプリケーションの `organization_usage` が `require` で、認可リクエストに `organization` が指定されていない場合、認可エンドポイントはユーザーのサインイン後に所属組織を検索します。所属組織がなければ、リクエストは `access_denied` と `error_description=no_organization_membership` で終了します。1 つだけであれば、画面を表示せずにその組織がバインドされます。2 つ以上あれば、ブラウザは組織選択画面に移動し、この一覧を読み取ります。

一覧には、ユーザーが有効なメンバーシップを持ち、組織が有効で、アプリケーションが有効になっている組織が含まれます。slug の順に並び、最大 100 件です。`truncated: true` は、さらに組織が存在することを示します。このセッションで最後に選択された組織が先頭に来て、`last_used: true` になります。`name` は顧客データで、制御文字と方向制御文字を除いたものです。組織に名前がない場合は、`name` は slug になります。一覧を読み取っても何もバインドされません。

認可リクエストは保留中で、このサインインホストで開かれ、認可エンドポイントがこのブラウザに設定したバインディング Cookie を持っている必要があります。次の場合はいずれも同じ `404 not_found` になります。

- 形式が不正、または不明なリクエスト
- 期限切れ、または終了したリクエスト
- 別のホストで開かれたリクエスト
- 別のブラウザで開かれたリクエスト

認証済みユーザーの `__Host-idp_session` Cookie が必要です。Cookie がない、期限切れ、または失効している場合は `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` | 有効なセッション Cookie がない。 |
| 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
```
