
# Seçilebilir kuruluşları listele

`GET /fapi/v1/authorization-requests/{authorization_request_id}/organizations` · ortamın oturum açma host'undan çağrılır

`/u/organization` adresindeki barındırılan kuruluş seçicisi bu ucu çağırır. Bir uygulamanın `organization_usage` değeri `require` olabilir ve yetkilendirme isteği `organization` belirtmeyebilir. Bu durumda yetkilendirme ucu, kullanıcı giriş yaptıktan sonra kullanıcının kuruluşlarına bakar:

- Kuruluş yoksa istek `access_denied` ve `error_description=no_organization_membership` ile biter.
- Tek kuruluş varsa ekran gösterilmeden o kuruluş bağlanır.
- İki ya da daha fazla kuruluş varsa tarayıcı seçiciye gider ve seçici bu listeyi okur.

Listede şu koşulların hepsini sağlayan kuruluşlar bulunur:

- Kullanıcının kuruluşta etkin üyeliği vardır.
- Kuruluş etkindir.
- Uygulama kuruluşta etkindir.

Liste slug sırasındadır ve en çok 100 kayıt taşır. `truncated: true` daha fazlasının olduğunu gösterir. Bu oturumda son seçilen kuruluş listenin başındadır ve `last_used: true` taşır.

`name` müşteri verisidir ve denetim ile yön karakterleri ayıklanmış olarak döner. Adı olmayan kuruluşun `name` değeri slug'ıdır. Listeyi okumak hiçbir şey bağlamaz.

Yetkilendirme isteği şu koşulları sağlamalıdır:

- Bekliyor durumdadır.
- Bu oturum açma host'unda açılmıştır.
- Yetkilendirme ucunun bu tarayıcıya yazdığı bağlama çerezini taşır.

Aşağıdaki isteklerin hepsi aynı `404 not_found` yanıtını alır:

- Biçimsiz ya da bilinmeyen istek.
- Süresi dolmuş ya da tamamlanmış istek.
- Başka host'ta açılmış istek.
- Başka tarayıcıda açılmış istek.

Oturum açmış kullanıcının `__Host-idp_session` çerezi gerekir. Çerez yoksa, süresi dolmuşsa ya da iptal edilmişse yanıt `401 unauthenticated` olur.

## İstek

Yol parametresi:

| Parametre | Açıklama |
| --- | --- |
| `authorization_request_id` | Seçici adresindeki `authorization_request` değeri (`azr_…`). |

Başlıklar:

| Başlık | Zorunlu | Açıklama |
| --- | --- | --- |
| `Idp-Client` | evet | SDK tanımlayıcısı. |

Gövde yok.

## Yanıt

`200 OK`:

| Alan | Tür | Açıklama |
| --- | --- | --- |
| `data[].id` | string | Kuruluş kimliği (`org_…`). |
| `data[].slug` | string | Kuruluşun slug'ı. |
| `data[].name` | string | Görünen ad, düz metin. |
| `data[].last_used` | boolean | Bu oturumda son seçilen kuruluş olup olmadığı. |
| `truncated` | boolean | Kullanıcının listelenenden fazla uygun kuruluşu olup olmadığı. |

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

## Hatalar

| Durum | Kod | Ne zaman |
| --- | --- | --- |
| 401 | `unauthenticated` | Geçerli oturum çerezi yok. |
| 404 | `not_found` | İstek biçimsiz, bilinmiyor, süresi dolmuş, tamamlanmış, başka host'un ya da başka tarayıcının. |
| 409 | `conflict` | İsteğe zaten bir kuruluş bağlanmış. |
| 503 | `temporarily_unavailable` | Kuruluş listesi okunamadı. |

## Örnek

```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
```
