跳转到内容

变更审批级别

Change模块的多级审批流程要求变更请求必须由多个审批级别的审批者批准。应用管理员配置为一级审批者的审批者将首先审核变更请求。在他们提供签字并给予批准后,二级审批者会被通知并必须审核变更请求。如果任何审批者拒绝该变更请求,审批流程即告终止。

属性

id (长整型)
审批级别的主键ID

id (长整型)
被视为较大数值的数字。

示例

234759602834500

level (整型)
审批级别的级别编号

level (整型)
被视为较小数字的数字。

示例

39

change_stage (变更阶段)
与审批相关联的变更阶段信息。仅当审批与变更相关联时,才会提供变更阶段信息。

change_stage (变更阶段)

示例

{
  "change_stage": {
    "name": "test-change_stage",
    "id": "234567890123456"
  }
}

rule (审批规则)
处理审批级别时配置的选项。可用选项为:1. 任何人审批 - 任何一位审批者批准,审批即通过;如果全部拒绝,则审批被拒绝。2. 所有人审批 - 所有审批者均批准,审批即通过;如果任何人拒绝,审批即被拒绝。3. 首次响应操作 - 第一个响应审批者批准,则审批通过;如果其拒绝,审批被拒绝。4. 百分比审批 - 达到自定义阈值的审批者数量时,该级别获得批准。阈值以百分比形式输入。

rule (审批规则)

示例

{
  "rule": {
    "name": "test-rule",
    "id": "234567890123456"
  }
}

status (审批状态)read only
审批级别状态

status (审批状态)

示例

{
  "status": {
    "name": "Open",
    "id": "234567890123456"
  }
}

created_time (日期时间)read only
审批级别创建时间

created_time (日期时间)
表示为 JSON 对象的日期/时间。包含 value 和 display_value 属性。

value : 时间的长格式(自1970年1月1日起的毫秒数)。

display_value : 用户个性化格式的可读时间形式。如果未个性化,将使用默认格式。

更多属性 展开全部

created_by (用户)read only

审批级别创建者的用户详细信息

created_by (用户)

示例

{
  "created_by": {
    "email_id": "andrews@zmail.com",
    "name": "test-created_by",
    "id": "234567890123456"
  }
}

associated_entity (字符串)read only

保存此审批属于哪个实体的值 [request,purchase_order,change]

associated_entity (字符串)
纯文本格式。 不允许使用富文本或换行符。

示例

change

change (change)read only

与审批关联的变更信息。 只有当审批关联到该变更时,才会提供变更信息。

change (change)

示例

{
  "change": {
    "id": "234567890123456"
  }
}

workflow_instance (workflow_instance)read only

指示审批级别所属变更的工作流实例。 仅当工作流关联到变更时,该信息才会在响应中显示。

workflow_instance (workflow_instance)

示例

{
  "workflow_instance": {
    "name": "test-workflow_instance",
    "id": "234567890123456"
  }
}

statement (statement)read only

指示审批级别所属变更的声明(工作流实例)

statement (statement)

示例

{
  "statement": {
    "name": "test-statement",
    "id": "234567890123456"
  }
}

添加变更审批级别

此操作帮助您添加变更审批级别。

Url

<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels

属性

id (长整型)
审批级别的主键ID

id (长整型)
被视为较大数值的数字。

示例

234759602834500

level (整型)
审批级别的级别编号

level (整型)
被视为较小数字的数字。

示例

39

change_stage (变更阶段)
与审批相关联的变更阶段信息。仅当审批与变更相关联时,才会提供变更阶段信息。

change_stage (变更阶段)

示例

{
  "change_stage": {
    "name": "test-change_stage",
    "id": "234567890123456"
  }
}

rule (审批规则)
处理审批级别时配置的选项。可用选项为:1. 任何人审批 - 任何一位审批者批准,审批即通过;如果全部拒绝,则审批被拒绝。2. 所有人审批 - 所有审批者均批准,审批即通过;如果任何人拒绝,审批即被拒绝。3. 首次响应操作 - 第一个响应审批者批准,则审批通过;如果其拒绝,审批被拒绝。4. 百分比审批 - 达到自定义阈值的审批者数量时,该级别获得批准。阈值以百分比形式输入。

rule (审批规则)

示例

{
  "rule": {
    "name": "test-rule",
    "id": "234567890123456"
  }
}

status (审批状态)read only
审批级别状态

status (审批状态)

示例

{
  "status": {
    "name": "Open",
    "id": "234567890123456"
  }
}

created_time (日期时间)read only
审批级别创建时间

created_time (日期时间)
表示为 JSON 对象的日期/时间。包含 value 和 display_value 属性。

value : 时间的长格式(自1970年1月1日起的毫秒数)。

display_value : 用户个性化格式的可读时间形式。如果未个性化,将使用默认格式。

更多属性 展开全部

created_by (用户)read only

审批级别创建者的用户详细信息

created_by (用户)

示例

{
  "created_by": {
    "email_id": "andrews@zmail.com",
    "name": "test-created_by",
    "id": "234567890123456"
  }
}

associated_entity (字符串)read only

保存此审批属于哪个实体的值 [request,purchase_order,change]

associated_entity (字符串)
纯文本格式。 不允许使用富文本或换行符。

示例

change

change (change)read only

与审批关联的变更信息。 只有当审批关联到该变更时,才会提供变更信息。

change (change)

示例

{
  "change": {
    "id": "234567890123456"
  }
}

workflow_instance (workflow_instance)read only

指示审批级别所属变更的工作流实例。 仅当工作流关联到变更时,该信息才会在响应中显示。

workflow_instance (workflow_instance)

示例

{
  "workflow_instance": {
    "name": "test-workflow_instance",
    "id": "234567890123456"
  }
}

statement (statement)read only

指示审批级别所属变更的声明(工作流实例)

statement (statement)

示例

{
  "statement": {
    "name": "test-statement",
    "id": "234567890123456"
  }
}

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

获取变更审批级别

此操作帮助您获取变更审批级别。

Url

<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels/{approval_level_id}

属性

id (长整型)
审批级别的主键ID

id (长整型)
被视为较大数值的数字。

示例

234759602834500

level (整型)
审批级别的级别编号

level (整型)
被视为较小数字的数字。

示例

39

change_stage (变更阶段)
与审批相关联的变更阶段信息。仅当审批与变更相关联时,才会提供变更阶段信息。

change_stage (变更阶段)

示例

{
  "change_stage": {
    "name": "test-change_stage",
    "id": "234567890123456"
  }
}

rule (审批规则)
处理审批级别时配置的选项。可用选项为:1. 任何人审批 - 任何一位审批者批准,审批即通过;如果全部拒绝,则审批被拒绝。2. 所有人审批 - 所有审批者均批准,审批即通过;如果任何人拒绝,审批即被拒绝。3. 首次响应操作 - 第一个响应审批者批准,则审批通过;如果其拒绝,审批被拒绝。4. 百分比审批 - 达到自定义阈值的审批者数量时,该级别获得批准。阈值以百分比形式输入。

rule (审批规则)

示例

{
  "rule": {
    "name": "test-rule",
    "id": "234567890123456"
  }
}

status (审批状态)read only
审批级别状态

status (审批状态)

示例

{
  "status": {
    "name": "Open",
    "id": "234567890123456"
  }
}

created_time (日期时间)read only
审批级别创建时间

created_time (日期时间)
表示为 JSON 对象的日期/时间。包含 value 和 display_value 属性。

value : 时间的长格式(自1970年1月1日起的毫秒数)。

display_value : 用户个性化格式的可读时间形式。如果未个性化,将使用默认格式。

更多属性 展开全部

created_by (用户)read only

审批级别创建者的用户详细信息

created_by (用户)

示例

{
  "created_by": {
    "email_id": "andrews@zmail.com",
    "name": "test-created_by",
    "id": "234567890123456"
  }
}

associated_entity (字符串)read only

保存此审批属于哪个实体的值 [request,purchase_order,change]

associated_entity (字符串)
纯文本格式。 不允许使用富文本或换行符。

示例

change

change (change)read only

与审批关联的变更信息。 只有当审批关联到该变更时,才会提供变更信息。

change (change)

示例

{
  "change": {
    "id": "234567890123456"
  }
}

workflow_instance (workflow_instance)read only

指示审批级别所属变更的工作流实例。 仅当工作流关联到变更时,该信息才会在响应中显示。

workflow_instance (workflow_instance)

示例

{
  "workflow_instance": {
    "name": "test-workflow_instance",
    "id": "234567890123456"
  }
}

statement (statement)read only

指示审批级别所属变更的声明(工作流实例)

statement (statement)

示例

{
  "statement": {
    "name": "test-statement",
    "id": "234567890123456"
  }
}

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

获取变更审批级别列表

此操作帮助您获取所有变更审批级别。

Url

<service domain|custom domain>/app/<portal>/api/v3/changes/{change_id}/approval_levels

属性

id (长整型)
审批级别的主键ID

id (长整型)
被视为较大数值的数字。

示例

234759602834500

level (整型)
审批级别的级别编号

level (整型)
被视为较小数字的数字。

示例

39

change_stage (变更阶段)
与审批相关联的变更阶段信息。仅当审批与变更相关联时,才会提供变更阶段信息。

change_stage (变更阶段)

示例

{
  "change_stage": {
    "name": "test-change_stage",
    "id": "234567890123456"
  }
}

rule (审批规则)
处理审批级别时配置的选项。可用选项为:1. 任何人审批 - 任何一位审批者批准,审批即通过;如果全部拒绝,则审批被拒绝。2. 所有人审批 - 所有审批者均批准,审批即通过;如果任何人拒绝,审批即被拒绝。3. 首次响应操作 - 第一个响应审批者批准,则审批通过;如果其拒绝,审批被拒绝。4. 百分比审批 - 达到自定义阈值的审批者数量时,该级别获得批准。阈值以百分比形式输入。

rule (审批规则)

示例

{
  "rule": {
    "name": "test-rule",
    "id": "234567890123456"
  }
}

status (审批状态)read only
审批级别状态

status (审批状态)

示例

{
  "status": {
    "name": "Open",
    "id": "234567890123456"
  }
}

created_time (日期时间)read only
审批级别创建时间

created_time (日期时间)
表示为 JSON 对象的日期/时间。包含 value 和 display_value 属性。

value : 时间的长格式(自1970年1月1日起的毫秒数)。

display_value : 用户个性化格式的可读时间形式。如果未个性化,将使用默认格式。

更多属性 展开全部

created_by (用户)read only

审批级别创建者的用户详细信息

created_by (用户)

示例

{
  "created_by": {
    "email_id": "andrews@zmail.com",
    "name": "test-created_by",
    "id": "234567890123456"
  }
}

associated_entity (字符串)read only

保存此审批属于哪个实体的值 [request,purchase_order,change]

associated_entity (字符串)
纯文本格式。 不允许使用富文本或换行符。

示例

change

change (change)read only

与审批关联的变更信息。 只有当审批关联到该变更时,才会提供变更信息。

change (change)

示例

{
  "change": {
    "id": "234567890123456"
  }
}

workflow_instance (workflow_instance)read only

指示审批级别所属变更的工作流实例。 仅当工作流关联到变更时,该信息才会在响应中显示。

workflow_instance (workflow_instance)

示例

{
  "workflow_instance": {
    "name": "test-workflow_instance",
    "id": "234567890123456"
  }
}

statement (statement)read only

指示审批级别所属变更的声明(工作流实例)

statement (statement)

示例

{
  "statement": {
    "name": "test-statement",
    "id": "234567890123456"
  }
}

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

删除变更审批级别

此操作帮助您删除变更审批级别。

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