
# リカバリーコードを再生成

`POST /fapi/v1/me/recovery-codes:regenerate` · 環境のサインインホストから呼び出します

ユーザーのリカバリーコードを新しいものに置き換えます。古いコードはすべて無効になります。新しいコードはこのレスポンスでのみ一度表示され、ユーザーのメールアドレスにセキュリティ通知が送信されます。認証済みユーザーの `__Host-idp_session` Cookie が必要です。Cookie がない、期限切れである、または取り消されている場合は `401 unauthenticated` を返します。別のオリジンにある自社アプリは、代わりにフロント API アクセストークン（DPoP 証明付きの `Authorization: DPoP <token>`。[フロント API アクセストークン](/docs/api/fapi/front-api-token)を参照）を送信できます。

## リクエスト

ヘッダー:

| ヘッダー | 必須 | 説明 |
| --- | --- | --- |
| `Idp-Client` | はい | SDK の識別子です。 |
| `Origin` | はい | `https://<サインインホスト>` と完全に一致している必要があります。 |

ボディ:

```json
{}
```

## レスポンス

`200 OK`:

```json
{"recovery_codes": ["…", "…"]}
```

## エラー

| ステータス | コード | 発生条件 |
| --- | --- | --- |
| 401 | `unauthenticated` | 有効なセッション Cookie がありません。 |
| 401 | `step_up_required` | セッションが直近 5 分以内に検証されていません。`WWW-Authenticate` ヘッダーの `max_age=300` を使用して再検証してください。 |
| 403 | `origin_not_allowed` | `Origin` がないか、誤っています。 |
| 404 | `not_found` | 環境でリカバリーコードが無効になっています。 |
| 409 | `conflict` | ユーザーに第2要素がないため、リカバリーコードは生成されていません。 |

## 例

```bash
curl -X POST https://example.keenauth.app/fapi/v1/me/recovery-codes:regenerate \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/json" \
  -d '{}' \
  -b cookies.txt
```

## 個人データ

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