Channels API
The Channels API lists the channels an API token can reach. Use it to find the broadcast_channel_id that an admin API token sends with each channel request. The broadcast CLI uses it for broadcast channels and --channel (see Agents CLI).
Required Permissions
None. Any valid channel token or admin API token can call it. A plugin developer token is refused (403). See API Authentication.
An admin API token does not send broadcast_channel_id here: the answer is the list of channels.
List Channels
GET /api/v1/channels
curl https://your-broadcast-domain.com/api/v1/channels \ -H "Authorization: Bearer YOUR_API_TOKEN"
With an admin API token, the answer has every channel, sorted by name:
{ "token_type": "admin_cross_channel", "channels": [ { "id": 3, "name": "Newsletter", "slug": "newsletter", "active": true }, { "id": 7, "name": "Product Updates", "slug": "product-updates", "active": true } ] }
With a channel token, the answer has only the token’s channel:
{ "token_type": "channel_scoped", "channels": [ { "id": 3, "name": "Newsletter", "slug": "newsletter", "active": true } ] }
| Field | Meaning |
|---|---|
token_type |
admin_cross_channel for an admin API token, channel_scoped for a channel token |
channels[].id |
The value for broadcast_channel_id |
channels[].name |
The channel name |
channels[].slug |
The channel slug, as in the channel’s dashboard address |
channels[].active |
false for a channel that is turned off |
| Status | Meaning |
|---|---|
200 |
The list |
401 |
No token, or the token is not valid |
403 |
A plugin developer token |
The endpoint is also in the API’s own discovery: GET /api/v1/prime lists it for every token, and the MCP server has it as the tool channels_index (see MCP Server).