v1

latestOpenAPI 3.0.02026-07-26117198177.4 KB
Channels

Create a channel

Creates a single channel for your workspace. Slack, Discord, and generic webhooks require params.webhook_url; PagerDuty requires params.routing_key; Email requires params.recipients (array of addresses); incident.io requires params.url; Telegram params are generated server-side.

post/v1/risk/channels

Request body

namestring required

Display name for the channel.

type'slack' | 'telegram' | 'discord' | 'webhook' | 'pagerduty' | 'email' | 'incidentio' required

Channel delivery type.

paramsobject

Type-specific parameters. Slack, Discord, and generic webhooks require webhook_url. PagerDuty requires routing_key. Email requires recipients (array of addresses). incident.io requires url and token. Telegram is generated server-side.

Example request

{
  "name": "My Slack Channel",
  "type": "slack",
  "params": {
    "webhook_url": "https://hooks.slack.com/services/T00/B00/xxxx"
  }
}

Response

idstring required
workspace_idstring required
namestring required
type'slack' | 'telegram' | 'discord' | 'webhook' | 'pagerduty' | 'email' | 'incidentio' required
enabledboolean required
connectedboolean required

Whether the channel is ready to receive deliveries. Always true except for a telegram channel that has not yet linked a chat.

created_atstring required
paramsobject

Type-specific channel parameters.

deleted_atstring nullable

Soft-delete timestamp. Null while the channel is active.

updated_atstring required

Example response

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "workspace_id": "workspace-123",
  "name": "My Slack Channel",
  "type": "slack",
  "enabled": true,
  "connected": true,
  "created_at": "2026-05-14T12:00:00.000Z",
  "params": {
    "webhook_url": "https://hooks.slack.com/services/T00/B00/xxxx"
  },
  "updated_at": "2026-05-14T12:00:00.000Z"
}