
# Berechtigungen benutzerdefinierter Organisationsrollen ersetzen

`PUT /v1/org-custom-role-permissions` · Berechtigung `roles:write`

Ersetzt die Liste durch `permission_ids` (der vollständige Satz, höchstens 1000). Das Hinzufügen einer Berechtigung erfordert das Tarif-Feature `org_custom_roles` (Business); das Entfernen von Berechtigungen ist immer erlaubt, und eine entfernte Berechtigung wird im selben Schreibvorgang auch jeder Organisationsrolle entzogen. Einige Systemberechtigungen können Organisationsrollen nie gewährt werden (`permission_not_allowed`). Die Änderung wird als `org_custom_role_permissions.updated` protokolliert; jede Organisationsrolle, die eine Berechtigung verliert, wird als `role.updated` protokolliert.

## Anfrage

| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `permission_ids` | string[] | ja | Der vollständige Satz der Berechtigungs-IDs (`perm_…`), höchstens 1000. |

## Antwort

`200 OK` mit der neuen Liste.

```json
{
  "permission_ids": [
    "perm_01j9xs0a2b4c6d8e0f2g4h6j8k",
    "perm_01j9xs0a2b4c6d8e0f2g4h6j8m"
  ]
}
```

## Fehler

| HTTP | code | Wann |
|---|---|---|
| 403 | `plan_feature_unavailable` | Der Satz fügt eine Berechtigung hinzu und der Tarif enthält `org_custom_roles` nicht. |
| 422 | `permission_not_allowed` | Eine Berechtigung kann Organisationsrollen nie gewährt werden. |
| 422 | `validation_failed` | `permission_ids` fehlt, enthält eine fehlerhafte oder unbekannte ID, ein Duplikat oder mehr als 1000 Einträge. |
| 401 | `unauthenticated` | Der Berechtigungsnachweis fehlt, ist ungültig oder widerrufen. |
| 403 | `insufficient_permissions` | Dem Berechtigungsnachweis fehlt die erforderliche Berechtigung. |
| 429 | `rate_limited` | Das Ratenlimit wurde überschritten; wiederholen Sie die Anfrage nach der Zeit aus `Retry-After`. |
| 503 | `service_unavailable` | Eine Abhängigkeit ist vorübergehend nicht verfügbar; wiederholen Sie die Anfrage nach der Zeit aus `Retry-After`. |

## Beispiel

```bash
curl -i -X PUT "https://api.eu.keenauth.com/v1/org-custom-role-permissions" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"permission_ids":["perm_01j9xs0a2b4c6d8e0f2g4h6j8k","perm_01j9xs0a2b4c6d8e0f2g4h6j8m"]}'
```
