
# 이메일 주소로 인증 이메일 보내기

`POST /v1/users/{user_id}/emails/{email_id}:send-verification` · 권한 `users:write`

사용자의 이메일 행 하나로 인증 이메일을 보냅니다. `email_id`는 내부 UUID(소문자, 하이픈 포함)입니다. 응답에는 인증 요청의 만료 시각이 포함되며, 코드나 링크는 반환되지 않습니다. 선택 사항인 본문은 이메일 언어만 지정합니다.

## 요청

| 매개변수 | 위치 | 필수 | 설명 |
|---|---|---|---|
| `user_id` | path | 예 | 사용자 ID이며 `usr_` 접두사가 붙습니다. |
| `email_id` | path | 예 | 이메일 행의 ID(내부 UUID, 소문자, 하이픈 포함). |

선택 본문:

| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| `locale` | string | 아니요 | 이메일의 BCP 47 언어 태그입니다(예: `tr` 또는 `pt-BR`). 기본값은 사용자 또는 환경의 언어입니다. |

## 응답

`200 OK`. `expires_at`은 인증 요청이 만료되는 시각입니다.

```json
{
  "expires_at": "2026-01-16T09:30:00Z"
}
```

## 오류

모든 오류는 안정적인 `code`가 포함된 `application/problem+json` 본문으로 반환됩니다.

| HTTP | `code` | 발생 조건 |
|---|---|---|
| 400 | `malformed_request`, `unknown_field` | 본문이 유효한 JSON이 아니거나 알 수 없는 필드가 있습니다. |
| 409 | `conflict` | 이메일이 이미 인증되었습니다. |
| 415 | `unsupported_media_type` | `Content-Type: application/json` 없이 본문을 보냈습니다. |
| 422 | `validation_failed` | `locale`이 올바른 BCP 47 언어 태그가 아니거나 필드 유형이 잘못되었습니다. |
| 404 | `not_found` | 이 환경에 사용자 또는 이메일 행이 없거나, 이메일이 이 사용자에게 속하지 않거나, ID 형식이 잘못되었습니다. |
| 401 | `unauthenticated` | API 키가 없거나 유효하지 않거나 폐기되었습니다. |
| 403 | `insufficient_permissions` | 키에 `users:write` 권한이 없습니다. |
| 429 | `rate_limited` | API 요청 한도 또는 사용자별 이메일 발송 한도를 초과했습니다. `Retry-After`를 따르십시오. |
| 503 | `service_unavailable` | 종속 서비스를 일시적으로 사용할 수 없습니다. 나중에 다시 시도하십시오. |

## 예제

```bash
curl -X POST https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/emails/0191f0a0-3333-7444-8555-666666666666:send-verification \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"locale": "en"}'
```

## 개인 정보

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