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

bash
curl -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

name string required

Channel display name.

type string required

Channel type: slack, discord, webhook, email, telegram.

config object required

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"

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

bash
curl -X DELETE -H "Authorization: Bearer hu_..." \ "https://happyuptime.com/api/v1/alerts/channels/ch_003"
json
{ "data": { "id": "ch_003", "deleted": true } }
Ask a question... ⌘I