Kuruluş rolünü güncelleme
PATCH /fapi/v1/organizations/{org_id}/roles/{role_id} · ortamın giriş yap ana makinesinden çağrılır
Bir kuruluş rolünün adını veya açıklamasını değiştirir (JSON birleştirme yaması, RFC 7396). Ortam rolleri burada değiştirilemez. Kimliği doğrulanmış kullanıcının __Host-idp_session çerezi gerekir; çerez eksikse, süresi dolmuşsa veya iptal edilmişse 401 unauthenticated döner. Farklı bir kaynaktaki birinci taraf bir uygulama bunun yerine Front API erişim belirtecini gönderebilir (DPoP kanıtıyla birlikte Authorization: DPoP <token>; bkz. Front API erişim belirteci). Kullanıcı, kuruluşun aktif bir üyesi olmalı ve idp_roles:manage iznine sahip olmalıdır. Üye olmayan bir kullanıcı 404 not_found alır, böylece kuruluşun varlığı açığa çıkmaz; izni olmayan bir üye 403 insufficient_permissions alır. Kuruluş rollerinin ortam için etkinleştirilmiş ve planına dahil edilmiş olması gerekir.
İ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. |
Content-Type |
gövdeyle birlikte | application/json veya application/merge-patch+json. |
If-Match |
hayır | Rolün son okunduğu "<version>" değeri; rol o zamandan beri değiştiyse 412 precondition_failed döner ve hiçbir şey değişmez. |
org_id: kuruluş tanımlayıcısı (org_…). role_id: rol tanımlayıcısı (rol_…).
Gövde (en az bir alan):
| Alan | Zorunlu | Açıklama |
|---|---|---|
name |
hayır | Yeni görünen ad. |
description |
hayır | Yeni açıklama. |
Yanıt
Yeni bir ETag ile 200 OK; gövde roldür (bkz. Kuruluş rolünü alma).
Hatalar
| Durum | Kod | Ne zaman |
|---|---|---|
| 401 | unauthenticated |
Geçerli bir oturum çerezi yok. |
| 403 | origin_not_allowed |
Origin eksik veya yanlış. |
| 403 | insufficient_permissions |
Kullanıcının kuruluşta idp_roles:manage izni yok. |
| 403 | plan_feature_unavailable |
Ortamın planı kuruluş rollerini içermiyor (feature, required_plan). |
| 403 | org_custom_roles_disabled |
Kuruluş rolleri ortam için kapatılmış. |
| 403 | role_not_assignable |
Rol, kullanıcının sahip olmadığı bir izni veriyor veya kullanıcının kendi üyeliği bu izni taşıyor. |
| 404 | not_found |
Bu kullanıcı için böyle bir kuruluş veya kuruluş rolü yok; bir ortam rolü, bilinmeyen, hatalı biçimli veya başka bir tanımlayıcı aynı yanıtı verir. |
| 409 | organization_pending_deletion |
Kuruluş silinmek üzere planlanmış. |
| 412 | precondition_failed |
If-Match geçerli sürümü belirtmiyor veya istek işlenirken rol değişti. |
| 422 | validation_failed |
Bir alan geçersiz ya da yama boş (empty_patch). |
| 503 | service_unavailable |
Geçici olarak kullanılamıyor; Retry-After süresinden sonra yeniden deneyin. |
Örnek
curl -X PATCH https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/roles/rol_01jbz6x8kq3m2n4p5r6s7t8v9w \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-H "Origin: https://example.keenauth.app" \
-H "Content-Type: application/merge-patch+json" \
-H 'If-Match: "1"' \
-b cookies.txt \
-d '{"name":"Auditors"}'