---
title: "Create a channel"
method: POST
path: "/v1/risk/channels"
tags: ["Channels"]
---

# Create a channel

`POST /v1/risk/channels`

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.

## Request body

- CreateAlertChannelDto
  - `name` string, required — Display name for the channel.
  - `type` 'slack' | 'telegram' | 'discord' | 'webhook' | 'pagerduty' | 'email' | 'incidentio', required — Channel delivery type.
  - `params` object — 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.

## Response `200`

- AlertChannelDto
  - `id` string, required
  - `workspace_id` string, required
  - `name` string, required
  - `type` 'slack' | 'telegram' | 'discord' | 'webhook' | 'pagerduty' | 'email' | 'incidentio', required
  - `enabled` boolean, required
  - `connected` boolean, required — Whether the channel is ready to receive deliveries. Always true except for a telegram channel that has not yet linked a chat.
  - `created_at` string, required
  - `params` object — Type-specific channel parameters.
  - `deleted_at` string, nullable — Soft-delete timestamp. Null while the channel is active.
  - `updated_at` string, required

---

[API](https://skmtc.net/range/apis/range-platform-api.md) · [All operations](https://skmtc.net/range/apis/range-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/range/range-platform-api/revisions/9926df2e476d/schema)
