Escalation Policies API
Escalation policies define how alerts are escalated when not acknowledged within a specified time.
List Policies
GET /api/v1/escalation_policies
Query Parameters
| Parameter | Type | Description |
|---|
enabled | boolean | Filter by enabled status |
Response
{
"data": [
{
"id": "esc_1234567890",
"name": "Critical Alerts Policy",
"enabled": true,
"steps_count": 3,
"repeat": true,
"repeat_after_minutes": 30,
"created_at": "2024-01-01T00:00:00Z"
}
]
}
Get Policy
GET /api/v1/escalation_policies/:id
Response
{
"data": {
"id": "esc_1234567890",
"name": "Critical Alerts Policy",
"description": "Escalate critical alerts to engineering leadership",
"enabled": true,
"steps": [
{
"channel_id": "chan_001",
"channel_name": "On-Call Slack",
"delay_minutes": 0
},
{
"channel_id": "chan_002",
"channel_name": "Engineering PagerDuty",
"delay_minutes": 5
},
{
"channel_id": "chan_003",
"channel_name": "Leadership Email",
"delay_minutes": 15
}
],
"repeat": true,
"repeat_after_minutes": 30,
"max_repeats": 3,
"created_at": "2024-01-01T00:00:00Z"
}
}
Create Policy
POST /api/v1/escalation_policies
Request
{
"name": "Critical Alerts Policy",
"description": "Escalate critical alerts to engineering leadership",
"enabled": true,
"steps": [
{
"channel_id": "chan_001",
"delay_minutes": 0
},
{
"channel_id": "chan_002",
"delay_minutes": 5
},
{
"channel_id": "chan_003",
"delay_minutes": 15
}
],
"repeat": true,
"repeat_after_minutes": 30,
"max_repeats": 3
}
Response
{
"data": {
"id": "esc_1234567890",
"name": "Critical Alerts Policy",
"enabled": true
}
}
Update Policy
PATCH /api/v1/escalation_policies/:id
Request
{
"name": "Updated Policy Name",
"steps": [
{
"channel_id": "chan_001",
"delay_minutes": 0
},
{
"channel_id": "chan_002",
"delay_minutes": 10
}
]
}
Delete Policy
DELETE /api/v1/escalation_policies/:id
Deleting an escalation policy will remove it from all alert rules that use it.
How Escalation Works
Step 1: Immediate Notification
When an alert fires, the first step (delay_minutes: 0) is notified immediately.
Step 2: Escalation Timer
If the alert is not acknowledged, subsequent steps are notified after their delay.
Step 3: Repeat (Optional)
If repeat is enabled, the entire escalation cycle repeats after repeat_after_minutes.
Best Practices
Start with On-Call
First step should notify the on-call engineer or team channel.
Gradual Escalation
Increase severity of notification channels in later steps.
Reasonable Delays
Give responders 5-15 minutes before escalating.
Limit Repeats
Set max_repeats to avoid notification fatigue.