Escalation policies HTTP API
Create an escalation policy
Required permission: grafana-irm-app.escalation-chains:write
curl "{{API_URL}}/api/v1/escalation_policies/" \
--request POST \
--header "Authorization: meowmeowmeow" \
--header "Content-Type: application/json" \
--header "X-Grafana-URL: https://your-stack.grafana.net" \
--data '{
"escalation_chain_id": "F5JU6KJET33FE",
"type": "wait",
"duration": 60
}'The above command returns JSON structured in the following way:
{
"id": "E3GA6SJETWWJS",
"escalation_chain_id": "F5JU6KJET33FE",
"position": 0,
"type": "wait",
"duration": 60
}HTTP request
POST {{API_URL}}/api/v1/escalation_policies/
Get an escalation policy
Required permission: grafana-irm-app.escalation-chains:read
curl "{{API_URL}}/api/v1/escalation_policies/E3GA6SJETWWJS/" \
--request GET \
--header "Authorization: meowmeowmeow" \
--header "Content-Type: application/json" \
--header "X-Grafana-URL: https://your-stack.grafana.net"The above command returns JSON structured in the following way:
{
"id": "E3GA6SJETWWJS",
"escalation_chain_id": "F5JU6KJET33FE",
"position": 0,
"type": "wait",
"duration": 60
}Update an escalation policy
Required permission: grafana-irm-app.escalation-chains:write
curl "{{API_URL}}/api/v1/escalation_policies/E3GA6SJETWWJS/" \
--request PUT \
--header "Authorization: meowmeowmeow" \
--header "Content-Type: application/json" \
--header "X-Grafana-URL: https://your-stack.grafana.net" \
--data '{
"type": "wait",
"duration": 300,
}'The above command returns JSON structured in the following way:
{
"id": "E3GA6SJETWWJS",
"escalation_chain_id": "F5JU6KJET33FE",
"position": 0,
"type": "wait",
"duration": 300
}HTTP request
PUT {{API_URL}}/api/v1/on_call_shifts/<ON_CALL_SHIFT_ID>/
HTTP request
GET {{API_URL}}/api/v1/escalation_policies/<ESCALATION_POLICY_ID>/
List escalation policies
Required permission: grafana-irm-app.escalation-chains:read
curl "{{API_URL}}/api/v1/escalation_policies/" \
--request GET \
--header "Authorization: meowmeowmeow" \
--header "Content-Type: application/json" \
--header "X-Grafana-URL: https://your-stack.grafana.net"The above command returns JSON structured in the following way:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": "E3GA6SJETWWJS",
"escalation_chain_id": "F5JU6KJET33FE",
"position": 0,
"type": "wait",
"duration": 60
},
{
"id": "E5JJTU52M5YM4",
"escalation_chain_id": "F5JU6KJET33FE",
"position": 1,
"type": "notify_person_next_each_time",
"persons_to_notify_next_each_time": ["U4DNY931HHJS5"]
}
],
"current_page_number": 1,
"page_size": 50,
"total_pages": 1
}Note: The response is paginated. You may need to make multiple requests to get all records.
The following available filter parameter should be provided as a GET argument:
escalation_chain_id
HTTP request
GET {{API_URL}}/api/v1/escalation_policies/
Delete an escalation policy
Required permission: grafana-irm-app.escalation-chains:write
curl "{{API_URL}}/api/v1/escalation_policies/E3GA6SJETWWJS/" \
--request DELETE \
--header "Authorization: meowmeowmeow" \
--header "Content-Type: application/json" \
--header "X-Grafana-URL: https://your-stack.grafana.net"HTTP request
DELETE {{API_URL}}/api/v1/escalation_policies/<ESCALATION_POLICY_ID>/



