Skip to main content

Channel Types

Channels are communication spaces within a community. There are three types:
TEXT
0
Text channels for sending messages
VOICE
1
Voice channels for audio communication
CATEGORY
2
Category channels for organizing other channels

Channel Structure

The Channel type represents a channel within a community:
id
fixed64
Snowflake ID of the channel
community_id
fixed64
Snowflake ID of the community this channel belongs to
name
string
The name of the channel
type
ChannelType
The type of channel (TEXT, VOICE, or CATEGORY)
position
uint32
The position/order of the channel in the channel list
parent_id
fixed64
Snowflake ID of the parent category channel. Only set if this channel is nested under a category.

Get Channels

Retrieve all channels in a community. Method: communities.getChannels Request: GetChannels
community_id
fixed64
Snowflake ID of the community
Response: Channels
conversations
Conversation[]
Conversation metadata for each channel (last read message, unread count, etc.)
channels
Channel[]
List of all channels in the community
messages
Message[]
Last message for each channel (used for display purposes)

Create Channel

Create a new channel in a community. Method: communities.createChannel Request: CreateChannel
community_id
fixed64
Snowflake ID of the community where the channel will be created
name
string
The name for the new channel
type
ChannelType
The type of channel to create (TEXT, VOICE, or CATEGORY)
parent_id
fixed64
Snowflake ID of the parent category. If provided, this channel will be nested under that category.
Example:
CreateChannel {
  community_id: 123456789
  name: "general"
  type: TEXT
}

Edit Channel

Modify an existing channel’s properties. Method: communities.editChannel Request: EditChannel
channel
ChannelRef
Reference to the channel to edit (contains community_id and channel_id)
name
string
New name for the channel
position
uint32
New position/order for the channel
parent_id
fixed64
New parent category ID. Can be set to move the channel to a different category or remove it from a category.
Example:
EditChannel {
  channel: { community_id: 123456789, channel_id: 987654321 }
  name: "renamed-channel"
  position: 5
}

Delete Channel

Permanently delete a channel from a community. Method: communities.deleteChannel Request: DeleteChannel
channel
ChannelRef
Reference to the channel to delete (contains community_id and channel_id)
Example:
DeleteChannel {
  channel: { community_id: 123456789, channel_id: 987654321 }
}

Permission Overrides

Channels can have role-specific permission overrides that allow or deny specific permissions for certain roles. See Roles & Permissions for details on managing channel-level permission overrides.

Build docs developers (and LLMs) love