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.

{
  "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

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"]}'