Skip to main content

Channels

List a server's channels, see a channel's details and read its recent messages, with an admin session.

Discord channel listing, message history, and message sending - project API key

List all channels in a server (admin session)

GET/api/admin/servers/{serverId}/channels

Returns all channels the bot can access in the server, with categories.

Authentication: Admin session token (Authorization: Bearer <token>)

Parameters

NameInTypeRequiredDescription
serverIdpathstringyesDiscord server ID
typequery"all" or "text" or "voice" or "announcement" or "category"noFilter by channel type
categoryIdquerystringnoFilter by parent category ID

Responses

StatusDescriptionBody
200List of channels and categories.ChannelListResponseDto
400Invalid query parameters.
401Authentication required.
403System Admin access required.
404Server not found or bot not connected.

Open in Swagger (opens in a new tab)

Get channel details (admin session)

GET/api/admin/servers/{serverId}/channels/{channelId}

Returns detailed information about a specific channel, including its permission overwrites.

Authentication: Admin session token (Authorization: Bearer <token>)

Parameters

NameInTypeRequiredDescription
serverIdpathstringyesDiscord server ID
channelIdpathstringyesDiscord channel ID

Responses

StatusDescriptionBody
200Channel details.ChannelDetailResponseDto
400Invalid channel ID format.
401Authentication required.
403System Admin access required.
404Channel does not exist or bot lacks access.

Open in Swagger (opens in a new tab)

Get recent messages from a channel (admin session)

GET/api/admin/servers/{serverId}/channels/{channelId}/messages

Retrieves message history from a text channel. Read-only; supports pagination and author filtering.

Authentication: Admin session token (Authorization: Bearer <token>)

Parameters

NameInTypeRequiredDescription
serverIdpathstringyesDiscord server ID
channelIdpathstringyesDiscord channel ID
limitquerynumbernoMax number of messages (1-100) Default: 50.
beforequerystringnoGet messages before this Discord snowflake ID
afterquerystringnoGet messages after this Discord snowflake ID
authorIdquerystringnoFilter by author Discord ID

Responses

StatusDescriptionBody
200List of messages.GetMessagesResponseDto
400Invalid query parameters.
401Authentication required.
403System Admin access required.
404Channel does not exist or bot lacks access.
429Rate limit exceeded. 30 requests per minute.

Open in Swagger (opens in a new tab)

Schemas

ChannelCategoryDto schema

FieldTypeRequiredDescription
childrenarray of stringyesChild channel IDs
idstringyesCategory ID
namestringyesCategory name
positionnumberyesPosition

ChannelDetailResponseDto schema

FieldTypeRequiredDescription
createdAtstringyesISO 8601 creation timestamp
idstringyesDiscord channel ID
lastMessageIdstring or nullyesLast message ID
namestringyesChannel name
nsfwbooleanyesWhether the channel is NSFW
overwritesarray of ChannelPermissionOverwriteDtoyesPer-target permission overwrites configured on the channel
parentIdstring or nullyesParent category ID
permissionOverwritesbooleanyesWhether the channel has any permission overwrites
positionnumberyesPosition
topicstring or nullyesChannel topic
typestringyesChannel type

ChannelListResponseDto schema

FieldTypeRequiredDescription
categoriesarray of ChannelCategoryDtoyes
channelsarray of ChannelResponseDtoyes

ChannelPermissionOverwriteDto schema

FieldTypeRequiredDescription
allowstringyesAllowed permission bits (Discord bitfield as a string)
denystringyesDenied permission bits (Discord bitfield as a string)
idstringyesRole or member ID the overwrite targets
type"role" or "member"yesWhether the overwrite targets a role or a member

ChannelResponseDto schema

FieldTypeRequiredDescription
createdAtstringnoISO 8601 creation timestamp
idstringyesDiscord channel ID
lastMessageIdstring or nullnoLast message ID
namestringyesChannel name
nsfwbooleanyesWhether the channel is NSFW
parentIdstring or nullyesParent category ID
permissionOverwritesbooleanyesWhether the channel has permission overwrites
positionnumberyesPosition in the channel list
topicstring or nullyesChannel topic
type"text" or "voice" or "announcement" or "category"yesChannel type

GetMessagesResponseDto schema

FieldTypeRequiredDescription
hasMorebooleanyesWhether there are more messages available
messagesarray of MessageDtoyes

MentionDto schema

FieldTypeRequiredDescription
idstringyesMentioned user/role ID
namestring or nullnoMentioned user name

MessageAttachmentDto schema

FieldTypeRequiredDescription
filenamestringyesFile name
idstringyesAttachment ID
sizenumberyesFile size in bytes
urlstringyesAttachment URL

MessageAuthorDto schema

FieldTypeRequiredDescription
avatarstring or nullnoAvatar hash or URL
idstringyesDiscord user ID
usernamestringyesDiscord username

MessageDto schema

FieldTypeRequiredDescription
attachmentsarray of MessageAttachmentDtoyes
authorMessageAuthorDtoyes
contentstringyesMessage content
embedsarray of MessageEmbedDtoyes
idstringyesDiscord message ID
mentionsarray of MentionDtoyes
timestampstringyesISO 8601 timestamp

MessageEmbedDto schema

FieldTypeRequiredDescription
colornumber or nullnoColor in decimal
descriptionstring or nullnoEmbed description
titlestring or nullnoEmbed title
typestring or nullnoEmbed type
urlstring or nullnoEmbed URL

Source: apps/api/openapi.json.