Ortam temasını güncelle

PATCH /v1/branding · izin branding:write

Ortam tema taslağını JSON birleştirme yamasıyla (application/merge-patch+json, RFC 7396) değiştirir. null verilen jeton (ya da "light": null gibi bütün grup) temizlenir ve yeniden kalıtımla gelir; "theme": null bütün jetonları temizler. Yalnız değişen jetonlar yazılır; hiçbir şey değiştirmeyen yama sürümü artırmaz. Değerler yazımda denetlenir: renkler #rgb/#rrggbb, font.size_base 14-18, radius.card 0-24, radius.control 0-16, logo_height 24-80. logo, favicon ve background_image Markalama varlığı yükleme ile aynı türde yüklenmiş bir görseli adlandırmalıdır; yoksa alan asset_not_found hatası alır. Kontrast yayında denetlenir.

İstek

Alan Tür Zorunlu Açıklama
If-Match başlık evet Taslağın son okunan ETag değeri (hiç yazılmadıysa "0"). Yoksa 428, eskiyse 412.
theme nesne | null hayır Kısmi BrandingTheme; her alan ve grup null olabilir.

Yanıt

200 OK; ortam taslağı ve ETag başlığı. theme yalnız ayarlı jetonları taşır; ayarsız jetonlar platform varsayılanından gelir.

{
  "theme": {"mode": "light", "light": {"color": {"primary": "#0a3d91"}}, "logo_height": 40},
  "css": null,
  "page_template": null,
  "updated_at": "2026-10-05T09:30:00.123456Z"
}

Hatalar

HTTP code Ne zaman
400 unknown_field Gövdede bilinmeyen alan var ya da gövde JSON nesnesi değil.
412 precondition_failed If-Match taslağın güncel sürümüyle eşleşmiyor.
415 unsupported_media_type İçerik türü application/merge-patch+json değil.
422 validation_failed Bir jeton değeri geçersiz (invalid_value, out_of_range, unknown_token); pointer jetonu gösterir, ör. /theme/light/color/primary.
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/branding \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -H 'If-Match: "3"' \
  -d '{"theme":{"light":{"color":{"primary":"#0a3d91"}},"radius":null}}'