Alert channels
Manage Slack, Discord, webhook, email, and Telegram destinations for alerts.
Alert channels
Alert channels are destinations — Slack workspaces, Discord servers, webhooks, email addresses, or Telegram chats — that Happy Uptime sends alerts to. Channels are combined with alert rules to determine what events trigger which notifications.
Auth: Bearer token
List channels
GET /alerts/channels
bashcurl -H "Authorization: Bearer hu_..." \ "https://happyuptime.com/api/v1/alerts/channels"
json{ "data": [ { "id": "ch_001", "project_id": "proj_xyz", "name": "Engineering Slack", "type": "slack", "config": { "webhook_url": "https://hooks.slack.com/services/..." }, "is_default": true, "created_at": "2026-03-01T10:00:00Z" }, { "id": "ch_002", "project_id": "proj_xyz", "name": "PagerDuty", "type": "webhook", "config": { "url": "https://events.pagerduty.com/integration/...", "method": "POST" }, "is_default": false, "created_at": "2026-03-02T08:00:00Z" } ] }
Create a channel
POST /alerts/channels
Scope: write
Body parameters
Channel display name.
Channel type: slack, discord, webhook, email, telegram.
Channel-specific config. See examples below for each type.
Examples
curl -X POST -H "Authorization: Bearer hu_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Ops Slack",
"type": "slack",
"config": { "webhook_url": "https://hooks.slack.com/services/T.../B.../xxx" }
}' \
"https://happyuptime.com/api/v1/alerts/channels"curl -X POST -H "Authorization: Bearer hu_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Alerts Discord",
"type": "discord",
"config": { "webhook_url": "https://discord.com/api/webhooks/..." }
}' \
"https://happyuptime.com/api/v1/alerts/channels"curl -X POST -H "Authorization: Bearer hu_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Custom Webhook",
"type": "webhook",
"config": {
"url": "https://your-server.com/webhook",
"method": "POST",
"headers": { "X-Secret": "your-secret" }
}
}' \
"https://happyuptime.com/api/v1/alerts/channels"Response
json{ "data": { "id": "ch_003", "project_id": "proj_xyz", "name": "Ops Slack", "type": "slack", "config": { "webhook_url": "https://hooks.slack.com/services/T.../B.../xxx" }, "is_default": false, "created_at": "2026-03-07T16:00:00Z" } }
Delete a channel
DELETE /alerts/channels/:id
Scope: write
bashcurl -X DELETE -H "Authorization: Bearer hu_..." \ "https://happyuptime.com/api/v1/alerts/channels/ch_003"
json{ "data": { "id": "ch_003", "deleted": true } }