Skip to content

Release Approval

Release requests must be approved by the stakeholders who are impacted when the release is implemented. Release requests go through a series of approval states and approvers who update their approval status based on the approval rule set by the administrators.

Attributes

id (long)
Denotes the unique ID of the approval

id (long)
Numerical digits which are considered to have larger values.

Example

234759602834500

comments (string)
Comments given on the approval by the approver [Max-length : 250]

comments (string)
A text in a plain format. No rich text or new line characters allowed.

Example

Sample Content

approver (user)
Approver of the approval request

approver (user)
Approver of the approval request

Example

{
  "approver": {
    "email_id": "test@test.com",
    "name": "test_user",
    "id": "100000000000042013"
  }
}

original_approver (user)
The back approver, to whom the approval has been sent when the approver is on leave/not available

original_approver (user)
The back approver, to whom the approval has been sent when the approver is on leave/not available

Example

{
  "original_approver": {
    "email_id": "test@test.com",
    "name": "test_original_aprover",
    "id": "100000000000042013"
  }
}

xpath (JSONObject)
Organisational Roles configured for the approval
show attribute

xpath (JSONObject)
Organisational Roles configured for the approval

path (string)
The path of the organisational role to be configured for the approval

path (string)
A text in a plain format. No rich text or new line characters allowed.

Example

Sample Content

display_name (string)read only
The display name of the organisational role.
For Example: CEO, CFO.

display_name (string)
A text in a plain format. No rich text or new line characters allowed.

Example

Sample Content

approval_level (approval_level)read only
Approval level to which the approval is associated

approval_level (approval_level)
Approval level to which the approval is associated

Example

{
  "approval_level": {
    "id": "234567890123777"
  }
}

More Attributes Expand all

status (approval_status)read only

Status of the Approval

status (approval_status)
Status of the Approval

Example

{
  "status": {
    "name": "Approved",
    "id": "11127890123456"
  }
}

sent_on (datetime)read only

Date at which the approval is being sent

sent_on (datetime)
Represents a date/time as a JSON Object. Would contain the value and the display_value attributes.

value : The time in long format (No. of milliseconds from Jan 1, 1970 ).

display_value : The time in a readable form in a format as personalized by the user. If not personalized, default format would be used.

action_taken_on (datetime)read only

Date at which the action on the approval is taken

action_taken_on (datetime)
Represents a date/time as a JSON Object. Would contain the value and the display_value attributes.

value : The time in long format (No. of milliseconds from Jan 1, 1970 ).

display_value : The time in a readable form in a format as personalized by the user. If not personalized, default format would be used.

Get Release Approval

This operation helps to Get Approval for a Release

Url

<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}

Attributes

id (long)
Denotes the unique ID of the approval

id (long)
Numerical digits which are considered to have larger values.

Example

234759602834500

comments (string)
Comments given on the approval by the approver [Max-length : 250]

comments (string)
A text in a plain format. No rich text or new line characters allowed.

Example

Sample Content

approver (user)
Approver of the approval request

approver (user)
Approver of the approval request

Example

{
  "approver": {
    "email_id": "test@test.com",
    "name": "test_user",
    "id": "100000000000042013"
  }
}

original_approver (user)
The back approver, to whom the approval has been sent when the approver is on leave/not available

original_approver (user)
The back approver, to whom the approval has been sent when the approver is on leave/not available

Example

{
  "original_approver": {
    "email_id": "test@test.com",
    "name": "test_original_aprover",
    "id": "100000000000042013"
  }
}

xpath (JSONObject)
Organisational Roles configured for the approval
show attribute

xpath (JSONObject)
Organisational Roles configured for the approval

path (string)
The path of the organisational role to be configured for the approval

path (string)
A text in a plain format. No rich text or new line characters allowed.

Example

Sample Content

display_name (string)read only
The display name of the organisational role.
For Example: CEO, CFO.

display_name (string)
A text in a plain format. No rich text or new line characters allowed.

Example

Sample Content

approval_level (approval_level)read only
Approval level to which the approval is associated

approval_level (approval_level)
Approval level to which the approval is associated

Example

{
  "approval_level": {
    "id": "234567890123777"
  }
}

More Attributes Expand all

status (approval_status)read only

Status of the Approval

status (approval_status)
Status of the Approval

Example

{
  "status": {
    "name": "Approved",
    "id": "11127890123456"
  }
}

sent_on (datetime)read only

Date at which the approval is being sent

sent_on (datetime)
Represents a date/time as a JSON Object. Would contain the value and the display_value attributes.

value : The time in long format (No. of milliseconds from Jan 1, 1970 ).

display_value : The time in a readable form in a format as personalized by the user. If not personalized, default format would be used.

action_taken_on (datetime)read only

Date at which the action on the approval is taken

action_taken_on (datetime)
Represents a date/time as a JSON Object. Would contain the value and the display_value attributes.

value : The time in long format (No. of milliseconds from Jan 1, 1970 ).

display_value : The time in a readable form in a format as personalized by the user. If not personalized, default format would be used.

$ curl -G <service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_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/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_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/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_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/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_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": {
        "approver": {
            "email_id": "test@test.com",
            "is_technician": true,
            "sms_mail": null,
            "mobile": null,
            "last_name": "Technician",
            "user_scope": "0",
            "phone": "430430430",
            "name": "Test Technician",
            "id": "152000000031041",
            "photo_url": "https://contacts.zoho.com/file?sample",
            "is_vip_user": false,
            "department": null,
            "first_name": "Test",
            "job_title": null
        },
        "xpath": {
            "path": null
        },
        "comments": null,
        "original_approver": null,
        "approval_level": {
            "created_time": {
                "display_value": "Dec 29, 2021 03:47 PM",
                "value": "1640773057310"
            },
            "level": 1,
            "associated_entity": "release",
            "release": {
                "id": "152000015307587"
            },
            "id": "152000015311082",
            "created_by": {
                "id": "152000000006619"
            },
            "status": {
                "id": "152000000008475"
            }
        },
        "id": "152000015311086",
        "sent_on": {
            "display_value": "Dec 29, 2021 03:47 PM",
            "value": "1640773062574"
        },
        "status": {
            "name": "Approved",
            "id": "152000000008475"
        },
        "action_taken_on": {
            "display_value": "Dec 30, 2021 05:39 PM",
            "value": "1640866172122"
        }
    }
}

Get List Release Approval

This operation helps to get a List of Release Approvals

Url

<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals

Attributes

id (long)
Denotes the unique ID of the approval

id (long)
Numerical digits which are considered to have larger values.

Example

234759602834500

comments (string)
Comments given on the approval by the approver [Max-length : 250]

comments (string)
A text in a plain format. No rich text or new line characters allowed.

Example

Sample Content

approver (user)
Approver of the approval request

approver (user)
Approver of the approval request

Example

{
  "approver": {
    "email_id": "test@test.com",
    "name": "test_user",
    "id": "100000000000042013"
  }
}

original_approver (user)
The back approver, to whom the approval has been sent when the approver is on leave/not available

original_approver (user)
The back approver, to whom the approval has been sent when the approver is on leave/not available

Example

{
  "original_approver": {
    "email_id": "test@test.com",
    "name": "test_original_aprover",
    "id": "100000000000042013"
  }
}

xpath (JSONObject)
Organisational Roles configured for the approval
show attribute

xpath (JSONObject)
Organisational Roles configured for the approval

path (string)
The path of the organisational role to be configured for the approval

path (string)
A text in a plain format. No rich text or new line characters allowed.

Example

Sample Content

display_name (string)read only
The display name of the organisational role.
For Example: CEO, CFO.

display_name (string)
A text in a plain format. No rich text or new line characters allowed.

Example

Sample Content

approval_level (approval_level)read only
Approval level to which the approval is associated

approval_level (approval_level)
Approval level to which the approval is associated

Example

{
  "approval_level": {
    "id": "234567890123777"
  }
}

More Attributes Expand all

status (approval_status)read only

Status of the Approval

status (approval_status)
Status of the Approval

Example

{
  "status": {
    "name": "Approved",
    "id": "11127890123456"
  }
}

sent_on (datetime)read only

Date at which the approval is being sent

sent_on (datetime)
Represents a date/time as a JSON Object. Would contain the value and the display_value attributes.

value : The time in long format (No. of milliseconds from Jan 1, 1970 ).

display_value : The time in a readable form in a format as personalized by the user. If not personalized, default format would be used.

action_taken_on (datetime)read only

Date at which the action on the approval is taken

action_taken_on (datetime)
Represents a date/time as a JSON Object. Would contain the value and the display_value attributes.

value : The time in long format (No. of milliseconds from Jan 1, 1970 ).

display_value : The time in a readable form in a format as personalized by the user. If not personalized, default format would be used.

$ curl -G <service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals\
      -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/releases/{release_id}/approval_levels/{approval_level_id}/approvals";
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/releases/{release_id}/approval_levels/{approval_level_id}/approvals"
$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/releases/{release_id}/approval_levels/{approval_level_id}/approvals"
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"
    }],
    "approvals": [{
        "approver": {
            "email_id": "test@test.com",
            "is_technician": true,
            "sms_mail": null,
            "mobile": null,
            "last_name": null,
            "user_scope": "0",
            "phone": null,
            "name": "test",
            "id": "152000002792465",
            "photo_url": "https://contacts.zoho.com/file?sample",
            "is_vip_user": false,
            "department": null,
            "first_name": "Test",
            "job_title": null
        },
        "xpath": {
            "path": null
        },
        "comments": null,
        "original_approver": null,
        "approval_level": {
            "created_time": {
                "display_value": "Dec 22, 2021 04:34 PM",
                "value": "1640171056274"
            },
            "request": null,
            "level": 1,
            "purchase_order": null,
            "release": {
                "id": "152000014951317"
            },
            "change": null,
            "id": "152000015270025",
            "created_by": {
                "id": "152000000006619"
            },
            "status": {
                "id": "152000000008475"
            }
        },
        "id": "152000015270029",
        "sent_on": {
            "display_value": "Dec 22, 2021 04:34 PM",
            "value": "1640171062056"
        },
        "status": {
            "name": "Approved",
            "id": "152000000008475"
        },
        "action_taken_on": {
            "display_value": "Dec 22, 2021 05:07 PM",
            "value": "1640173067025"
        }
    }, {
        "approver": {
            "email_id": "trial@test.com",
            "is_technician": true,
            "sms_mail": null,
            "mobile": null,
            "last_name": null,
            "user_scope": "0",
            "phone": null,
            "name": "Trial",
            "id": "152000005092853",
            "photo_url": "https://contacts.zoho.com/file?sample",
            "is_vip_user": false,
            "department": null,
            "first_name": "Trial",
            "job_title": null
        },
        "xpath": {
            "path": null
        },
        "comments": "Approve",
        "original_approver": null,
        "approval_level": {
            "created_time": {
                "display_value": "Dec 22, 2021 04:34 PM",
                "value": "1640171056274"
            },
            "request": null,
            "level": 1,
            "purchase_order": null,
            "release": {
                "id": "152000014951317"
            },
            "change": null,
            "id": "152000015270025",
            "created_by": {
                "id": "152000000006619"
            },
            "status": {
                "id": "152000000008475"
            }
        },
        "id": "152000015270047",
        "sent_on": {
            "display_value": "Dec 22, 2021 04:34 PM",
            "value": "1640171067537"
        },
        "status": {
            "name": "Approved",
            "id": "152000000008475"
        },
        "action_taken_on": {
            "display_value": "Dec 22, 2021 05:05 PM",
            "value": "1640172934471"
        }
    }, {
        "approver": {
            "email_id": "demo@test.com",
            "is_technician": true,
            "sms_mail": null,
            "mobile": null,
            "last_name": null,
            "user_scope": "0",
            "phone": null,
            "name": "test",
            "id": "152000002247399",
            "photo_url": "https://contacts.zoho.com/file?sample",
            "is_vip_user": false,
            "department": null,
            "first_name": "Demo",
            "job_title": null
        },
        "xpath": {
            "path": null
        },
        "comments": "Approved",
        "original_approver": null,
        "approval_level": {
            "created_time": {
                "display_value": "Dec 22, 2021 04:34 PM",
                "value": "1640171056274"
            },
            "request": null,
            "level": 1,
            "purchase_order": null,
            "release": {
                "id": "152000014951317"
            },
            "change": null,
            "id": "152000015270025",
            "created_by": {
                "id": "152000000006619"
            },
            "status": {
                "id": "152000000008475"
            }
        },
        "id": "152000015270065",
        "sent_on": {
            "display_value": "Dec 22, 2021 04:34 PM",
            "value": "1640171072148"
        },
        "status": {
            "name": "Approved",
            "id": "152000000008475"
        },
        "action_taken_on": {
            "display_value": "Dec 22, 2021 05:13 PM",
            "value": "1640173406885"
        }
    }],
    "list_info": {
        "has_more_rows": false,
        "row_count": 3
    }
}

Approve Release Approval

This operation helps to Approve a Release Approval

Url

<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_approve

$ curl <service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_approve\
      -X PUT\ 
      -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": {
        "comments": "The comments to approve the approval"
    }
}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_approve";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
           "Content-Type": "application/x-www-form-urlencoded",
           "Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
input_data = {
    "approval": {
        "comments": "The comments to approve the approval"
    }
};
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/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_approve"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
    "Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
    "Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'
{
    "approval": {
        "comments": "The comments to approve the approval"
    }
}
'@
$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/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_approve"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json", 
          "Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx", 
          "Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
    "approval": {
        "comments": "The comments to approve the approval"
    }
}'''
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,
        "messages": [{
            "status_code": 2000,
            "type": "success",
            "message": "Your decision has been recorded. Thank you for your cooperation!"
        }],
        "status": "success"
    }
}

Get Notification Content For Release Approval

This operation helps you Get notification content for sending release approval.

Url

<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification

$ curl -G <service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification\
      -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/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification";
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/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification"
$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/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification"
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())
{
    "notification": {
        "subject": "Recommendation required for a Release",
        "description": "${submitter} has requested your recommendations for this Release - ${title}. Click here to view Release details ${approval_link}"
    },
    "response_status": {
        "status_code": 2000,
        "status": "success"
    }
}

Send Notification For Release Approval

This operation helps you Send notification for release approval.

Url

<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification

$ curl <service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification\
      -X PUT\ 
      -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='{}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification";
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: PUT
    parameters: params
    headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification"
$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 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/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json", 
          "Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx", 
          "Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{}'''
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,
        "messages": [{
            "status_code": 2000,
            "type": "success",
            "message": "Approval Mail Sent "
        }],
        "status": "success"
    }
}

Reject Release Approval

This operation helps to Reject a Release Approval

Url

<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_reject

$ curl <service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_reject\
      -X PUT\ 
      -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": {
        "comments": "The comments to reject the approval"
    }
}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_reject";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
           "Content-Type": "application/x-www-form-urlencoded",
           "Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
input_data = {
    "approval": {
        "comments": "The comments to reject the approval"
    }
};
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/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_reject"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
    "Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
    "Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'
{
    "approval": {
        "comments": "The comments to reject the approval"
    }
}
'@
$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/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_reject"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json", 
          "Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx", 
          "Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
    "approval": {
        "comments": "The comments to reject the approval"
    }
}'''
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,
        "messages": [{
            "status_code": 2000,
            "type": "success",
            "message": "Your decision has been recorded. Thank you for your cooperation!"
        }],
        "status": "success"
    }
}