Org rolü oluştur

POST /v1/organizations/{org_id}/roles · izin roles:write

Yalnız bu org'da bulunan özel bir rol oluşturur. Org rolleri org_custom_roles plan hakkını ister, ayrıcalıklı olamaz ve ortamın org rollerine izin verilen izin listesi boşken oluşturulamaz. Yanıt ETag taşır; yazma role.created olarak audit'e düşer. Idempotency-Key isteğe bağlıdır.

İstek

Alan Tür Zorunlu Açıklama
org_id path evet Org kimliği (org_…).
key string evet Küçük harf, rakam, _ ve -; 1–64 karakter; kapsamında tekil ve değişmez.
name string evet Görünen ad, en çok 128 karakter.
description string hayır En çok 1024 karakter.
is_privileged boolean hayır Ayrıcalıklı rolü işaretler (org rolünde kullanılamaz).
assignable_in_self_service boolean hayır Varsayılan true.

Yanıt

Rolle 201 Created.

{
  "id": "rol_01j9xr7s1t2w6x8y0z2a4b6c8e",
  "organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "key": "billing-admin",
  "name": "Billing admin",
  "description": "",
  "is_privileged": false,
  "assignable_in_self_service": true,
  "permission_ids": [],
  "created_at": "2026-10-12T09:31:00.123456Z",
  "updated_at": "2026-10-12T09:31:00.123456Z",
  "version": 1
}

Hatalar

HTTP code Ne zaman
404 not_found Org bu ortamda yok.
403 org_custom_roles_disabled Org rolleri bu ortamda kapalı.
403 plan_feature_unavailable Plan org rollerini içermiyor (Business ve üstü).
409 role_key_conflict Kapsamda bu key ile rol zaten var.
409 role_limit_reached 1.000 ortam rolü ya da org başına 50 rol sınırına ulaşıldı.
422 validation_failed Bir alan eksik ya da geçersiz ya da is_privileged true.
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 -i -X POST "https://api.eu.keenauth.com/v1/organizations/org_01j9xk3m7q8r2s4t6v8w0y2z4a/roles" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"key":"billing-admin","name":"Billing admin"}'