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
GET /v1/notification-channels/typesGET /v1/notification-channels/typesReturns 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.
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
GET /v1/notification-channelsGET /v1/notification-channelsReturns every channel configured in the project associated with the API key.
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
GET /v1/notification-channels/<channel-id>GET /v1/notification-channels/<channel-id>Returns a single channel by UUID.
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
POST /v1/notification-channelsPOST /v1/notification-channelsRequires 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.
Related guides
- Notifications: channels — how to create channels in the dashboard, per-type setup, and troubleshooting.
- REST API — Notification Groups — group channels and inspect group membership.
- Notifications: alert logic — how groups deliver to their channels under cooldown rules.