Project Permission API Procedures

getProjectUsers

  • Purpose: Get all members of a project

  • Parameters:

    • project_id (integer, required)

  • Result on success: Dictionary of user_id => user name

  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "getProjectUsers",
    "id": 1601016721,
    "params": [
        "1"
    ]
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 1601016721,
    "result": {
        "1": "admin"
    }
}

getAssignableUsers

  • Purpose: Get users that can be assigned to a task for a project (all members except viewers)

  • Parameters:

    • project_id (integer, required)

    • prepend_unassigned (boolean, optional, default is false)

  • Result on success: Dictionary of user_id => user name

  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "getAssignableUsers",
    "id": 658294870,
    "params": [
        "1"
    ]
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 658294870,
    "result": {
        "1": "admin"
    }
}

addProjectUser

  • Purpose: Grant access to a project for a user

  • Parameters:

    • project_id (integer, required)

    • user_id (integer, required)

    • role (string, optional)

  • Result on success: true

  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "addProjectUser",
    "id": 1294688355,
    "params": [
        "1",
        "1",
        "project-viewer"
    ]
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 1294688355,
    "result": true
}

addProjectGroup

  • Purpose: Grant access to a project for a group

  • Parameters:

    • project_id (integer, required)

    • group_id (integer, required)

    • role (string, optional)

  • Result on success: true

  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "addProjectGroup",
    "id": 1694959089,
    "params": [
        "1",
        "1"
    ]
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 1694959089,
    "result": true
}

removeProjectUser

  • Purpose: Revoke user access to a project

  • Parameters:

    • project_id (integer, required)

    • user_id (integer, required)

  • Result on success: true

  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "removeProjectUser",
    "id": 645233805,
    "params": [
        1,
        1
    ]
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 645233805,
    "result": true
}

removeProjectGroup

  • Purpose: Revoke group access to a project

  • Parameters:

    • project_id (integer, required)

    • group_id (integer, required)

  • Result on success: true

  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "removeProjectGroup",
    "id": 557146966,
    "params": [
        1,
        1
    ]
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 557146966,
    "result": true
}

changeProjectUserRole

  • Purpose: Change role of a user for a project

  • Parameters:

    • project_id (integer, required)

    • user_id (integer, required)

    • role (string, required)

  • Result on success: true

  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "changeProjectUserRole",
    "id": 193473170,
    "params": [
        "1",
        "1",
        "project-viewer"
    ]
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 193473170,
    "result": true
}

changeProjectGroupRole

  • Purpose: Change role of a group for a project

  • Parameters:

    • project_id (integer, required)

    • group_id (integer, required)

    • role (string, required)

  • Result on success: true

  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "changeProjectGroupRole",
    "id": 2114673298,
    "params": [
        "1",
        "1",
        "project-viewer"
    ]
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 2114673298,
    "result": true
}

getProjectUserRole

  • Purpose: Get the role of a user for a given project

  • Parameters:

    • project_id (integer, required)

    • user_id (integer, required)

  • Result on success: role name

  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "getProjectUserRole",
    "id": 2114673298,
    "params": [
        "2",
        "3"
    ]
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 2114673298,
    "result": "project-viewer"
}