Update administrator permissions
/administrators/{administrator_id}/permissionsReplaces the administrator's role, granular permissions, and product access in a single operation. Permissions not granted in permissions are disabled, and product access is set to exactly the products listed in product_ids. If any part of the request is rejected, no changes are applied.
Permission keys that do not exist in the permission catalog return validation_failed.
The API cannot assign the root or master_admin role, and every permission granted must be part of the selected role's default permissions. Requests that exceed these limits return delegation_limit_exceeded.
To avoid overwriting a newer version, send the ETag returned by the retrieve administrator operation in the If-Match header. The response includes the new ETag.
Autonomous mode: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.
In: header
Path Parameters
Public ID of the administrator, prefixed with adm_.
Header Parameters
Client-generated key that makes the request safe to retry. Must be 1 to 128 characters from [A-Za-z0-9._:-]. Optional on this operation; when sent, a malformed key returns idempotency_key_invalid, and repeating the request with the same key and the same body returns the stored result with Idempotent-Replayed: true.
Expected revision of the resource, in the same format as the ETag header (W/"<type>:<id>:<revision>"). If the resource has changed since that revision, the request fails with 412 and the revision_mismatch error code. * matches the current revision. Any other value fails with 400 and the if_match_invalid error code. When omitted, the update is applied to the current revision.
Optional client-generated identifier of the request, up to 64 characters from [A-Za-z0-9._-]. Echoed back in the response and recorded in the request log; it never replaces the server-generated X-Request-Id.
length <= 64Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/administrators/string/permissions" \ -H "Content-Type: application/json" \ -d '{ "permissions": {}, "role": "string" }'{ "data": { "object": "administrator_permissions", "permissions": {}, "product_ids": [ "string" ], "revision": "string", "role": "root" }}