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"
}