<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels
Change Approval Level
Multi level approval process of Change module requires that the change request be approved by levels of approvers. Approvers whom the application administrator has configured as Level 1 approvers will review the change request first. After they have provided their signatures and thereby given approval, the approvers on Level 2 are notified and must review the change request. If an approver rejects a change request, the approval process is finished.
Attributes
id (long)
Primary id for approval level
level (int)
Level number of the approval level
change_stage (change_stage)
Information about the change stage to which the approval is associated. The information about the change stage will be provided only if the approval is associated to a change.
rule (approval_rule)
Options to be configured while processing the approval level. Available options are,1. Anyone to Approve - If any of the approvers approves, the approval is approved. If all reject, the approval is rejected.2. Everyone to approve - If everyone of the approvers approves, the approval is approved. If anybody rejects, the approval is rejected.3. First response action - If the first one to respond to the approval approves, the approval is approved. If he rejects, the approval is rejected4. % to approve- The level gets approved when the number of approvers crosses a custom threshold. The threshold in percentage should be given as an input.
status (approval_status)read only
Status of the approval level
created_time (datetime)read only
Approval level created time
More Attributes Expand all
associated_entity (string)read only
Holds the value of this approval belongs to which entity [request, purchase_order, change]
change (change)read only
Information about the change to which the approval is associated. The information about the change will be provided only if the approval is associated to that change.
Add Change Approval Level
This operation helps you Add change approval level.
Url
Attributes
id (long)
Primary id for approval level
level (int)
Level number of the approval level
change_stage (change_stage)
Information about the change stage to which the approval is associated. The information about the change stage will be provided only if the approval is associated to a change.
rule (approval_rule)
Options to be configured while processing the approval level. Available options are,1. Anyone to Approve - If any of the approvers approves, the approval is approved. If all reject, the approval is rejected.2. Everyone to approve - If everyone of the approvers approves, the approval is approved. If anybody rejects, the approval is rejected.3. First response action - If the first one to respond to the approval approves, the approval is approved. If he rejects, the approval is rejected4. % to approve- The level gets approved when the number of approvers crosses a custom threshold. The threshold in percentage should be given as an input.
status (approval_status)read only
Status of the approval level
created_time (datetime)read only
Approval level created time
More Attributes Expand all
associated_entity (string)read only
Holds the value of this approval belongs to which entity [request, purchase_order, change]
change (change)read only
Information about the change to which the approval is associated. The information about the change will be provided only if the approval is associated to that change.
$ curl <service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels\
-X POST\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
-H "Content-Type: application/x-www-form-urlencoded"\
-d input_data='{
"approval_level": {
"change_stage": {
"internal_name": "cab_evaluation"
},
"level": 48,
"rule": {
"name": "sdp.approval.everyone_approves"
}
}
}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
input_data = {
"approval_level": {
"change_stage": {
"internal_name": "cab_evaluation"
},
"level": 48,
"rule": {
"name": "sdp.approval.everyone_approves"
}
}
};
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/changes/{change_id}/approval_levels"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
"Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'
{
"approval_level": {
"change_stage": {
"internal_name": "cab_evaluation"
},
"level": 48,
"rule": {
"name": "sdp.approval.everyone_approves"
}
}
}
'@
$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/changes/{change_id}/approval_levels"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
"approval_level": {
"change_stage": {
"internal_name": "cab_evaluation"
},
"level": 48,
"rule": {
"name": "sdp.approval.everyone_approves"
}
}
}'''
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"
},
"approval_level": {
"created_time": {
"display_value": "Nov 10, 2016 11:44 AM",
"value": "1478758440000"
},
"change_stage": {
"internal_name": "cab_evaluation",
"stage_index": 48,
"name": "Cab Evaluation\t",
"id": "2051935247348063"
},
"level": 48,
"associated_entity": "change",
"change": {
"display_id": {
"display_value": "CH 44",
"value": "44"
},
"id": "2450403303362918",
"title": "test-title"
},
"rule": {
"name": "test-name",
"id": "2006918057316524",
"type": "test-type",
"value": "1478758440000"
},
"created_by": {
"email_id": "lincoln@zmail.com",
"is_technician": false,
"sms_mail": "linc123@xys_sms.co",
"phone": "test-phone",
"name": "Lincoln",
"mobile": "test-mobile",
"id": "2064164843530622",
"photo_url": "test-photo_url",
"is_vip_user": false
},
"id": "1509303571944455",
"status": {
"name": "To be Sent",
"id": "2354664786958421"
}
}
}
Get Change Approval Level
This operation helps you Get change approval level.
Url
<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels/{approval_level_id}
Attributes
id (long)
Primary id for approval level
level (int)
Level number of the approval level
change_stage (change_stage)
Information about the change stage to which the approval is associated. The information about the change stage will be provided only if the approval is associated to a change.
rule (approval_rule)
Options to be configured while processing the approval level. Available options are,1. Anyone to Approve - If any of the approvers approves, the approval is approved. If all reject, the approval is rejected.2. Everyone to approve - If everyone of the approvers approves, the approval is approved. If anybody rejects, the approval is rejected.3. First response action - If the first one to respond to the approval approves, the approval is approved. If he rejects, the approval is rejected4. % to approve- The level gets approved when the number of approvers crosses a custom threshold. The threshold in percentage should be given as an input.
status (approval_status)read only
Status of the approval level
created_time (datetime)read only
Approval level created time
More Attributes Expand all
associated_entity (string)read only
Holds the value of this approval belongs to which entity [request, purchase_order, change]
change (change)read only
Information about the change to which the approval is associated. The information about the change will be provided only if the approval is associated to that change.
$ curl -G <service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels/{approval_level_id}\
-X GET\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
-H "Content-Type: application/x-www-form-urlencoded"
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels/{approval_level_id}";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
response = invokeurl
[
url: url
type: GET
headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels/{approval_level_id}"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
"Content-Type" = "application/x-www-form-urlencoded"}
$response = Invoke-RestMethod -Uri $url -Method get -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/changes/{change_id}/approval_levels/{approval_level_id}"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx",
"Content-Type" : "application/x-www-form-urlencoded"}
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"
},
"approval_level": {
"created_time": {
"display_value": "Nov 10, 2016 11:44 AM",
"value": "1478758440000"
},
"change_stage": {
"internal_name": "cab_evaluation",
"stage_index": 23,
"name": "Cab Evaluation\t",
"id": "1522028657586448"
},
"level": 12,
"associated_entity": "change",
"change": {
"display_id": {
"display_value": "CH 44",
"value": "44"
},
"id": "2063694704518380",
"title": "test-title"
},
"rule": {
"name": "test-name",
"id": "1550955460052754",
"type": "test-type",
"value": "1478758440000"
},
"created_by": {
"email_id": "lincoln@zmail.com",
"is_technician": false,
"sms_mail": "linc123@xys_sms.co",
"phone": "test-phone",
"name": "Lincoln",
"mobile": "test-mobile",
"id": "1901562974433126",
"photo_url": "test-photo_url",
"is_vip_user": false
},
"id": "2331339022153652",
"status": {
"name": "To be Sent",
"id": "2328534893246566"
}
}
}
Get List Change Approval Level
This operation helps you Get all change approval levels.
Url
<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels
Attributes
id (long)
Primary id for approval level
level (int)
Level number of the approval level
change_stage (change_stage)
Information about the change stage to which the approval is associated. The information about the change stage will be provided only if the approval is associated to a change.
rule (approval_rule)
Options to be configured while processing the approval level. Available options are,1. Anyone to Approve - If any of the approvers approves, the approval is approved. If all reject, the approval is rejected.2. Everyone to approve - If everyone of the approvers approves, the approval is approved. If anybody rejects, the approval is rejected.3. First response action - If the first one to respond to the approval approves, the approval is approved. If he rejects, the approval is rejected4. % to approve- The level gets approved when the number of approvers crosses a custom threshold. The threshold in percentage should be given as an input.
status (approval_status)read only
Status of the approval level
created_time (datetime)read only
Approval level created time
More Attributes Expand all
associated_entity (string)read only
Holds the value of this approval belongs to which entity [request, purchase_order, change]
change (change)read only
Information about the change to which the approval is associated. The information about the change will be provided only if the approval is associated to that change.
$ curl -G <service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels\
-X GET\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
-H "Content-Type: application/x-www-form-urlencoded"\
--data-urlencode input_data='{}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
input_data = {};
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/changes/{change_id}/approval_levels"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
"Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'{}'@
$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/changes/{change_id}/approval_levels"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{}'''
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"
}
],
"approval_levels": [
{
"created_time": {
"display_value": "Nov 10, 2016 11:44 AM",
"value": "1478758440000"
},
"change_stage": {
"internal_name": "cab_evaluation",
"stage_index": 17,
"name": "Cab Evaluation\t",
"id": "2025234591290337"
},
"level": 27,
"associated_entity": "change",
"change": {
"display_id": {
"display_value": "CH 44",
"value": "44"
},
"id": "2328965180572171",
"title": "test-title"
},
"rule": {
"name": "test-name",
"id": "2264336875777765",
"type": "test-type",
"value": "1478758440000"
},
"created_by": {
"email_id": "lincoln@zmail.com",
"is_technician": false,
"sms_mail": "linc123@xys_sms.co",
"phone": "test-phone",
"name": "Lincoln",
"mobile": "test-mobile",
"id": "1676744976959264",
"photo_url": "test-photo_url",
"is_vip_user": false
},
"id": "2465340975685907",
"status": {
"name": "To be Sent",
"id": "2289792457487055"
}
}
],
"list_info": {
"has_more_rows": false,
"row_count": 1
}
}
Delete Change Approval Level
This operation helps you Delete change approval level.
Url
<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels/{approval_level_id}
$ curl <service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels/{approval_level_id}\
-X DELETE\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
-H "Content-Type: application/x-www-form-urlencoded"
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels/{approval_level_id}";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
response = invokeurl
[
url: url
type: DELETE
headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels/{approval_level_id}"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
"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/changes/{change_id}/approval_levels/{approval_level_id}"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx",
"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"
}
}