
# 인증 코드 보내기

`POST /fapi/v1/verifications` · 환경의 로그인 호스트에서 호출

인증된 사용자의 인증되지 않은 이메일 주소 중 하나로 6자리 코드와 인증 링크가 포함된 메시지를 보내고, 코드 시도의 id를 반환합니다. 사용자는 [인증 코드 입력](/docs/api/fapi/verifications/attempt)에서 코드를 입력하거나 링크를 열 수 있습니다. 두 방법 모두 10분 동안 유효합니다. 새 메시지를 보내면 해당 주소의 진행 중인 인증이 대체되며, 이전 메시지의 코드와 링크는 더 이상 작동하지 않습니다. 코드는 주소의 메일함으로만 전달되므로 다시 인증할 필요는 없습니다. 인증된 사용자의 `__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>`이어야 합니다. |
| `Content-Type` | 예 | `application/json`입니다. |

본문:

| 필드 | 타입 | 필수 | 설명 |
| --- | --- | --- | --- |
| `email_id` | string (UUID) | 예 | [이메일 주소 목록](/docs/api/fapi/me/emails/list)에서 가져온 주소의 `id`입니다. |

## 응답

`202 Accepted`:

| 필드 | 타입 | 설명 |
| --- | --- | --- |
| `id` | string (UUID) | 코드 시도의 id이며 `:attempt` 경로에 사용합니다. 비밀 값이 아닙니다. |
| `expires_at` | string (RFC 3339) | 코드와 링크가 더 이상 작동하지 않는 시점입니다. |

```json
{"id": "0190a5c4-1b2c-7d3e-8f40-5162738400ff", "expires_at": "2026-10-12T10:10:00Z"}
```

## 오류

| 상태 | 코드 | 발생 조건 |
| --- | --- | --- |
| 400 | `malformed_request` | 본문이 올바른 JSON이 아닙니다. |
| 400 | `unknown_field` | 본문에 `email_id` 외의 필드가 있습니다. |
| 401 | `unauthenticated` | 유효한 세션 쿠키가 없습니다. |
| 403 | `origin_not_allowed` | `Origin`이 없거나 잘못되었습니다. |
| 404 | `not_found` | `email_id`가 사용자의 주소 중 하나가 아닙니다. |
| 409 | `conflict` | 주소가 이미 인증되었습니다. |
| 413 | `payload_too_large` | 본문이 너무 큽니다. |
| 415 | `unsupported_media_type` | `Content-Type`이 `application/json`이 아닙니다. |
| 422 | `validation_failed` | `email_id`가 없습니다. |
| 429 | `verification_rate_limited` | 지난 1시간 동안 이 주소로 인증 메시지 5건이 발송되었습니다(주소를 추가할 때 발송된 메시지 포함). 나중에 다시 시도하십시오. |

## 예제

```bash
curl -X POST https://example.keenauth.app/fapi/v1/verifications \
  -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_id": "0190a5c4-1b2c-7d3e-8f40-516273849abc"}'
```

## 개인정보

이 엔드포인트는 개인정보를 처리합니다: 최종 사용자 프로필. [KeenAuth API의 개인정보](/docs/policies/personal-data)에서 저장되는 항목, 보관 기간, 삭제 방법을 설명합니다. 어떤 필드에도 특수 범주의 개인정보(건강, 생체 정보, 종교, 정치적 견해, 성적 지향)를 보내지 마십시오.
