
# 環境設定を取得

`GET /fapi/v1/environment` · 環境のサインインホストから呼び出される

トランザクションを開く前にサインインページが必要とする公開設定を返します。アプリケーションの新しいトランザクションが提供する
最初の認証要素、サインアップモード、有効な言語、そしてパスキーが提供される場合はパスキーの`rp_id`です。レスポンスには
個人データは含まれず、クッキーを読み取らず、トランザクションも開きません。

## リクエスト

ヘッダー:

| ヘッダー | 必須 | 説明 |
| --- | --- | --- |
| `Idp-Client` | はい | SDK識別子、`<パッケージ>/<バージョン> (<ランタイム>/<バージョン>)`. |

クエリパラメーター:

| パラメーター | 必須 | 説明 |
| --- | --- | --- |
| `client_id` | はい | アプリケーションの`client_id`。 |

## レスポンス

`200 OK`:

| フィールド | 説明 |
| --- | --- |
| `schema_version` | `1`。 |
| `first_factors` | 新しいトランザクションが次の順序で提供する方法: `password`、`passkey`、`email_otp`、`magic_link`。ポリシーが方法を許可しない場合は空です。 |
| `sign_up` | サインアップモード: `open`、`invite_only`、または`closed`。 |
| `locales` | `enabled`(有効な言語)と`default`(デフォルトの言語)。 |
| `passkey` | パスキーでのサインインが提供される場合のみ: `rp_id`。 |

レスポンスには`Cache-Control: max-age=60`が含まれます。ポリシーの変更は1分以内に反映されます。

## エラー

| ステータス | コード | 場合 |
| --- | --- | --- |
| 400 | `malformed_request` | `Idp-Client`がない。 |
| 403 | `environment_suspended` | 環境が一時停止されている。 |
| 403 | `headless_not_allowed` | アプリケーションがファーストパーティではありません。 |
| 404 | `not_found` | ホストがどの環境にも属していない。 |
| 422 | `validation_failed` | `client_id`がない、長すぎる、または不明である(`/client_id`)。 |

## 例

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