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.