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