/api/v3/projects/{project_id}/members
Project Member
Project members are generally assigned with a part of the project. It can be a milestone, a task or the entire project itself. Based on the assigned role, the member will be provided with a set of access permissions.
Attributes
id (long)
Unique identifier of the project member.
user (user)
Denotes the user to be added as a member of the project. This field cannot be edited.
is_active (boolean)
Membership status of the user under the project True → Active, False → Inactive
role (project_role)
Project role or set of access permissions for the project members.
project (project)read only
Project to which the member is associated to.
Add Multiple Project Members
This operation lets you add multiple technicians/users as members of a project in single operation.
Url
$ curl /api/v3/projects/{project_id}/members
-X POST
-H "Accept: application/vnd.manageengine.sdp.v3+json"
-H "Authorization: authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
-H "Content-Type: application/x-www-form-urlencoded"
-d input_data= '{
"members": [
{
"user": {
"id": "8"
},
"is_active": "false",
"role": {
"name": "Project Admin"
}
},
{
"user": {
"id": "9"
},
"is_active": "true",
"role": {
"name": "Project Manager"
}
}
]
}'
// Deluge Sample script
url = "/api/v3/projects/{project_id}/members";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"};
input_data = {
"members": [
{
"user": {
"id": "8"
},
"is_active": "false",
"role": {
"name": "Project Admin"
}
},
{
"user": {
"id": "9"
},
"is_active": "true",
"role": {
"name": "Project Manager"
}
}
]
};
params = {"input_data": input_data};
response = invokeurl
[
url: url
type: POST
parameters: params
headers: headers
];
info response;
#Powershell version - 5.1
$url = "/api/v3/projects/{project_id}/members"
$headers = @{"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
$input_data = @'
{
"members": [
{
"user": {
"id": "8"
},
"is_active": "false",
"role": {
"name": "Project Admin"
}
},
{
"user": {
"id": "9"
},
"is_active": "true",
"role": {
"name": "Project Manager"
}
}
]
}
'@
$data = @{ 'input_data' = $input_data}
$response = Invoke-RestMethod -Uri $url -Method post -Body $data -Headers $headers
$response
#Python version - 3.10
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request
url = "/api/v3/projects/{project_id}/members"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
"members": [
{
"user": {
"id": "8"
},
"is_active": "false",
"role": {
"name": "Project Admin"
}
},
{
"user": {
"id": "9"
},
"is_active": "true",
"role": {
"name": "Project Manager"
}
}
]
}'''
data = urlencode({"input_data":input_data}).encode()
httprequest = Request(url, headers=headers,data=data, method="POST")
try:
with urlopen(httprequest) as response:
print(response.read().decode())
except HTTPError as e:
print(e.read().decode())
{
"response_status": [
{
"status_code": 2000,
"id": "331",
"status": "success"
},
{
"status_code": 2000,
"id": "332",
"status": "success"
}
],
"members": [
{
"role": {
"name": "Project Admin",
"id": "1"
},
"is_active": false,
"project": {
"id": "3",
"title": "Project-sandhya"
},
"id": "331",
"user": {
"email_id": null,
"name": "Howard Stern",
"is_vipuser": false,
"id": "8",
"department": null
}
},
{
"role": {
"name": "Project Manager",
"id": "3"
},
"is_active": true,
"project": {
"id": "3",
"title": "Project-sandhya"
},
"id": "332",
"user": {
"email_id": "zzz@zzz.com",
"name": "Jeniffer Doe",
"is_vipuser": false,
"id": "9",
"department": {
"site": null,
"name": "IT Services",
"id": 5
}
}
}
]
}
Get List Project Member
This operation lets you view all members associated with a project.
Url
/api/v3/projects/{project_id}/members
Attributes
id (long)
Unique identifier of the project member.
user (user)
Denotes the user to be added as a member of the project. This field cannot be edited.
is_active (boolean)
Membership status of the user under the project True → Active, False → Inactive
role (project_role)
Project role or set of access permissions for the project members.
project (project)read only
Project to which the member is associated to.
$ curl -G /api/v3/projects/{project_id}/members
-X GET
-H "Accept: application/vnd.manageengine.sdp.v3+json"
-H "Authorization: authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
-H "Content-Type: application/x-www-form-urlencoded"
--data-urlencode input_data = '{
"list_info": {
"sort_field": "user.phone",
"sort_order": "asc"
}
}'
// Deluge Sample script
url = "/api/v3/projects/{project_id}/members";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"};
input_data = {
"list_info": {
"sort_field": "user.phone",
"sort_order": "asc"
}
};
params = {"input_data":input_data};
response = invokeurl
[
url: url
type: GET
parameters:params
headers: headers
];
info response;
#Powershell version - 5.1
$url = "/api/v3/projects/{project_id}/members"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
"Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'
{
"list_info": {
"sort_field": "user.phone",
"sort_order": "asc"
}
}
'@
$data = @{ 'input_data' = $input_data}
$response = Invoke-RestMethod -Uri $url -Method get -Body $data -Headers $headers
$response
#Python version - 3.8
#This script requires requests module installed in python.
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request
url = "/api/v3/projects/{project_id}/members"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
"list_info": {
"sort_field": "user.phone",
"sort_order": "asc"
}
}'''
url += "?" + urlencode({"input_data":input_data})
httprequest = Request(url, headers=headers)
try:
with urlopen(httprequest) as response:
print(response.read().decode())
except HTTPError as e:
print(e.read().decode())
{
"response_status": [
{
"status_code": 2000,
"status": "success"
}
],
"members": [
{
"role": {
"name": "Project Admin",
"id": "1"
},
"is_active": true,
"project": {
"id": "2",
"title": "Project-doctool"
},
"id": "301",
"user": {
"email_id": null,
"login_name": "administrator",
"jobtitle": null,
"phone": "1234455",
"employee_id": "009",
"domain": null,
"name": "administrator",
"is_vipuser": false,
"id": "4",
"department": null
}
},
{
"role": {
"name": "Project Admin",
"id": "1"
},
"is_active": true,
"project": {
"id": "2",
"title": "Project-doctool"
},
"id": "330",
"user": {
"email_id": "zzz@zzz.com",
"login_name": "sa",
"jobtitle": "Organisation Manager",
"phone": "925-852-2588",
"employee_id": "010",
"domain": {
"name": "csez.zohocorpin.com",
"id": "1"
},
"name": "Shawn Adams",
"is_vipuser": false,
"id": "5",
"department": {
"site": {
"name": "custom site",
"id": 901
},
"name": "custom department",
"id": 301
}
}
},
{
"role": {
"name": "Team Leader",
"id": "4"
},
"is_active": true,
"project": {
"id": "2",
"title": "Project-doctool"
},
"id": "326",
"user": {
"email_id": "zzz@zzz.com",
"login_name": "j",
"jobtitle": null,
"phone": "99999",
"employee_id": "014",
"domain": {
"name": "ORG.ZZZ.COM",
"id": "301"
},
"name": "Jeniffer Doe",
"is_vipuser": false,
"id": "9",
"department": {
"site": null,
"name": "IT Services",
"id": 5
}
}
}
],
"list_info": {
"has_more_rows": false,
"sort_field": "user.phone",
"start_index": 1,
"sort_order": "asc",
"row_count": 3
}
}
Delete Project Member
This operation removes/dissociates a member from a project. When a member is removed, tasks and milestones that were assigned to him will be marked unassigned.
Url
/api/v3/projects/{project_id}/members/{member_id}
$ curl /api/v3/projects/{project_id}/members/{member_id}
-X DELETE
-H "Accept: application/vnd.manageengine.sdp.v3+json"
-H "Authorization: authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
-H "Content-Type: application/x-www-form-urlencoded"
// Deluge Sample script
url = "/api/v3/projects/{project_id}/members/{member_id}";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"};
response = invokeurl
[
url: url
type: DELETE
headers: headers
];
info response;
#Powershell version - 5.1
$url = "/api/v3/projects/{project_id}/members/{member_id}"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
"Content-Type" = "application/x-www-form-urlencoded"}
$response = Invoke-RestMethod -Uri $url -Method delete -Headers $headers
$response
#Python version - 3.10
from urllib.error import HTTPError
from urllib.request import urlopen,Request
url = "/api/v3/projects/{project_id}/members/{member_id}"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
httprequest = Request(url, headers=headers,method="DELETE")
try:
with urlopen(httprequest) as response:
print(response.read().decode())
except HTTPError as e:
print(e.read().decode())
{
"response_status": {
"status_code": 2000,
"status": "success"
}
}
Edit Project Member
This operation lets you update a project member’s details. This can be used to change the project role given to a member or mark the member as active/inactive.
Url
/api/v3/projects/{project_id}/members/{member_id}
Attributes
id (long)
Unique identifier of the project member.
user (user)
Denotes the user to be added as a member of the project. This field cannot be edited.
is_active (boolean)
Membership status of the user under the project True → Active, False → Inactive
role (project_role)
Project role or set of access permissions for the project members.
project (project)read only
Project to which the member is associated to.
$ curl /api/v3/projects/{project_id}/members/{member_id}
-X PUT
-H "Accept: application/vnd.manageengine.sdp.v3+json"
-H "Authorization: authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
-H "Content-Type: application/x-www-form-urlencoded"
-d input_data= '{
"member": {
"role": {
"id": "3",
"name": "Project Manager"
},
"is_active": false
}
}'
// Deluge Sample script
url = "/api/v3/projects/{project_id}/members/{member_id}";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"};
input_data = {
"member": {
"role": {
"id": "3",
"name": "Project Manager"
},
"is_active": false
}
};
params = {"input_data": input_data};
response = invokeurl
[
url: url
type: PUT
parameters: params
headers: headers
];
info response;
#Powershell version - 5.1
$url = "/api/v3/projects/{project_id}/members/{member_id}"
$headers = @{"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
$input_data = @'
{
"member": {
"role": {
"id": "3",
"name": "Project Manager"
},
"is_active": false
}
}
'@
$data = @{ 'input_data' = $input_data}
$response = Invoke-RestMethod -Uri $url -Method put -Body $data -Headers $headers
$response
#Python version - 3.10
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request
url = "/api/v3/projects/{project_id}/members/{member_id}"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
"member": {
"role": {
"id": "3",
"name": "Project Manager"
},
"is_active": false
}
}'''
data = urlencode({"input_data":input_data}).encode()
httprequest = Request(url, headers=headers,data=data, method="PUT")
try:
with urlopen(httprequest) as response:
print(response.read().decode())
except HTTPError as e:
print(e.read().decode())
{
"response_status": {
"status_code": 2000,
"status": "success"
},
"member": {
"role": {
"name": "Project Manager",
"id": "3"
},
"is_active": false,
"project": {
"id": "2",
"title": "Project-doctool"
},
"id": "326",
"user": {
"email_id": "zzz@zzz.com",
"name": "Jeniffer Doe",
"is_vipuser": false,
"id": "9",
"department": {
"site": null,
"name": "IT Services",
"id": 5
}
}
}
}
Add Project Member
This operation lets you add available technicians/users configured in ServiceDesk Plus as a member of project.
Mandatory Fields :- user
Url
/api/v3/projects/{project_id}/members
Attributes
id (long)
Unique identifier of the project member.
user (user)
Denotes the user to be added as a member of the project. This field cannot be edited.
is_active (boolean)
Membership status of the user under the project True → Active, False → Inactive
role (project_role)
Project role or set of access permissions for the project members.
project (project)read only
Project to which the member is associated to.
$ curl /api/v3/projects/{project_id}/members
-X POST
-H "Accept: application/vnd.manageengine.sdp.v3+json"
-H "Authorization: authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
-H "Content-Type: application/x-www-form-urlencoded"
-d input_data= '{
"member": {
"user": {
"id": "5",
"name": "Shawn Adams"
},
"role": {
"id": "4",
"name": "Team Leader"
},
"is_active": "true"
}
}'
// Deluge Sample script
url = "/api/v3/projects/{project_id}/members";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"};
input_data = {
"member": {
"user": {
"id": "5",
"name": "Shawn Adams"
},
"role": {
"id": "4",
"name": "Team Leader"
},
"is_active": "true"
}
};
params = {"input_data": input_data};
response = invokeurl
[
url: url
type: POST
parameters: params
headers: headers
];
info response;
#Powershell version - 5.1
$url = "/api/v3/projects/{project_id}/members"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
"Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'
{
"member": {
"user": {
"id": "5",
"name": "Shawn Adams"
},
"role": {
"id": "4",
"name": "Team Leader"
},
"is_active": "true"
}
}
'@
$data = @{ 'input_data' = $input_data}
$response = Invoke-RestMethod -Uri $url -Method post -Body $data -Headers $headers
$response
#Python version - 3.10
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request
url = "/api/v3/projects/{project_id}/members"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
"member": {
"user": {
"id": "5",
"name": "Shawn Adams"
},
"role": {
"id": "4",
"name": "Team Leader"
},
"is_active": "true"
}
}'''
data = urlencode({"input_data":input_data}).encode()
httprequest = Request(url, headers=headers,data=data, method="POST")
try:
with urlopen(httprequest) as response:
print(response.read().decode())
except HTTPError as e:
print(e.read().decode())
{
"response_status": {
"status_code": 2000,
"status": "success"
},
"member": {
"role": {
"name": "Team Leader",
"id": "4"
},
"is_active": true,
"project": {
"id": "3",
"title": "Project-doctool"
},
"id": "328",
"user": {
"email_id": "zzz@zzz.com",
"name": "Shawn Adams",
"is_vipuser": false,
"id": "5",
"department": null
}
}
}