
# 認証コードを送信

`POST /fapi/v1/verifications` · 環境のサインインホストから呼び出し

6桁のコードと認証リンクを含むメッセージを、認証済みユーザーの未認証のメールアドレスのいずれかに送信し、コード試行の ID を返します。ユーザーは [認証コードを入力](/docs/api/fapi/verifications/attempt) でコードを入力するか、リンクを開きます。どちらも10分間有効です。新しいメッセージを送信すると、そのアドレスの未完了の認証が置き換えられ、以前のメッセージのコードとリンクは使えなくなります。コードはアドレスのメールボックスにのみ届くため、再認証は不要です。認証済みユーザーの `__Host-idp_session` Cookie が必要です。Cookie がない、期限切れ、または取り消されている場合は `401 unauthenticated` を返します。別オリジンのファーストパーティアプリは、代わりにフロント API のアクセストークン（DPoP 証明付きの `Authorization: DPoP <token>`。[フロント API アクセストークン](/docs/api/fapi/front-api-token) を参照）を送信できます。

## リクエスト

ヘッダー:

| ヘッダー | 必須 | 説明 |
| --- | --- | --- |
| `Idp-Client` | はい | SDK 識別子。 |
| `Origin` | はい | 正確に `https://<sign-in host>` である必要があります。 |
| `Content-Type` | はい | `application/json`。 |

ボディ:

| フィールド | 型 | 必須 | 説明 |
| --- | --- | --- | --- |
| `email_id` | string (UUID) | はい | [メールアドレスの一覧](/docs/api/fapi/me/emails/list) で取得したアドレスの `id`。 |

## レスポンス

`202 Accepted`:

| フィールド | 型 | 説明 |
| --- | --- | --- |
| `id` | string (UUID) | コード試行の ID。`:attempt` パスで使用します。秘密情報ではありません。 |
| `expires_at` | string (RFC 3339) | 認証コードとリンクが無効になる日時。 |

```json
{"id": "0190a5c4-1b2c-7d3e-8f40-5162738400ff", "expires_at": "2026-10-12T10:10:00Z"}
```

## エラー

| ステータス | コード | 発生条件 |
| --- | --- | --- |
| 400 | `malformed_request` | ボディが有効な JSON ではありません。 |
| 400 | `unknown_field` | ボディに `email_id` 以外のフィールドがあります。 |
| 401 | `unauthenticated` | 有効なセッション Cookie がありません。 |
| 403 | `origin_not_allowed` | `Origin` がないか、誤っています。 |
| 404 | `not_found` | `email_id` がユーザーのアドレスのいずれでもありません。 |
| 409 | `conflict` | アドレスは既に認証済みです。 |
| 413 | `payload_too_large` | ボディが大きすぎます。 |
| 415 | `unsupported_media_type` | `Content-Type` が `application/json` ではありません。 |
| 422 | `validation_failed` | `email_id` がありません。 |
| 429 | `verification_rate_limited` | このアドレスには直近1時間に5件の認証メッセージが送信されました（追加時に送信されたものを含む）。しばらくしてから再試行してください。 |

## 例

```bash
curl -X POST https://example.keenauth.app/fapi/v1/verifications \
  -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 '{"email_id": "0190a5c4-1b2c-7d3e-8f40-516273849abc"}'
```

## 個人データ

このエンドポイントは個人データを扱います: エンドユーザーのプロフィール。 [KeenAuth API における個人データ](/docs/policies/personal-data) では、保存される内容、保存期間、削除方法を説明しています。いかなるフィールドにも特別カテゴリの個人データ（健康、生体情報、宗教、政治的意見、性的指向）を送信しないでください。
