APIEscalation

Notification Channels API

Notification channels define where alert notifications are delivered. Channels are reusable across multiple escalation policies and escalation levels. Quper supports Slack, email, PagerDuty, and generic webhook channels.

Endpoints

MethodPathDescription
GET/notification-channelsList all configured notification channels
POST/notification-channelsCreate a new notification channel
PUT/notification-channels/{id}Update an existing channel's configuration
DELETE/notification-channels/{id}Delete a channel (fails if referenced by an escalation policy)
POST/notification-channels/{id}/testSend a test notification to verify the channel configuration

Channel Types

TypeRequired Config FieldsDescription
slackwebhook_url, channel_namePosts alert messages to a Slack channel via incoming webhook
emailrecipients, subject_templateSends alert email to one or more recipients. recipients is an array of email addresses.
pagerdutyintegration_key, severity_mappingCreates PagerDuty incidents via Events API v2. severity_mapping maps Quper severity levels to PagerDuty severities.
webhookurl, headers, methodPosts alert payload to any HTTP endpoint. headers is a key-value dict for custom auth headers. method is POST or PUT.

Channel Object Examples

Slack Channel
{
  "id": "ch_slack_ops",
  "name": "Ops Slack Channel",
  "type": "slack",
  "config": {
    "webhook_url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXX",
    "channel_name": "#ops-alerts"
  }
}
PagerDuty Channel
{
  "id": "ch_pagerduty_critical",
  "name": "PagerDuty Critical",
  "type": "pagerduty",
  "config": {
    "integration_key": "r3c1e1v3m3",
    "severity_mapping": {
      "critical": "critical",
      "warning": "warning",
      "info": "info"
    }
  }
}

Testing Channels

Use the POST /notification-channels/{id}/test endpoint before assigning a channel to an escalation policy. The test sends a sample alert payload and returns success or error details from the downstream service.