認証済みのメールアドレスをユーザーのプライマリアドレスに設定
POST /v1/users/{user_id}/emails/{email_id}:set-primary · 権限 users:write
認証済みのアドレスを、ユーザーのプライマリアドレスに設定します。以前のプライマリアドレスはセカンダリアドレスとして残ります。未認証のアドレスはプライマリにできません。そのアドレスがすでにプライマリの場合は、何も書き込まれず 200 が返されます。この変更は、API キーを実行者として管理監査ログに user.primary_email_changed として記録され、user.updated イベントが発行されます。
リクエスト
| パラメーター | 指定場所 | 必須 | 説明 |
|---|---|---|---|
user_id |
path | はい | ユーザー ID。接頭辞は usr_。 |
email_id |
path | はい | メールアドレスのレコードの ID(内部 UUID、小文字、ハイフン区切り)。GET /v1/users/{user_id}/emails が返す値を使用します。 |
このリクエストはボディを受け付けません(空のボディまたは {} は受け付けます)。
レスポンス
200 OK。更新後のメールアドレスのレコードを返します。users:read_pii 権限がない場合、アドレスはマスクされます(a***@e***.com)。
{
"id": "0191f0a0-3333-7444-8555-666666666666",
"email": "ada@example.com",
"verified": true,
"primary": true,
"created_at": "2026-01-15T09:30:00Z"
}
エラー
すべてのエラーは、安定した code を含む application/problem+json のボディで返されます。
| HTTP | code |
発生条件 |
|---|---|---|
| 400 | malformed_request, unknown_field |
ボディが有効な JSON ではない、または空でも {} でもない。 |
| 409 | primary_requires_verified |
アドレスが認証されていない。 |
| 404 | not_found |
ユーザーまたはメールアドレスのレコードがこの環境に存在しない、メールアドレスがこのユーザーのものではない、または ID の形式が正しくない。 |
| 401 | unauthenticated |
API キーが未指定、無効、または取り消されている。 |
| 403 | insufficient_permissions |
キーに users:write 権限がない。 |
| 429 | rate_limited |
レート制限を超えた。Retry-After に従ってください。 |
| 503 | service_unavailable |
依存するサービスが一時的に利用できない。後で再試行してください。 |
例
curl -X POST https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/emails/0191f0a0-3333-7444-8555-666666666666:set-primary \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
個人データ
このエンドポイントは個人データを扱います: エンドユーザーのプロフィール。KeenAuth API における個人データでは、保存される内容、保存期間、削除方法を説明しています。どのフィールドにも、特別な種類の個人データ(健康、生体データ、宗教、政治的意見、性的指向)を送信しないでください。