REST API — Notification Channels

Manage Drumbeats notification channels via the REST API — the delivery endpoints (Slack, email, webhook) that notification groups fan out to.

The Drumbeats Notification Channels API lists, retrieves, creates, updates, and deletes the channels configured for a project. A notification channel is one delivery endpoint — a single Slack webhook, a single email address, a single PagerDuty service. Channels are grouped into notification groups, and groups are what monitors are wired to.

Every endpoint requires an X-API-Key header — see the REST API overview. Reads work from any key. Channel writes — create, update, delete — are reachable only by an account-scoped key with the right permission scope; a project-scoped key is read-only here.

List channel types

http
GET /v1/notification-channels/types
GET /v1/notification-channels/types

Returns the channel types supported on the current plan — Email, Slack, Discord, Telegram, Webhook, PagerDuty, and so on. Use this to render type pickers in dashboard scripts.

bash
curl https://api.drumbeats.io/v1/notification-channels/types \
  -H "X-API-Key: dk_live_<key>"
curl https://api.drumbeats.io/v1/notification-channels/types \
  -H "X-API-Key: dk_live_<key>"

List channels

http
GET /v1/notification-channels
GET /v1/notification-channels

Returns every channel configured in the project associated with the API key.

bash
curl https://api.drumbeats.io/v1/notification-channels \
  -H "X-API-Key: dk_live_<key>"
curl https://api.drumbeats.io/v1/notification-channels \
  -H "X-API-Key: dk_live_<key>"

The response includes per-channel metadata: type, name, last-delivery timestamp, last-error string (if delivery has failed recently), and the project owner. Sensitive fields — webhook secrets, Slack tokens — are never returned.

Get one channel

http
GET /v1/notification-channels/<channel-id>
GET /v1/notification-channels/<channel-id>

Returns a single channel by UUID.

bash
curl https://api.drumbeats.io/v1/notification-channels/<channel-id> \
  -H "X-API-Key: dk_live_<key>"
curl https://api.drumbeats.io/v1/notification-channels/<channel-id> \
  -H "X-API-Key: dk_live_<key>"

Create a channel

http
POST /v1/notification-channels
POST /v1/notification-channels

Requires an account-scoped key with the manage_notifications scope. The channel is created in the project you target.

The config shape depends on the channel type — see Notifications: channels for the per-type fields. Secrets you send are stored encrypted and never returned on reads.

Update a channel

Requires the manage_notifications scope. Send only the fields you want to change.

Delete a channel

Hard-gated: requires the destroy scope, an account-scoped key, and the OWNER role on the channel's project. Deleting a channel removes it from every group that fans out to it.