ユーザーのアカウントリカバリーを開始

POST /v1/users/{user_id}:start-recovery · 権限 user-credentials:write

待機期間なしで、リカバリーリンク(有効期間 24 時間)をユーザーのプライマリメールアドレスに送信します。これは admin_only リカバリーモードの経路です。リクエストは直接 ready として開始され、未完了のリカバリーリクエストは同じトランザクション内で置き換えられます(superseded)。リンクが返されることはありません。省略可能なボディはメールの言語のみを選択します。再試行を安全に行うには Idempotency-Key ヘッダーを送信してください。

リクエスト

パラメータ 位置 必須 説明
user_id path はい ユーザー ID。usr_ で始まります。

省略可能なボディ:

フィールド 型 必須 説明
locale string いいえ メールの BCP 47 言語タグ(例: tr や pt-BR)。省略時はユーザーまたは環境の言語が使われます。

レスポンス

200 OK。request_id はリカバリーリクエストを識別します(接頭辞 arq_)。superseded は、未完了のリクエストが置き換えられたかどうかを示します。

{
  "request_id": "arq_0a1b2c3d4e5f6g7h8j9k0m1n2p",
  "expires_at": "2026-01-16T09:30:00Z",
  "superseded": false
}

エラー

すべてのエラーは、安定した code を含む application/problem+json ボディです。

HTTP code 発生条件
400 malformed_request, unknown_field ボディが有効な JSON ではないか、未知のフィールドが含まれています。
409 conflict 環境設定でアカウントリカバリーが disabled になっているか、ユーザーにプライマリメールアドレスがありません。
415 unsupported_media_type Content-Type: application/json を指定せずにボディを送信しました。
422 validation_failed locale が有効な BCP 47 言語タグではないか、フィールドの型が誤っています。
404 not_found この環境にユーザーが存在しないか、ID の形式が誤っています。
401 unauthenticated API キーが未指定、無効、または取り消されています。
403 insufficient_permissions このキーには user-credentials:write 権限がありません。
429 rate_limited レート制限を超えました。Retry-After に従ってください。
503 service_unavailable 依存先が一時的に利用できません。しばらくしてから再試行してください。

例

curl -X POST https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p:start-recovery \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"locale": "en"}'