1. /projects/:project_id/people

Displays the list of people involved with the project and the permissions included in their Project Role. Project Permissions are organized per module and have four possible values:

  • 0 - no access;
  • 1 - has access, but can't create or manage objects;
  • 2 - has access and permission to create objects in a given module;
  • 3 - has access, creation and management permissions in a given module.

Method: GET

Since: activeCollab 1.1.4

Response:

<project_users>
  <project_user>
    <user_id>15</user_id>
    <role>
      <![CDATA[administrator]]>
    </role>
    <permissions>
      <milestone>3</milestone>
      <discussion>3</discussion>
      <file>3</file>
      <page>3</page>
      <ticket>3</ticket>
      <timerecord>3</timerecord>
    </permissions>
    <permalink>...</permalink>
  </project_user>
  <project_user>
    <user_id>16</user_id>
    <role>
      <![CDATA[custom]]>
    </role>
    <permissions>
      <milestone>1</milestone>
      <discussion>1</discussion>
      <file>1</file>
      <page>2</page>
      <ticket>2</ticket>
      <timerecord>2</timerecord>
    </permissions>
  </project_user>
</project_users>

2. /projects/:project_id/people/add

By using this command, you can add one or more users to the project and set their Project Permissions. This command accepts two parameters:

  1. users - An array of users that you want to add to the project;
  2. project_permissions - An array of permission settings. Two values are relevant in this array:
    1. project_permissions[role_id] - ID of the project role a user will have in the project. This parameter is optional. If value is not present, the system will use project_permissions[permissions].
    2. project_permissions[permissions] - Array of permissions for different sections that this user should have in the project. This parameter is ignored when project_permissions[role_id] is present.

Method: POST

Since: activeCollab 2.0.3

This example request will add users with ID 39 and 52 to the project and set their project role to role #10:

submitted=submitted
users[]=39
users[]=52
project_permissions[role_id]=10

This example request will add users with ID 15 and 72 to the project, and set their permissions for tickets and discussions module to Has access. All their other module permissions will be set to No access:

submitted = submitted
users[] = 15
users[] = 72
project_permissions[permissions][discussion] = 1
project_permissions[permissions][ticket] = 1

3. /projects/:project_id/people/:user_id/change-permissions

This command is used for changing the set of Project Permissions for the selected user in a given project.

This command accepts two parameters:

  1. project_permissions[role_id] - ID of the Project Role that a user will have in the project. This parameter is optional. If a value is not set, the system will use project_permissions[permissions].
  2. project_permissions[permissions] - Array of permissions for different sections that the user should have in the project. This parameter is ignored when project_permissions[role_id] is present.

In this example, the Project Permissions for this user and his Project Role will be changed to Project Role #10:

submitted=submitted
project_permissions[role_id]=10

This example request will change a user's Project Permission so that he/she has access to the Tickets and Discussions modules. All other module permissions will be set to No access:

submitted = submitted
project_permissions[permissions][discussion] = 1
project_permissions[permissions][ticket] = 1

4. /projects/:project_id/people/:user_id/remove-from-project

This command will remove a specific user from the project. If successful, this function will return a HTTP 200 OK status.

Method: POST

Since: activeCollab 2.0.3