Escalation chains HTTP API

Caution

As of 2025-03-11, Grafana OnCall OSS has entered maintenance mode, and will be archived on 2026-03-24. No further feature development will occur; however, we will still provide fixes for critical bugs and for valid CVEs with a CVSS score of 7.0 or higher. For more information, refer to our blog post.

Documentationbreadcrumb arrow OnCallbreadcrumb arrow API referencebreadcrumb arrow Escalation chains HTTP API
Open source

Escalation chains HTTP API

Create an escalation chain

Required permission: grafana-oncall-app.escalation-chains:write

shell
curl "{{API_URL}}/api/v1/escalation_chains/" \
  --request POST \
  --header "Authorization: meowmeowmeow" \
  --header "Content-Type: application/json" \
  --data '{
      "name": "example-chain"
  }'

The above command returns JSON structured in the following way:

json
{
  "id": "FWDL7M6N6I9HE",
  "name": "example-chain",
  "team_id": null
}
ParameterRequiredDescription
nameyesName of the escalation chain
team_idnoID of the team

HTTP request

POST {{API_URL}}/api/v1/escalation_chains/

Get an escalation chain

Required permission: grafana-oncall-app.escalation-chains:read

shell
curl "{{API_URL}}/api/v1/escalation_chains/F5JU6KJET33FE/" \
  --request GET \
  --header "Authorization: meowmeowmeow" \
  --header "Content-Type: application/json"

The above command returns JSON structured in the following way:

json
{
  "id": "F5JU6KJET33FE",
  "name": "default",
  "team_id": null
}

HTTP request

GET {{API_URL}}/api/v1/escalation_chains/<ESCALATION_CHAIN_ID>/

List escalation chains

Required permission: grafana-oncall-app.escalation-chains:read

shell
curl "{{API_URL}}/api/v1/escalation_chains/" \
  --request GET \
  --header "Authorization: meowmeowmeow" \
  --header "Content-Type: application/json"

The above command returns JSON structured in the following way:

json
{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "F5JU6KJET33FE",
      "name": "default",
      "team_id": null
    }
  ],
  "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.

HTTP request

GET {{API_URL}}/api/v1/escalation_chains/

Delete an escalation chain

Required permission: grafana-oncall-app.escalation-chains:write

shell
curl "{{API_URL}}/api/v1/escalation_chains/F5JU6KJET33FE/" \
  --request DELETE \
  --header "Authorization: meowmeowmeow" \
  --header "Content-Type: application/json"

HTTP request

DELETE {{API_URL}}/api/v1/escalation_chains/<ESCALATION_CHAIN_ID>/