# Notification Channels

Configure alert delivery via webhooks, Telegram, and other channels.

 - [GET /channels](https://docs.vilna.io/apis/platform/api/channel/list-channels.md): List channels with filtering and pagination.
 - [POST /channels](https://docs.vilna.io/apis/platform/api/channel/create-channel.md): Create a channel. Channel schema is selected by `config.kind`.
 - [GET /channels/{channel_id}](https://docs.vilna.io/apis/platform/api/channel/get-channel.md): Get channel details by ID.
 - [DELETE /channels/{channel_id}](https://docs.vilna.io/apis/platform/api/channel/delete-channel.md): Delete a channel by ID.
 - [PATCH /channels/{channel_id}](https://docs.vilna.io/apis/platform/api/channel/patch-channel.md): Update channel metadata or configuration.
 - [POST /channels/{channel_id}/actions/test](https://docs.vilna.io/apis/platform/api/channel/test-channel.md): Sends a test event through the channel and returns the log entry ID. Check the channel logs endpoint to see whether delivery succeeded.
 - [GET /channels/{channel_id}/logs](https://docs.vilna.io/apis/platform/api/channel/list-channel-logs.md): List delivery logs for a channel with filtering and pagination.
 - [GET /channels/{channel_id}/webhook-secrets](https://docs.vilna.io/apis/platform/api/channel/get-channel-webhook-secrets.md): Returns the channel's signing secrets: always a `current` secret, plus a `previous` secret during the 24-hour rotation overlap window. Only valid for channels with `kind=webhook`; otherwise returns 40
 - [POST /channels/{channel_id}/webhook-secrets/actions/rotate](https://docs.vilna.io/apis/platform/api/channel/rotate-channel-webhook-secret.md): Issues a new signing secret, demotes the existing current to previous for a 24-hour overlap window, and returns the new plaintext value. The plaintext is returned only here; store it immediately. Duri
 - [DELETE /channels/{channel_id}/webhook-secrets/previous](https://docs.vilna.io/apis/platform/api/channel/delete-channel-previous-webhook-secret.md): Ends the rotation overlap window early. After this call, outgoing webhooks are signed only with the current secret. Idempotent: if there is no previous secret (the channel has never been rotated, or i
