認証コードを送信
POST /fapi/v1/verifications · 環境のサインインホストから呼び出し
6桁のコードと認証リンクを含むメッセージを、認証済みユーザーの未認証のメールアドレスのいずれかに送信し、コード試行の ID を返します。ユーザーは 認証コードを入力 でコードを入力するか、リンクを開きます。どちらも10分間有効です。新しいメッセージを送信すると、そのアドレスの未完了の認証が置き換えられ、以前のメッセージのコードとリンクは使えなくなります。コードはアドレスのメールボックスにのみ届くため、再認証は不要です。認証済みユーザーの __Host-idp_session Cookie が必要です。Cookie がない、期限切れ、または取り消されている場合は 401 unauthenticated を返します。別オリジンのファーストパーティアプリは、代わりにフロント API のアクセストークン(DPoP 証明付きの Authorization: DPoP <token>。フロント API アクセストークン を参照)を送信できます。
リクエスト
ヘッダー:
| ヘッダー | 必須 | 説明 |
|---|---|---|
Idp-Client |
はい | SDK 識別子。 |
Origin |
はい | 正確に https://<sign-in host> である必要があります。 |
Content-Type |
はい | application/json。 |
ボディ:
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
email_id |
string (UUID) | はい | メールアドレスの一覧 で取得したアドレスの id。 |
レスポンス
202 Accepted:
| フィールド | 型 | 説明 |
|---|---|---|
id |
string (UUID) | コード試行の ID。:attempt パスで使用します。秘密情報ではありません。 |
expires_at |
string (RFC 3339) | 認証コードとリンクが無効になる日時。 |
{"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件の認証メッセージが送信されました(追加時に送信されたものを含む)。しばらくしてから再試行してください。 |
例
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 における個人データ では、保存される内容、保存期間、削除方法を説明しています。いかなるフィールドにも特別カテゴリの個人データ(健康、生体情報、宗教、政治的意見、性的指向)を送信しないでください。