Kimlik ayarlarını güncelle

PATCH /v1/identity-settings · izin identity-settings:write

Ortamın kullanıcı adı ayarlarını JSON birleştirme yamasıyla (application/merge-patch+json, RFC 7396) günceller. If-Match zorunludur: yoksa 428, eski sürümse 412 döner. Ayar hiç yazılmadıysa sürüm "0"'dır ve ilk yazma satırı açar. Hiçbir şeyi değiştirmeyen yama yazma yapmaz ve sürümü korur.

İstek

Alan Tür Zorunlu Açıklama
If-Match başlık evet Ayarların son okunan ETag değeri (hiç yazılmadıysa "0"). Yoksa 428, eskiyse 412.
username_identifier string hayır required, optional ya da off. null olamaz.
username_min_length integer hayır 3-64, username_max_length değerinden büyük olamaz. null olamaz.
username_max_length integer hayır 3-64, username_min_length değerinden küçük olamaz. null olamaz.
reserved_usernames string[] | null hayır En çok 1000 ad; listenin tamamının yerini alır (RFC 7396 dizileri birleştirmez). null ya da [] temizler. Her giriş normalleştirilir, tekrarlar atılır ve liste sıralı saklanır.
verification_policy string hayır before_sign_in (varsayılan) ya da after_sign_in. after_sign_in doğrulanmamış hesap temizliğini durdurur. null olamaz.
unverified_account_ttl_days integer hayır 1-30 (varsayılan 7): before_sign_in ortamında doğrulanmamış kaydın silinmeden önce tutulduğu gün sayısı. null olamaz.

Kullanıcı adı ayarları yalnız sonraki yazmalara uygulanır; var olan kullanıcılar bu ayarlarla asla değiştirilmez. Doğrulama ayarları var olan kayıtlara da etki eder (aşağıda).

Zorlama kuralları

Doğrulanmamış hesap temizliği

verification_policy ve unverified_account_ttl_days, hiç doğrulanmamış kayıtların otomatik temizliğini yönetir. Temizlik yalnız e-posta adresi (ya da telefon numarası) zorunlu tanımlayıcıyken çalışır; e-posta için varsayılan budur.

Yanıt

200 OK; güncel ayarlar ve yeni ETag.

{
  "username_identifier": "optional",
  "username_min_length": 3,
  "username_max_length": 32,
  "reserved_usernames": ["admin", "root", "support"],
  "verification_policy": "before_sign_in",
  "unverified_account_ttl_days": 7,
  "updated_at": "2026-10-05T09:30:00.123456Z"
}

Hatalar

HTTP code Ne zaman
400 unknown_field Yamada bilinmeyen ya da salt okunur alan var ya da yama bir JSON nesnesi değil (malformed_request).
412 precondition_failed If-Match güncel sürümle eşleşmiyor.
415 unsupported_media_type İçerik türü application/merge-patch+json değil.
422 validation_failed Bir değer geçersiz, min değeri max değerinden büyük ya da null olamayan bir alan null yapıldı (code: invalid).
428 precondition_required If-Match başlığı yok.
401 unauthenticated Kimlik bilgisi yok, geçersiz ya da iptal edilmiş.
403 insufficient_permissions Kimlik bilgisinde gerekli izin yok.
429 rate_limited Hız sınırı aşıldı; Retry-After süresinden sonra yeniden deneyin.
503 service_unavailable Bir bağımlılık geçici olarak kullanılamıyor; Retry-After süresinden sonra yeniden deneyin.

Örnek

curl -X PATCH https://api.eu.keenauth.com/v1/identity-settings \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -H 'If-Match: "0"' \
  -d '{"username_identifier":"optional","username_max_length":32,"reserved_usernames":["admin","root","support"]}'