
# Kuruluş seç

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

Kullanıcının barındırılan seçicide seçtiği kuruluşu yetkilendirme isteğine bağlar. Sunucu seçimi yeniden denetler. `organization_id`, çağrı anında bu kullanıcı ve uygulama için [Seçilebilir kuruluşları listele](/docs/api/fapi/authorization-requests/organizations/list) listesinde olmalıdır.

Listede olmayan her değer `422 validation_failed` alır ve hiçbir şey bağlanmaz. Örnekler:

- Başka bir kullanıcının kuruluşu.
- Başka bir ortamın kuruluşu.
- Uygulamanın etkin olmadığı bir kuruluş.
- Biçimsiz bir kimlik.

Kabul edilen kuruluş isteğe bir kez yazılır ve sonradan değişmez. Yanıt `continue_url` taşır; bu, yetkilendirme ucunun devam adresidir. Tarayıcı oraya gider ve yetkilendirme, kuruluş bağlı olarak sürer.

İstek koşulları ve `404` yanıtı liste ucundakiyle aynıdır. 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ı. |
| `Origin` | evet | Tam olarak `https://<oturum açma host'u>` olmalıdır. |
| `Content-Type` | evet | `application/json`. |

Gövde:

| Alan | Tür | Zorunlu | Açıklama |
| --- | --- | --- | --- |
| `organization_id` | string | evet | Listedeki bir kuruluşun `id` değeri (`org_…`). |

## Yanıt

`200 OK`:

| Alan | Tür | Açıklama |
| --- | --- | --- |
| `continue_url` | string | Tarayıcının devam edeceği adres: yetkilendirme ucunun devam adresi. |

```json
{"continue_url": "/oauth2/authorize/resume?authorization_request=azr_01jbz6x8kq3m2n4p5r6s7t8v9w"}
```

## Hatalar

| Durum | Kod | Ne zaman |
| --- | --- | --- |
| 400 | `malformed_request` | Gövde geçerli JSON değil. |
| 400 | `unknown_field` | Gövdede `organization_id` dışında alan var. |
| 401 | `unauthenticated` | Geçerli oturum çerezi yok. |
| 403 | `origin_not_allowed` | `Origin` eksik ya da yanlış. |
| 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ış. |
| 413 | `payload_too_large` | Gövde çok büyük. |
| 415 | `unsupported_media_type` | `Content-Type` `application/json` değil. |
| 422 | `validation_failed` | `organization_id` eksik ya da listedeki kuruluşlardan biri değil. |
| 503 | `temporarily_unavailable` | Kuruluş listesi okunamadı. |

## Örnek

```bash
curl -X POST https://example.keenauth.app/fapi/v1/authorization-requests/azr_01jbz6x8kq3m2n4p5r6s7t8v9w:select-organization \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{"organization_id": "org_01jbz6x8kq3m2n4p5r6s7t8v9w"}'
```
