
# Ortam yapılandırmasını al

`GET /fapi/v1/environment` · ortamın oturum açma host'undan çağrılır

Oturum açma sayfasının işlem açmadan önce ihtiyaç duyduğu genel yapılandırmayı döndürür: uygulamanın yeni bir işleminin
sunacağı birinci faktörler, kayıt kipi, etkin diller ve passkey sunuluyorsa passkey'in `rp_id`'si. Yanıt kişisel veri
içermez, çerez okumaz ve işlem açmaz.

## İstek

Başlıklar:

| Başlık | Zorunlu | Açıklama |
| --- | --- | --- |
| `Idp-Client` | evet | SDK tanımlayıcısı, `<paket>/<sürüm> (<çalışma zamanı>/<sürüm>)`. |

Sorgu parametreleri:

| Parametre | Zorunlu | Açıklama |
| --- | --- | --- |
| `client_id` | evet | Uygulamanın `client_id`'si. |

## Yanıt

`200 OK`:

| Alan | Açıklama |
| --- | --- |
| `schema_version` | `1`. |
| `first_factors` | Yeni bir işlemin sunacağı yöntemler, bu sırayla: `password`, `passkey`, `email_otp`, `magic_link`. Politika hiçbir yönteme izin vermiyorsa boştur. |
| `sign_up` | Kayıt kipi: `open`, `invite_only` ya da `closed`. |
| `locales` | `enabled` (etkin diller) ve `default` (varsayılan dil). |
| `passkey` | Yalnız passkey girişi sunulduğunda: `rp_id`. |

Yanıt `Cache-Control: max-age=60` taşır; politika değişikliği en geç bir dakika içinde görünür.

## Hatalar

| Durum | Kod | Ne zaman |
| --- | --- | --- |
| 400 | `malformed_request` | `Idp-Client` eksik. |
| 403 | `environment_suspended` | Ortam askıya alınmış. |
| 403 | `headless_not_allowed` | Uygulama birinci taraf değil. |
| 404 | `not_found` | Host bir ortama ait değil. |
| 422 | `validation_failed` | `client_id` eksik, çok uzun ya da bilinmiyor (`/client_id`). |

## Örnek

```bash
curl "https://example.keenauth.app/fapi/v1/environment?client_id=app_01j9zq3k5m7n8p9r0s1t2v3w4x" \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)"
```

```json
{
  "schema_version": 1,
  "first_factors": ["password", "passkey", "email_otp"],
  "sign_up": "open",
  "locales": {"enabled": ["tr", "en"], "default": "tr"},
  "passkey": {"rp_id": "example.keenauth.app"}
}
```
