<service domain|custom domain>/app/<portal>//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 Project Member
This operation lets you add available technicians/users configured in ServiceDesk Plus as a member of project.
Mandatory Fields :- user
Url
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.
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.
is_active (boolean)
Membership status of the user under the project True → Active, False → Inactive
$ curl <service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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": "guest@zylker.com",
"name": "Shawn Adams",
"is_vipuser": false,
"id": "5",
"department": null
}
}
}
Add Multiple Project Members
This operation lets you add multiple technicians/users as members of a project in single operation.
Url
<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/members
$ curl <service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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": "guest@zylker.com",
"name": "Jeniffer Doe",
"is_vipuser": false,
"id": "9",
"department": {
"site": null,
"name": "IT Services",
"id": 5
}
}
}
]
}
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
<service domain|custom domain>/app/<portal>//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.
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.
is_active (boolean)
Membership status of the user under the project True → Active, False → Inactive
$ curl <service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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": "guest@zylker.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
<service domain|custom domain>/app/<portal>//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.
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.
is_active (boolean)
Membership status of the user under the project True → Active, False → Inactive
$ curl -G <service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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": "guest@zylker.com",
"login_name": "sa",
"jobtitle": "Organisation Manager",
"phone": "1122334455",
"employee_id": "010",
"domain": {
"name": "zylker.domain.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": "guest2@zylker.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
<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/members/{member_id}
$ curl <service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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 = "<service domain|custom domain>/app/<portal>//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"
}
}