Autocomplete channels
Autocomplete public channels on a team based on the search term provided in the request URL. Minimum server version: 4.7 ##### Permissions Must have the `list_team_channels` permission.
Autocomplete channels for search
Autocomplete your channels on a team based on the search term provided in the request URL. Minimum server version: 5.4 ##### Permissions Must have the `list_team_channels` permission.
Channel members minus group members.
Get the set of users who are members of the channel minus the set of users who are members of the given groups. Each user object contains an array of group objects representing the group memberships for that user. Each user object contains the boolean fields `scheme_guest`, `scheme_user`, and `scheme_admin` representing the roles that user has for the given channel. ##### Permissions Must have `manage_system` permission. Minimum server version: 5.14
Create a channel
Create a new channel. ##### Permissions If creating a public channel, `create_public_channel` permission is required. If creating a private channel, `create_private_channel` permission is required.
Create a direct message channel
Create a new direct message channel between two users. ##### Permissions Must be one of the two users and have `create_direct_channel` permission. Having the `manage_system` permission voids the previous requirements.
Create a group message channel
Create a new group message channel to group of users. If the logged in user's id is not included in the list, it will be appended to the end. ##### Permissions Must have `create_group_channel` permission.
Create user's sidebar category
Create a custom sidebar category for the user on the given team. Minimum server version: 5.26 ##### Permissions Must be authenticated and have the `list_team_channels` permission.
Delete a channel
Soft deletes a channel, by marking the channel as deleted in the database. Soft deleted channels will not be accessible in the user interface. Direct and group message channels cannot be deleted. As of server version 5.28, optionally use the `permanent=true` query parameter to permanently delete the channel for compliance reasons. To use this feature `ServiceSettings.EnableAPIChannelDeletion` must be set to `true` in the server's configuration. ##### Permissions `delete_public_channel` permission if the channel is public, `delete_private_channel` permission if the channel is private, or have `manage_system` permission.
Get a channel by name and team name
Gets a channel from the provided team name and channel name strings. ##### Permissions `read_channel` permission for the channel.
Channel members counts for each group that has atleast one member in the channel
Returns a set of ChannelMemberCountByGroup objects which contain a `group_id`, `channel_member_count` and a `channel_member_timezones_count`. ##### Permissions Must have `read_channel` permission for the given channel. Minimum server version: 5.24
Get channel memberships and roles for a user
Get all channel memberships and associated membership roles (i.e. `channel_user`, `channel_admin`) for a user on a specific team. ##### Permissions Logged in as the user and `view_team` permission for the team. Having `manage_system` permission voids the previous requirements.
Get timezones in a channel
Get a list of timezones for the users who are in this channel. Minimum server version: 5.6 ##### Permissions Must have the `read_channel` permission.
Get channels for user
Get all the channels on a team for a user. ##### Permissions Logged in as the user, or have `edit_other_users` permission, and `view_team` permission for the team.
Get all channels from all teams
Get all channels from all teams that a user is a member of. Minimum server version: 6.1 ##### Permissions Logged in as the user, or have `edit_other_users` permission.
Get unread messages
Get the total unread messages and mentions for a channel for a user. ##### Permissions Must be logged in as user and have the `read_channel` permission, or have `edit_other_usrs` permission.
Get deleted channels
Get a page of deleted channels on a team based on query string parameters - team_id, page and per_page. Minimum server version: 3.10
Get private channels
Get a page of private channels on a team based on query string parameters - team_id, page and per_page. Minimum server version: 5.26 ##### Permissions Must have `manage_system` permission.
Get public channels
Get a page of public channels on a team based on query string parameters - page and per_page. ##### Permissions Must be authenticated and have the `list_team_channels` permission.
Get user's sidebar categories
Get a list of sidebar categories that will appear in the user's sidebar on the given team, including a list of channel IDs in each category. Minimum server version: 5.26 ##### Permissions Must be authenticated and have the `list_team_channels` permission.
Get sidebar category
Returns a single sidebar category for the user on the given team. Minimum server version: 5.26 ##### Permissions Must be authenticated and have the `list_team_channels` permission.
Get user's sidebar category order
Returns the order of the sidebar categories for a user on the given team as an array of IDs. Minimum server version: 5.26 ##### Permissions Must be authenticated and have the `list_team_channels` permission.
Patch a channel
Partially update a channel by providing only the fields you want to update. Omitted fields will not be updated. The fields that can be updated are defined in the request body, all other provided fields will be ignored. ##### Permissions If updating a public channel, `manage_public_channel_members` permission is required. If updating a private channel, `manage_private_channel_members` permission is required.
Delete sidebar category
Deletes a single sidebar category for the user on the given team. Only custom categories can be deleted. Minimum server version: 5.26 ##### Permissions Must be authenticated and have the `list_team_channels` permission.
Remove user from channel
Delete a channel member, effectively removing them from a channel. In server version 5.3 and later, channel members can only be deleted from public or private channels. ##### Permissions `manage_public_channel_members` permission if the channel is public. `manage_private_channel_members` permission if the channel is private.
Restore a channel
Restore channel from the provided channel id string. Minimum server version: 3.10 ##### Permissions `manage_team` permission for the team of the channel.
Search all private and open type channels across all teams
Returns all private and open type channels where 'term' matches on the name, display name, or purpose of the channel. Configured 'default' channels (ex Town Square and Off-Topic) can be excluded from the results with the `exclude_default_channels` boolean parameter. Channels that are associated (via GroupChannel records) to a given group can be excluded from the results with the `not_associated_to_group` parameter and a group id string.
Search archived channels
Search archived channels on a team based on the search term provided in the request body. Minimum server version: 5.18 ##### Permissions Must have the `list_team_channels` permission. In server version 5.18 and later, a user without the `list_team_channels` permission will be able to use this endpoint, with the search results limited to the channels that the user is a member of.
Search channels
Search public channels on a team based on the search term provided in the request body. ##### Permissions Must have the `list_team_channels` permission. In server version 5.16 and later, a user without the `list_team_channels` permission will be able to use this endpoint, with the search results limited to the channels that the user is a member of.
Update a channel
Update a channel. The fields that can be updated are listed as parameters. Omitted fields will be treated as blanks. ##### Permissions If updating a public channel, `manage_public_channel_members` permission is required. If updating a private channel, `manage_private_channel_members` permission is required.
Update the scheme-derived roles of a channel member.
Update a channel member's scheme_admin/scheme_user properties. Typically this should either be `scheme_admin=false, scheme_user=true` for ordinary channel member, or `scheme_admin=true, scheme_user=true` for a channel admin. Minimum server version: 5.0 ##### Permissions Must be authenticated and have the `manage_channel_roles` permission.
Update channel notifications
Update a user's notification properties for a channel. Only the provided fields are updated. ##### Permissions Must be logged in as the user or have `edit_other_users` permission.
Update channel's privacy
Updates channel's privacy allowing changing a channel from Public to Private and back. Minimum server version: 5.16 ##### Permissions `manage_team` permission for the channels team on version < 5.28. `convert_public_channel_to_private` permission for the channel if updating privacy to 'P' on version >= 5.28. `convert_private_channel_to_public` permission for the channel if updating privacy to 'O' on version >= 5.28.
Set a channel's scheme
Set a channel's scheme, more specifically sets the scheme_id value of a channel record. ##### Permissions Must have `manage_system` permission. Minimum server version: 4.10
Update user's sidebar categories
Update any number of sidebar categories for the user on the given team. This can be used to reorder the channels in these categories. Minimum server version: 5.26 ##### Permissions Must be authenticated and have the `list_team_channels` permission.
Update sidebar category
Updates a single sidebar category for the user on the given team. Minimum server version: 5.26 ##### Permissions Must be authenticated and have the `list_team_channels` permission.
Update user's sidebar category order
Updates the order of the sidebar categories for a user on the given team. The provided array must include the IDs of all categories on the team. Minimum server version: 5.26 ##### Permissions Must be authenticated and have the `list_team_channels` permission.
View channel
Perform all the actions involved in viewing a channel. This includes marking channels as read, clearing push notifications, and updating the active channel. ##### Permissions Must be logged in as user or have `edit_other_users` permission. Response only includes `last_viewed_at_times` in Mattermost server 4.3 and newer.