Skip to content

Roles & Permissions API

All endpoints require admin authentication (token_admin) and the permission indicated for each one.

Roles

Endpoints for managing roles (default permission sets). Use roles-list for read operations and roles-admon for create/update/delete.

List roles

GET /roles/list

Returns a paginated, filterable list of roles.

Required permission: roles-list

Query parameterTypeDefaultDescription
startnumber0Offset for pagination (first row index)
lengthnumber20Number of rows per page
sortBystringField to sort by
sortTypestringSort direction: asc or desc
reportbooleanIf present, may change response format for reports
localeIdanyFilter by locale
security_levelnumberFilter roles by this security level
descriptionstringFilter roles by name/description
admin_idnumberFilter roles by administrator ID

Update a role

PATCH /roles/{id}

Updates a role's description and/or security level (partial update). Only the fields sent in the body are updated.

Required permission: roles-admon

Path parameters:

ParameterTypeDescription
idnumberRole ID (required)

Request body:

FieldTypeDescription
descriptionstringRole name/description (optional)
security_levelnumberSecurity level 1, 2, or 3 (optional)

Get role permissions

GET /roles/{id}/permissions

Returns the list of permissions assigned to a role, grouped by module (parent/child structure).

Required permission: roles-list

Path parameters:

ParameterTypeDescription
idnumberRole ID (required)

Assign or remove role permissions

POST /roles/{id}/permissions

Adds or removes permissions for a role. Each item in the permissions array specifies a permission and whether to grant or revoke it.

Required permission: roles-admon

Path parameters:

ParameterTypeDescription
idnumberRole ID (required)

Request body:

FieldTypeDescription
permissionsarrayList of changes (at least one item required)

Each element of permissions:

FieldTypeDescription
idnumberPermission ID (positive integer)
actionnumber1 = grant, -1 = revoke

Example:

json
{
  "permissions": [
    { "id": 12, "action": 1 },
    { "id": 45, "action": -1 }
  ]
}

Get users in a role

GET /roles/{id}/users

Returns the list of administrators assigned to the given role.

Required permission: roles-list

Path parameters:

ParameterTypeDescription
idnumberRole ID (required)

Administrators

Endpoints for managing administrators (users who can access the admin application). Permissions used: administrators-table, administrators-add, administrators-edit, sel_admin_permissions.

List administrators

GET /administratorsV2

Returns a paginated, filterable list of administrators.

Required permission: administrators-table

Query parameterTypeDefaultDescription
startnumber0Offset for pagination (first row index)
lengthnumber20Number of rows per page
sortBystringField to sort by
sortTypestringSort direction: ASC or DESC
reportbooleanIf present, may change response format for reports
localeIdanyFilter by locale
idnumberFilter by administrator ID
namestringFilter by name
emailstringFilter by email
department_idnumberFilter by department ID
role_idnumberFilter by role ID
statusnumberFilter by status

Create administrator

POST /administratorsV2

Creates a new administrator by linking a user to the admin application with a role, department, office, and locale.

Required permission: administrators-add

Request body:

FieldTypeDescription
user_idnumberUser ID (required)
phonestringPhone number (can be empty string)
department_idnumberDepartment ID (required)
office_idnumberOffice ID (required; can be null)
role_idnumberRole ID (required)
locale_idnumberLocale ID (required)

Update administrator

PUT /administratorsV2/{id}

Updates an existing administrator. All listed fields are required in the payload.

Required permission: administrators-edit

Path parameters:

ParameterTypeDescription
idnumberAdministrator ID (required)

Request body:

FieldTypeDescription
namestringFull name (required)
emailstringEmail address (required, valid email)
passwordstringPassword (can be empty to leave unchanged; min 8 characters if set)
calendly_urlstringCalendly URL (can be empty)
phonestringPhone number (can be empty)
department_idnumberDepartment ID (required)
office_idnumberOffice ID (required; can be null)
role_idnumberRole ID (required)
statusbooleanActive status: 1/truthy = active, 0/falsy = inactive (required)
status_leadsbooleanLeads status: 1/truthy or 0/falsy (required)

Get administrator permissions

GET /administratorsV2/{id}/permissions

Returns the list of permissions assigned to the administrator, grouped by module (parent/child structure), including whether each permission is inherited from the role or set as an exception/revoked.

Required permission: sel_admin_permissions

Path parameters:

ParameterTypeDescription
idnumberAdministrator ID (required)

Assign or remove administrator permissions

POST /administratorsV2/{id}/permissions

Adds or removes permissions for an administrator. Each item in the permissions array specifies a permission, the action, and whether the permission is inherited from the role.

Required permission: sel_admin_permissions

Path parameters:

ParameterTypeDescription
idnumberAdministrator ID (required)

Request body:

FieldTypeDescription
permissionsarrayList of changes (at least one item required)

Each element of permissions:

FieldTypeDescription
idnumberPermission ID (positive integer)
actionnumber1 = grant, -1 = revoke
is_inheritedbooleantrue if from the role, false if per-user override

Example:

json
{
  "permissions": [
    { "id": 12, "action": 1, "is_inherited": false },
    { "id": 45, "action": -1, "is_inherited": true }
  ]
}

Reset two-factor authentication (2FA)

PATCH /administratorsV2/{id}/reset2fa

Resets two-factor authentication for the given administrator. The administrator will need to set up 2FA again on next login if required.

Required permission: administrators-edit

Path parameters:

ParameterTypeDescription
idnumberAdministrator ID (required)

Permissions Summary

Permission keyUsed byAccess type
roles-listGET /roles/list, GET /roles/{id}/permissions, GET /roles/{id}/usersRead
roles-admonPATCH /roles/{id}, POST /roles/{id}/permissionsWrite
administrators-tableGET /administratorsV2Read
administrators-addPOST /administratorsV2Write
administrators-editPUT /administratorsV2/{id}, PATCH /administratorsV2/{id}/reset2faWrite
sel_admin_permissionsGET /administratorsV2/{id}/permissions, POST /administratorsV2/{id}/permissionsRead/Write

Envia Admin