
# Kuruluş rolü oluşturma

`POST /fapi/v1/organizations/{org_id}/roles` · ortamın giriş ana makinesinden çağrılır

Kuruluşta izinleri olmayan bir rol oluşturur; izinleri [Rol izinlerini ayarlama](./set-permissions) ile ekleyin. Bir kuruluş en fazla 50 role sahip olabilir. Bir `__Host-idp_session` çerezi gerekir; çerez yoksa, süresi dolmuşsa veya iptal edilmişse `401 unauthenticated` döner. Farklı bir kökenteki birinci taraf bir uygulama bunun yerine Front API erişim belirtecini (DPoP kanıtıyla birlikte `Authorization: DPoP <token>`; bkz. [Front API erişim belirteci](/docs/api/fapi/front-api-token)) gönderebilir. Kullanıcının kuruluşun etkin bir üyesi olması ve `idp_roles:manage` iznine sahip olması gerekir. Üye olmayan bir kullanıcı `404 not_found` alır, böylece kuruluşun varlığı açığa çıkmaz; izne sahip olmayan bir üye `403 insufficient_permissions` alır. Kuruluş rolleri, ortam için etkinleştirilmiş ve planına dahil edilmiş olmalıdır.

## İstek

Başlıklar:

| Başlık | Zorunlu | Açıklama |
| --- | --- | --- |
| `Idp-Client` | evet | SDK tanımlayıcısı. |
| `Origin` | evet | Tam olarak `https://<giriş ana makinesi>` olmalıdır. |
| `Content-Type` | evet | `application/json`. |

`org_id`: kuruluş tanımlayıcısı (`org_…`).

Gövde:

| Alan | Zorunlu | Açıklama |
| --- | --- | --- |
| `key` | evet | Rol anahtarı; kuruluş içinde ve ortam rolleri arasında benzersiz olmalı; sonradan değiştirilemez. |
| `name` | evet | Görünen ad. |
| `description` | hayır | Açıklama. |

## Yanıt

`201 Created` ile birlikte `Location` ve `ETag` başlıkları döner; gövde roldür (bkz. [Kuruluş rolünü alma](./get)).

## Hatalar

| Durum | Kod | Ne zaman |
| --- | --- | --- |
| 401 | `unauthenticated` | Geçerli bir oturum çerezi yok. |
| 403 | `origin_not_allowed` | `Origin` eksik veya hatalı. |
| 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` | Ortam için kuruluş rolleri kapalı. |
| 404 | `not_found` | Bu kullanıcı için böyle bir kuruluş veya rol yok (bilinmeyen, hatalı biçimli veya başkasına ait bir tanımlayıcı aynı yanıtı verir). |
| 409 | `role_key_conflict` | Anahtar kuruluşta veya bir ortam rolü tarafından zaten kullanılıyor. |
| 409 | `role_limit_reached` | Kuruluşun zaten 50 rolü var. |
| 409 | `organization_pending_deletion` | Kuruluş silinmek üzere planlanmış. |
| 422 | `validation_failed` | Bir alan eksik veya geçersiz; `errors[]` bunu belirtir. |
| 503 | `service_unavailable` | Geçici olarak kullanılamıyor; `Retry-After` süresinden sonra yeniden deneyin. |

## Örnek

```bash
curl -X POST https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/roles \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{"key":"auditor","name":"Auditor"}'
```
