
# Doğrulama kodu gönderin

`POST /fapi/v1/verifications` · ortamın giriş yap ana makinesinden çağrılır

Kimliği doğrulanmış kullanıcının doğrulanmamış e-posta adreslerinden birine 6 haneli kod ve doğrulama bağlantısı içeren bir ileti gönderir ve kod denemesinin kimliğini döndürür. Kullanıcı kodu [Doğrulama kodu girin](/docs/api/fapi/verifications/attempt) sayfasında yazabilir veya bağlantıyı açabilir. Her ikisi de 10 dakika geçerlidir. Yeni bir ileti, adresin açık doğrulamasının yerini alır: önceki iletinin kodu ve bağlantısı çalışmaz hale gelir. Kodu yalnızca adresin posta kutusu aldığı için yeniden kimlik doğrulaması gerekmez. Kimliği doğrulanmış kullanıcının `__Host-idp_session` çerezi gereklidir; çerez yoksa, süresi dolmuşsa veya iptal edilmişse `401 unauthenticated` döner. Başka bir kökende yer alan birinci taraf bir uygulama bunun yerine ön yüz API erişim belirtecini gönderebilir (DPoP kanıtıyla birlikte `Authorization: DPoP <token>`; bkz. [Ön yüz API erişim belirteci](/docs/api/fapi/front-api-token)).

## İstek

Başlıklar:

| Başlık | Zorunlu | Açıklama |
| --- | --- | --- |
| `Idp-Client` | evet | SDK tanımlayıcısı. |
| `Origin` | evet | Tam olarak `https://<giriş yap ana makinesi>` olmalıdır. |
| `Content-Type` | evet | `application/json`. |

Gövde:

| Alan | Tür | Zorunlu | Açıklama |
| --- | --- | --- | --- |
| `email_id` | string (UUID) | evet | [E-posta adreslerini listeleyin](/docs/api/fapi/me/emails/list) sayfasındaki adresin `id` değeri. |

## Yanıt

`202 Accepted`:

| Alan | Tür | Açıklama |
| --- | --- | --- |
| `id` | string (UUID) | Kod denemesinin kimliği; `:attempt` yolunda kullanılır. Gizli bir bilgi değildir. |
| `expires_at` | string (RFC 3339) | Kodun ve bağlantının çalışmayı durdurduğu zaman. |

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

## Hatalar

| Durum | Kod | Ne zaman |
| --- | --- | --- |
| 400 | `malformed_request` | Gövde geçerli bir JSON değil. |
| 400 | `unknown_field` | Gövdede `email_id` dışında bir alan var. |
| 401 | `unauthenticated` | Geçerli bir oturum çerezi yok. |
| 403 | `origin_not_allowed` | `Origin` eksik veya yanlış. |
| 404 | `not_found` | `email_id`, kullanıcının adreslerinden biri değil. |
| 409 | `conflict` | Adres zaten doğrulanmış. |
| 413 | `payload_too_large` | Gövde çok büyük. |
| 415 | `unsupported_media_type` | `Content-Type`, `application/json` değil. |
| 422 | `validation_failed` | `email_id` eksik. |
| 429 | `verification_rate_limited` | Bu adrese son bir saatte, adres eklenirken gönderilen ileti dahil, 5 doğrulama iletisi gönderildi; daha sonra yeniden deneyin. |

## Örnek

```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"}'
```

## Kişisel veriler

Bu uç nokta kişisel veri içerir: son kullanıcı profili. [KeenAuth API'lerinde kişisel veriler](/docs/policies/personal-data) sayfasında neyin saklandığı, ne kadar süre tutulduğu ve nasıl silindiği açıklanır. Hiçbir alanda özel nitelikli kişisel verileri (sağlık, biyometrik veriler, din, siyasi görüşler, cinsel yönelim) göndermeyin.
