Skip to main content

Notification Channels

Configure where alerts and escalations are delivered: email, Slack, Microsoft Teams, webhooks, and push notifications.

Notification channels

List channels

GET /notification-channels

Auth: Bearer JWT (any role)

Create a channel

POST /notification-channels

Auth: Bearer JWT (admin, operator)

Email example:

{
"name": "Maintenance Team Email",
"type": "email",
"config": {
"email": "maintenance@yourcompany.com"
},
"is_active": true
}

Slack webhook example:

{
"name": "Alerts Slack Channel",
"type": "slack",
"config": {
"webhook_url": "https://hooks.slack.com/services/T.../B.../..."
},
"is_active": true
}

Generic webhook:

{
"name": "Custom Integration",
"type": "webhook",
"config": {
"url": "https://your-server.com/webhook",
"headers": {"X-Custom-Header": "value"}
},
"is_active": true
}

Update / Delete a channel

PUT /notification-channels/{id} | DELETE /notification-channels/{id}

Test a channel

POST /notification-channels/{id}/test

Sends a test notification to verify the channel is working.

{"success": true}

Escalation policies

Configure automatic alert escalation when alerts are not acknowledged within a time window.

List policies

GET /escalation-policies

Create a policy

POST /escalation-policies

Auth: Bearer JWT (admin)

{
"name": "Critical alert , 15min escalation",
"severity": "critical",
"wait_minutes": 15,
"channel_id": "CHANNEL_UUID",
"is_active": true
}

Constraints:

  • wait_minutes: 1 to 1,440 (24 hours)
  • Max 50 policies per tenant

Update / Delete

PUT /escalation-policies/{id} | DELETE /escalation-policies/{id}

Push notifications (PWA)

Get VAPID public key

GET /push/vapid-public-key

Subscribe to push

POST /push/subscribe

{
"endpoint": "https://fcm.googleapis.com/fcm/send/...",
"keys": {
"p256dh": "...",
"auth": "..."
}
}

Unsubscribe

DELETE /push/subscribe