Bir kuruluşu güncelleyin

PATCH /v1/organizations/{org_id} · izin organizations:write

Bir kuruluşu JSON merge patch (RFC 7396, Content-Type: application/merge-patch+json) ile günceller. Gönderilmeyen alanlar değişmez; hiçbir şeyi değiştirmeyen bir yama sürümü değiştirmez. name ve slug temizlenemez.

İstek

Alan Tür Zorunlu Açıklama
org_id yol evet Kuruluş kimliği (org_…).
If-Match üstbilgi evet Zorunlu. Son okumanın ETag değeri ("<version>").
name metin hayır Görünen ad, 1-256 karakter, denetim karakteri içermez.
slug metin hayır Yeni slug (aynı biçimde). Her 30 günde bir değiştirilebilir; eski slug 90 gün boyunca ayrılmış kalır.
external_id metin | null hayır Kendi tanımlayıcınız, en fazla 255 karakter; ortamda benzersiz. null değeri temizler.
metadata nesne | null hayır Mevcut nesneyle birleştirilir (RFC 7396): null olarak ayarlanan üye kaldırılır; tüm alan için null ise {} olarak sıfırlanır.
brand_color metin | null hayır Marka rengi #RRGGBB; büyük harfle saklanır. null temizler.
max_memberships tamsayı | null hayır Üyelik üst sınırı, en az 1; null sınırsız demektir.
default_zoneinfo metin | null hayır Varsayılan IANA saat dilimi (örneğin Europe/Istanbul); tarayıcı veya IdP bir saat dilimi sağlamadığında kuruluş bağlamında kayıt, davet, JIT SSO ve SCIM için kullanılır. null temizler (ortam varsayılanı geçerli olur).

İstek gövdesi:

{
  "name": "Acme Corporation",
  "metadata": {
    "tier": null,
    "region": "eu"
  }
}

Yanıt

200 OK ile güncellenmiş kuruluş ve yeni ETag değeri.

{
  "id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "name": "Acme Corporation",
  "slug": "acme",
  "external_id": "crm-4821",
  "status": "active",
  "metadata": {
    "region": "eu"
  },
  "brand_color": "#1F6FEB",
  "max_memberships": null,
  "default_zoneinfo": null,
  "created_via": "admin_api",
  "disabled_at": null,
  "deletion_requested_at": null,
  "deletion_due_at": null,
  "created_at": "2026-10-12T09:30:00.123456Z",
  "updated_at": "2026-10-12T10:05:00.654321Z",
  "version": 2
}

Hatalar

HTTP code Ne zaman
400 unknown_field Gövdede şemada olmayan veya salt okunur bir alan var (id, status…).
401 unauthenticated Kimlik bilgisi eksik, geçersiz veya iptal edilmiş.
403 insufficient_permissions Kimlik bilgisinin gerekli izni yok.
404 not_found Bu ortamda bu kimliğe sahip bir kuruluş yok.
409 slug_taken Slug başka bir kuruluş tarafından kullanılıyor.
409 slug_reserved Slug ayrılmış bir kelime veya başka bir kuruluşun eski slug'ı (90 gün boyunca ayrılmış).
409 slug_change_rate_limited Slug 30 gün içinde değiştirildi.
409 external_id_taken external_id başka bir kuruluş tarafından kullanılıyor.
409 organization_pending_deletion Kuruluş self-service silme işlemini bekliyor; önce silme işlemini iptal edin.
412 precondition_failed If-Match mevcut sürümle eşleşmiyor; kuruluşu yeniden okuyun.
422 validation_failed Bir alan geçersiz (name, slug, external_id, metadata, brand_color, max_memberships, default_zoneinfo).
428 precondition_required If-Match eksik.
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/organizations/org_01j9xk3m7q8r2s4t6v8w0y2z4a" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -H 'If-Match: "1"' \
  -d '{"name":"Acme Corporation"}'