Profilinizi güncelleyin

PATCH /fapi/v1/me · ortamın oturum açma sunucusundan çağrılır

Kimliği doğrulanmış kullanıcının profil alanlarını değiştirir. İstek gövdesinde bulunan bir alan değiştirilir, bulunmayan bir alan olduğu gibi bırakılır; boş bir dize veya null alanı temizler. user_metadata verilirse RFC 7396 birleştirme yaması olarak uygulanır. Yönetim API'sindeki alan kuralları burada da geçerlidir. Kullanıcının __Host-idp_session çerezi gereklidir; yakın zamanda yeniden doğrulama gerekmez. Başka bir kökendeki birinci taraf bir uygulama, bunun yerine ön yüz API erişim belirtecini gönderebilir (Authorization: DPoP <token> ve bir DPoP kanıtıyla; bkz. Ön yüz API erişim belirteci).

Alan hataları (422 validation_failed, errors[] içinde): invalid (biçim veya uzunluk; dil bu ortam için etkin değilse /locale için de geçerlidir), too_large ve too_many_keys (user_metadata 16 KiB'ı, derinlik 5'i veya 100 üst düzey anahtarı aşarsa), identifier_type_disabled (ortamda kullanıcı adları kapalıysa), profile_field_disabled (ortam alanı kapattıysa; yine de temizlemeye izin verilir) ve profile_field_required (ortam alanı zorunlu kıldıysa, temizlenemez).

İstek

Başlıklar:

Başlık Zorunlu Açıklama
Idp-Client evet SDK tanımlayıcısı.
Origin evet Tam olarak https://<sign-in host> olmalıdır.
If-Match hayır İsteğe bağlı. Önceki bir yanıtın ETag değeri (veya *); değişiklik yalnızca profil hâlâ bu sürümdeyse yapılır.

Gövde (application/json veya application/merge-patch+json):

Alan Tür Açıklama
given_name string veya null Ad.
family_name string veya null Soyad.
name string veya null Tam ad.
picture string veya null Resim URL'si (https).
locale string veya null Dil (BCP 47 etiketi).
zoneinfo string veya null Saat dilimi (IANA adı).
username string veya null Kullanıcı adı.
user_metadata object user_metadata üzerine uygulanan birleştirme yaması (RFC 7396).
{
  "given_name": "Ada",
  "zoneinfo": "",
  "user_metadata": {
    "theme": null
  }
}

Yanıt

Güncellenmiş profille (GET /fapi/v1/me ile aynı alanlar) ve yeni bir ETag ile birlikte 200 OK.

Hatalar

Durum Kod Ne zaman
400 malformed_request Gövde veya If-Match başlığı hatalıysa.
400 unknown_field Gövdede burada değiştirilemeyen bir alan varsa (örneğin email veya app_metadata).
401 unauthenticated Geçerli bir oturum çerezi yoksa.
403 origin_not_allowed Origin eksikse veya yanlışsa.
404 not_found Hesap okunamıyorsa (örneğin engellenmişse veya silinmekteyse).
409 username_unavailable Kullanıcı adı ayrılmışsa veya başka bir hesap tarafından kullanılıyorsa (ikisi de aynı yanıtı verir).
412 precondition_failed If-Match geçerli sürümle eşleşmiyorsa; hiçbir şey değişmez.
413 payload_too_large Gövde 16 KiB'ı aşıyorsa.
415 unsupported_media_type Content-Type desteklenmiyorsa.
422 validation_failed Bir alan bir kuralı ihlal ediyorsa; errors[] alanı ve nedenini belirtir (yukarıya bakın).
503 service_unavailable Kullanıcı dizini geçici olarak kullanılamıyorsa; Retry-After saniyesi sonra yeniden deneyin.

Örnek

curl -X PATCH https://example.keenauth.app/fapi/v1/me \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H 'If-Match: "7"' \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{"given_name":"Ada","zoneinfo":""}'

Kişisel veriler

Bu uç nokta kişisel veri içerir: son kullanıcı profili. KeenAuth API'lerinde kişisel veriler, neyin saklandığını, ne kadar süre tutulduğunu ve nasıl silindiğini açıklar. Hiçbir alanda özel nitelikli kişisel verileri (sağlık, biyometrik veriler, din, siyasi görüşler, cinsel yönelim) göndermeyin.