メールアドレスの追加

POST /fapi/v1/me/emails · 環境のサインインホストから呼び出します

認証済みユーザーにメールアドレスを、未検証かつ主要ではないアドレスとして追加し、そのアドレスに確認用リンクを送信します。ユーザーがリンクを開くと、そのアドレスが利用可能になります。受け付けられたリクエストは、そのアドレスがこのユーザーの既存のものである場合を含め、本文なしの 202 で応答します。応答から、そのアドレスが別のアカウントで使用されているかどうかは分かりません。ユーザーが保持できるアドレスは、主要なアドレスを含めて最大 10 件です。認証済みユーザーの __Host-idp_session Cookie が必要です。Cookie がない、期限切れ、または取り消されている場合は、401 unauthenticated を返します。別のオリジンにある自社アプリは、代わりにフロント API のアクセストークンを送信できます(DPoP プルーフを添えた Authorization: DPoP <token>。フロント API アクセストークンを参照してください)。

セッションは過去 5 分以内に検証されている必要があります。ユーザーが第二要素を持っている場合は、セッションが第二要素(urn:idp:acr:mfa)を使って開始されている必要もあります。

リクエスト

ヘッダー:

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

ボディ:

フィールド 型 必須 説明
email string はい 追加するアドレス(最大 320 文字)。

レスポンス

202 Accepted、ボディなし。

エラー

ステータス コード 発生条件
400 malformed_request ボディが有効な JSON ではない。
400 unknown_field ボディに email 以外のフィールドがある。
401 unauthenticated 有効なセッション Cookie がない。
401 step_up_required セッションが過去 5 分以内に検証されていない、または第二要素が必要。WWW-Authenticate ヘッダーで max_age=300(該当する場合は acr_values も)を指定して再認証してください。
403 origin_not_allowed Origin がない、または誤っている。
409 email_limit_reached ユーザーが既に 10 件のメールアドレスを持っている。
413 payload_too_large ボディが大きすぎる。
415 unsupported_media_type Content-Type が application/json ではない。
422 validation_failed email がない。
422 email_invalid email が有効なメールアドレスではない。
422 email_domain_not_allowed 環境がこのドメインのアドレスを許可していない。
429 verification_rate_limited 最近、確認メッセージの送信回数が多すぎる。しばらくしてから再試行してください。

例

curl -X POST https://example.keenauth.app/fapi/v1/me/emails \
  -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": "ada@example.org"}'

個人データ

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