PlatformXeDocs
Get API Key

Roles

CRUD operations for managing authorization roles.

Roles are the primary unit of access control. Each role uses either the Simple (capabilities) or Full (modules) model.

Scope: permissions:manage

Rate limit: 500/hr

List roles

GET /api/v1/permissions/roles

curl https://api.platformxe.com/api/v1/permissions/roles \
  -H "x-api-key: pxk_live_your_api_key_here"
const roles = await px.permissions.listRoles();

Create a role

POST /api/v1/permissions/roles

FieldTypeRequiredDescription
namestringYesUnique role name
descriptionstringNoHuman-readable description
modelstringYesSIMPLE or FULL
curl -X POST https://api.platformxe.com/api/v1/permissions/roles \
  -H "Content-Type: application/json" \
  -H "x-api-key: pxk_live_your_api_key_here" \
  -d '{
    "name": "Support Agent",
    "description": "Read-only access to tickets and users",
    "model": "SIMPLE"
  }'
const role = await px.permissions.createRole({
  name: 'Support Agent',
  description: 'Read-only access to tickets and users',
  model: 'SIMPLE',
});

Get a role

GET /api/v1/permissions/roles/:id

Returns the role with its capabilities (Simple model) or module permissions (Full model).

curl https://api.platformxe.com/api/v1/permissions/roles/role_abc123 \
  -H "x-api-key: pxk_live_your_api_key_here"

Update a role

PATCH /api/v1/permissions/roles/:id

curl -X PATCH https://api.platformxe.com/api/v1/permissions/roles/role_abc123 \
  -H "Content-Type: application/json" \
  -H "x-api-key: pxk_live_your_api_key_here" \
  -d '{
    "description": "Updated description for support agents"
  }'

Delete a role

DELETE /api/v1/permissions/roles/:id

curl -X DELETE https://api.platformxe.com/api/v1/permissions/roles/role_abc123 \
  -H "x-api-key: pxk_live_your_api_key_here"

System roles (e.g., super-admin, viewer) cannot be updated or deleted. Attempting to do so returns a FORBIDDEN error.

Error responses

CodeDescription
BAD_REQUESTInvalid model type or missing name
CONFLICTRole with that name already exists
FORBIDDENAPI key missing permissions:manage scope, or attempting to modify a system role
NOT_FOUNDRole ID does not exist