
# E-posta adresi ekle

`POST /fapi/v1/me/emails` · ortamın giriş sunucusundan çağrılır

Kimliği doğrulanmış kullanıcıya doğrulanmamış, birincil olmayan bir e-posta adresi ekler ve bu adrese bir doğrulama bağlantısı gönderir. Adres, kullanıcı bağlantıyı açtığında kullanılabilir hâle gelir. Kabul edilen her istek, adres bu kullanıcının zaten sahip olduğu bir adres olsa bile gövdesiz `202` yanıtı verir; yanıt, adresin başka bir hesapta kullanılıp kullanılmadığını hiçbir zaman göstermez. Bir kullanıcı, birincil adres dahil en fazla 10 adres tutabilir. Kimliği doğrulanmış kullanıcının `__Host-idp_session` çerezi gerekir; çerez eksik, süresi dolmuş veya iptal edilmişse `401 unauthenticated` döner. Farklı bir kökenden çalışan birinci taraf bir uygulama bunun yerine Front API erişim belirtecini gönderebilir (`Authorization: DPoP <token>` ve bir DPoP kanıtı ile; bkz. [Front API erişim belirteci](/docs/api/fapi/front-api-token)).

Oturum son 5 dakika içinde doğrulanmış olmalıdır. Kullanıcının ikinci bir faktörü varsa oturum ayrıca ikinci bir faktörle (`urn:idp:acr:mfa`) açılmış olmalıdır.

## İstek

Üstbilgiler:

| Üstbilgi | Zorunlu | Açıklama |
| --- | --- | --- |
| `Idp-Client` | evet | SDK tanımlayıcısı. |
| `Origin` | evet | Tam olarak `https://<giriş sunucusu>` olmalıdır. |
| `Content-Type` | evet | `application/json`. |

Gövde:

| Alan | Tür | Zorunlu | Açıklama |
| --- | --- | --- | --- |
| `email` | string | evet | Eklenecek adres (en fazla 320 karakter). |

## Yanıt

`202 Accepted`, gövde yok.

## Hatalar

| Durum | Kod | Ne zaman |
| --- | --- | --- |
| 400 | `malformed_request` | Gövde geçerli bir JSON değil. |
| 400 | `unknown_field` | Gövdede `email` dışında bir alan var. |
| 401 | `unauthenticated` | Geçerli bir oturum çerezi yok. |
| 401 | `step_up_required` | Oturum son 5 dakikada doğrulanmamış veya ikinci faktör gerekli; `WWW-Authenticate` üstbilgisindeki `max_age=300` (ve uygunsa `acr_values`) ile yeniden doğrulayın. |
| 403 | `origin_not_allowed` | `Origin` eksik veya hatalı. |
| 409 | `email_limit_reached` | Kullanıcının zaten 10 e-posta adresi var. |
| 413 | `payload_too_large` | Gövde çok büyük. |
| 415 | `unsupported_media_type` | `Content-Type` değeri `application/json` değil. |
| 422 | `validation_failed` | `email` eksik. |
| 422 | `email_invalid` | `email` geçerli bir e-posta adresi değil. |
| 422 | `email_domain_not_allowed` | Ortam bu alan adındaki adreslere izin vermiyor. |
| 429 | `verification_rate_limited` | Kısa süre önce çok fazla doğrulama iletisi gönderildi; daha sonra yeniden deneyin. |

## Örnek

```bash
curl -X POST https://example.keenauth.app/fapi/v1/me/emails \
  -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": "ada@example.org"}'
```

## 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çıklanmaktadır. Hiçbir alanda özel nitelikli kişisel verileri (sağlık, biyometrik veriler, din, siyasi görüşler, cinsel yönelim) göndermeyin.
