activeCollab supports several methods for listing the System Roles that a user can have, as well as for reading the permissions included in each role.

1. /roles/system

Lists all system roles and role details (permissions included). For security reasons, if user is not system administrator or people manager only default role ID is returned!

Method: GET

Since: activeCollab 1.1.4

Example response:

<system_roles>
  <system_role>
    <id>...</id>
    <name>...</name>
    <is_default>0</is_default>
    <permissions>
      <system_access>1</system_access>
      ...
    </permissions>
  </system_role>
</system_roles>

2. /roles/project

Lists all project roles and displays their permissions.

Please note that the system returns all project roles without checking user permissions. Each user will be able to execute this operation and see all available project roles.

Method: GET

Since: activeCollab 1.1.4

Example Response:

<project_roles>
  <project_role>
    <id>...</id>
    <name>...</name>
    <permissions>
      <discussion>1</discussion>
      ...
    </permissions>
  </project_role>
</project_roles>

3. /roles/:role_id

Displays the details from a specific role. This command can return both system and project roles and their settings.

Please note that role details are listed without checking user permissions, so each user will be able to read details of each role.

Method: GET

Since: activeCollab 1.1.4

Example of the system role response:

<system_role>
  <id>...</id>
  <name>...</name>
  <is_default>0</is_default>
  <permissions>
    <system_access>1</system_access>
    ...
  </permissions>
</system_role>

Example of the project role Response:

<project_role>
  <id>...</id>
  <name>...</name>
  <permissions>
    <discussion>1</discussion>
    ...
  </permissions>
</project_role>