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).

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

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 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.