LAST EDIT May 26 2021

The channel type also allows you to specify the permissions your chat can use. If not provided, the permissions will use the defaults for that channel type (see Default Permissions section later).

The Channel object allows you to define a list of moderators and admins. The user object allows you to mark a user as a moderator or admin for your entire application.

Note that you can only modify these fields via the backend API:

You can edit a user like this:

Server-side, you’re allowed to do everything. For client-side integrations, the permission system kicks in. This system specifies a list of permissions the given user is allowed to do.

Changing user roles is only allowed server-side.

Permission checking is performed taking into account parameters:

  • API Request: the action the user is performing (e.g. send a message, edit a message, etc.)
  • User Role: the role of the user making the request
  • Channel Type: the channel type
  • Resource: the resource involved in the API call (e.g. a channel, a message, a user, etc.)
  • Ownership: whether or not the resource is owned by the user (when applicable)