Kullanıcıyı güncelle

PATCH /v1/users/{user_id} · izin users:write

Kullanıcıyı bir JSON birleştirme yamasıyla (Content-Type: application/merge-patch+json) günceller. Yalnızca gönderdiğiniz alanlar değişir. Metin alanları null veya boş bir dizeyle temizlenir; email_verified ve phone_verified temizlenemez; address bütün olarak değiştirilir; user_metadata ve app_metadata anahtar anahtar birleştirilir ve null değeri o anahtarı siler; user_metadata veya app_metadata alanının kendisi null olarak gönderilirse tümü silinir ve {} kalır. Durum burada değiştirilemez; engelleme ve engeli kaldırma işlemlerini kullanın. Silinmeyi bekleyen bir kullanıcı güncellenemez. If-Match isteğe bağlıdır: gönderildiğinde kullanıcının mevcut ETag değeriyle eşleşmelidir.

İstek

Parametre Konum Zorunlu Açıklama
user_id yol evet Kullanıcı kimliği, usr_ öneki ile.
If-Match üstbilgi hayır Önceki bir okumadan gelen ETag.

Gövde, Kullanıcı oluştur ile aynı alanları kabul eder; hepsi isteğe bağlıdır, ayrıca aşağıdaki yaş alanları da. Bilinmeyen alanlar unknown_field ile reddedilir.

Yaş ve veli onayı

Kendi yaş doğrulama veya veli onayı süreciniz tamamlandığında, sonucunu bu alanlarla kullanıcıya kaydedin. Bunlar her kullanıcı nesnesinde de döndürülür; null değeri, kullanıcının değerlendirilmediği anlamına gelir.

Alan Değerler Notlar
age_group adult, minor, unknown Temizlenemez; yaş bilinmiyorsa unknown gönderin.
parental_consent_status not_required, pending, granted, denied, revoked null değeri temizler. not_required dışındaki her değer yalnızca kullanıcının age_group değeri minor ise kabul edilir.
age_assurance_level self_declared, birthdate_declared, third_party_verified null değeri temizler. Sürecinizin yaşı ne kadar güçlü doğruladığını gösterir.

age_group veya parental_consent_status değişikliği bir user.updated olayı yayımlar. Bu alanlar için ya da metinde doğum tarihini veya kimlik belgesi numarasını kullanmayın; yalnızca sonucu gönderin.

Yanıt

200 OK. Gövde kullanıcı nesnesidir. ETag üstbilgisi kullanıcı sürümünü taşır.

Anahtarda users:read_pii izni yoksa kişisel veriler maskelenir: email değeri a***@e***.com olur, phone_number yalnızca son 2 rakamını tutar (+**********67), name, given_name, family_name, middle_name ve nickname baş harflere dönüşür (A. L.), username yalnızca ilk karakterini tutar (a***), birthdate ****-**-** olur ve address {"redacted": true} olur. user_metadata ve app_metadata maskelenmez.

{
  "id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
  "kind": "regular",
  "status": "active",
  "external_id": null,
  "username": null,
  "name": "Ada Lovelace",
  "email": "ada@example.com",
  "email_verified": true,
  "phone_number": null,
  "phone_verified": false,
  "age_group": "adult",
  "parental_consent_status": null,
  "age_assurance_level": "self_declared",
  "user_metadata": {},
  "app_metadata": {},
  "created_via": "admin_api",
  "created_at": "2026-01-15T09:30:00Z",
  "updated_at": "2026-01-15T09:30:00Z",
  "last_sign_in_at": null,
  "deletion_requested_at": null,
  "deletion_due_at": null
}

Hatalar

Her hata, kararlı bir code içeren bir application/problem+json gövdesidir.

HTTP code Ne zaman
400 malformed_request, unknown_field Yama bir JSON nesnesi değil ya da bir alan şemada yok; veya If-Match hatalı biçimde.
409 conflict Değer zaten kullanılıyor ya da kullanıcı silinmeyi bekliyor (errors[].code değeri user_pending_deletion).
412 precondition_failed If-Match mevcut sürümle eşleşmiyor.
415 unsupported_media_type Content-Type application/merge-patch+json değil.
422 validation_failed Bir değer geçersiz ya da yanlış türde; errors[].pointer alanı belirtir.
404 not_found Kullanıcı bu ortamda yok (ya da kimlik biçimi hatalı).
401 unauthenticated API anahtarı eksik, geçersiz veya iptal edilmiş.
403 insufficient_permissions Anahtarda users:write izni yok.
429 rate_limited Hız sınırı aşıldı; Retry-After değerine uyun.
503 service_unavailable Bir bağımlılık geçici olarak kullanılamıyor; daha sonra tekrar deneyin.

Örnek

curl -X PATCH https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -d '{"name": "Ada King", "app_metadata": {"tier": "gold"}}'

Bir küçük için onaylanmış veli onayını kaydedin:

curl -X PATCH https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -d '{"age_group": "minor", "parental_consent_status": "granted", "age_assurance_level": "third_party_verified"}'

Kişisel veriler

Bu uç nokta kişisel veri içerir: son kullanıcı profili. KeenAuth API'lerinde kişisel veriler hangi verilerin 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.