
# 복구 코드 재발급

`POST /fapi/v1/me/recovery-codes:regenerate` · 환경의 로그인 호스트에서 호출

사용자의 복구 코드를 새 코드로 교체합니다. 기존 코드는 모두 무효화됩니다. 새 코드는 이 응답에서만 한 번 표시되며, 사용자의 이메일 주소로 보안 알림이 전송됩니다. 인증된 사용자의 `__Host-idp_session` 쿠키가 필요합니다. 쿠키가 없거나, 만료되었거나, 취소된 경우 `401 unauthenticated`를 반환합니다. 다른 출처의 자사 애플리케이션은 대신 프런트 API 액세스 토큰(DPoP 증명과 함께 `Authorization: DPoP <token>`)을 보낼 수 있습니다. 자세한 내용은 [프런트 API 액세스 토큰](/docs/api/fapi/front-api-token)을 참조하십시오.

## 요청

헤더:

| 헤더 | 필수 여부 | 설명 |
| --- | --- | --- |
| `Idp-Client` | 예 | SDK 식별자. |
| `Origin` | 예 | 정확히 `https://<sign-in host>`이어야 합니다. |

본문:

```json
{}
```

## 응답

`200 OK`:

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

## 오류

| 상태 | 코드 | 발생 조건 |
| --- | --- | --- |
| 401 | `unauthenticated` | 유효한 세션 쿠키가 없습니다. |
| 401 | `step_up_required` | 세션이 최근 5분 이내에 검증되지 않았습니다. `WWW-Authenticate` 헤더의 `max_age=300`으로 다시 인증하십시오. |
| 403 | `origin_not_allowed` | `Origin`이 없거나 잘못되었습니다. |
| 404 | `not_found` | 환경에서 복구 코드가 비활성화되어 있습니다. |
| 409 | `conflict` | 사용자에게 두 번째 인증 수단이 없어 복구 코드가 생성되지 않았습니다. |

## 예시

```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)에서 저장되는 항목, 보관 기간, 삭제 방법을 설명합니다. 어떤 필드에도 특수 범주의 개인정보(건강, 생체 정보, 종교, 정치적 견해, 성적 지향)를 보내지 마십시오.
