Reference

LAST EDIT Nov 16 2021

This reference contains some useful information about permission system, applicable to both versions.

Actions

Copied!

In the table below you will find all available actions of Stream Chat permission system

ActionResource TypeDescription
AddLinksChannelAllows to add URLs into messages
BanChannelMemberChannelAllows to ban channel members
CreateChannelChannelAllows to create a new channel
CreateDistinctChannelForOthersChannelAllows to create new distinct channel for other users (e.g. user A creates channel for users B and C)
CreateMessageChannelAllows to send a new message
CreateReactionChannelAllows to add a reaction to a message
DeleteChannelChannelAllows to delete a channel
DeleteReactionChannelAllows to delete a reaction
FlagMessageChannelAllows to flag and unflag messages
MuteChannelChannelAllows to mute and unmute channel
PinMessageChannelAllows to pin a message
ReadChannelChannelAllows to read messages from the channel
ReadMessageFlagsChannelAllows to access messages that have been flagged
RemoveOwnChannelMembershipChannelAllows to remove own channel membership (leave channel)
SendCustomEventChannelAllows to send custom events to a channel
SkipChannelCooldownChannelAllows to bypass existing cooldown in a channel
SkipMessageModerationChannelAllows to bypass automatic message moderation
TruncateChannelChannelAllows to truncate a channel
UpdateChannelChannelAllows to update channel data
UpdateChannelCooldownChannelAllows to set and unset cooldown time for a channel (slow mode)
UpdateChannelFrozenChannelAllows to freeze and unfreeze a channel
UpdateChannelMembersChannelAllows to add, modify and remove channel members
UploadAttachmentChannelAllows to upload files and images
UseFrozenChannelChannelAllows to send messages and reactions to a frozen channels
DeleteMessageMessageAllows to delete a message
RunMessageActionMessageAllows to run an action against a message
UpdateMessageMessageAllows to update a message
DeleteAttachmentAttachmentAllows to delete uploaded files and images
BanUserUserAllows to ban users
FlagUserUserAllows to flag and unflag users
MuteUserUserAllows to mute and unmute users
SearchUserUserAllows to search for other users
UpdateUserUserAllows to update users
UpdateUserRoleUserAllows to update user roles
UpdateUserTeamsUserAllows to update user teams

Default Grants

Copied!

In tables below you will find default permission grants for each builtin channel type as well as .app permission scope.

For each of of the above actions, there are different built in permissions depending on whether the object was created by the user or not. For example, users can be given permissions to delete-attachment which allows for deleting any message attachments, or they can be given permissions to delete-attachment-owned to restrict this to only attachments added by the current user.

Every custom channel type that you create using CreateChannelType API endpoint, will have messaging scope grants by default.

Scope .app

Permission IDadminmoderatoruserguest
flag-user
mute-user
search-user
update-user-owner

Scope messaging

Permission IDadminmoderatoruserchannel_memberchannel_moderator
add-links✖️
add-links-owner✖️✖️✖️✖️
ban-channel-member✖️✖️
ban-user✖️✖️✖️
create-channel✖️✖️
create-message✖️
create-message-owner✖️✖️✖️✖️
create-reaction✖️
create-reaction-owner✖️✖️✖️✖️
delete-attachment✖️✖️
delete-attachment-owner✖️✖️✖️✖️
delete-channel✖️✖️✖️✖️
delete-channel-owner✖️✖️✖️
delete-message✖️✖️
delete-message-owner✖️✖️✖️✖️
delete-reaction✖️✖️
delete-reaction-owner✖️✖️✖️✖️
flag-message✖️
flag-message-owner✖️✖️✖️✖️
mute-channel✖️
mute-channel-owner✖️✖️✖️✖️
pin-message✖️
pin-message-owner✖️✖️✖️✖️
read-channel✖️
read-channel-owner✖️✖️✖️✖️
read-message-flags✖️✖️
remove-own-channel-membership✖️
remove-own-channel-membership-owner✖️✖️✖️✖️
run-message-action✖️✖️✖️✖️
run-message-action-owner✖️✖️✖️
send-custom-event✖️
send-custom-event-owner✖️✖️✖️✖️
skip-channel-cooldown✖️✖️
skip-message-moderation✖️✖️
truncate-channel✖️✖️✖️✖️
truncate-channel-owner✖️✖️✖️
update-channel✖️✖️
update-channel-cooldown✖️✖️
update-channel-frozen✖️✖️
update-channel-members✖️✖️
update-channel-members-owner✖️✖️✖️✖️
update-channel-owner✖️✖️✖️✖️
update-message✖️✖️
update-message-owner✖️✖️✖️✖️
upload-attachment✖️
upload-attachment-owner✖️✖️✖️✖️

Scope livestream

Permission IDadminmoderatoruserchannel_moderatorguestanonymous
add-links✖️✖️✖️
ban-channel-member✖️✖️✖️
ban-user✖️✖️✖️✖️
create-channel✖️✖️✖️
create-message✖️✖️✖️
create-reaction✖️✖️✖️
delete-attachment✖️✖️✖️
delete-attachment-owner✖️✖️✖️✖️✖️
delete-channel✖️✖️✖️✖️✖️
delete-message✖️✖️✖️
delete-message-owner✖️✖️✖️✖️✖️
delete-reaction✖️✖️✖️
delete-reaction-owner✖️✖️✖️✖️✖️
flag-message✖️✖️
mute-channel✖️✖️
pin-message✖️✖️✖️
pin-message-owner✖️✖️✖️✖️✖️
read-channel✖️
read-message-flags✖️✖️✖️
remove-own-channel-membership✖️✖️✖️✖️✖️
run-message-action✖️✖️✖️✖️✖️
run-message-action-owner✖️✖️✖️✖️
send-custom-event✖️✖️✖️
skip-channel-cooldown✖️✖️✖️
skip-message-moderation✖️✖️✖️
truncate-channel✖️✖️✖️✖️✖️
update-channel✖️✖️✖️✖️✖️
update-channel-cooldown✖️✖️✖️
update-channel-frozen✖️✖️✖️
update-channel-members✖️✖️✖️✖️✖️
update-message✖️✖️✖️
update-message-owner✖️✖️✖️✖️✖️
upload-attachment✖️✖️✖️

Scope team

Permission IDadminmoderatoruserchannel_memberchannel_moderator
add-links✖️
add-links-owner✖️✖️✖️✖️
ban-channel-member✖️✖️
ban-user✖️✖️✖️
create-channel✖️✖️
create-message✖️
create-message-owner✖️✖️✖️✖️
create-reaction✖️
create-reaction-owner✖️✖️✖️✖️
delete-attachment✖️✖️
delete-attachment-owner✖️✖️✖️✖️
delete-channel✖️✖️✖️✖️
delete-channel-owner✖️✖️✖️
delete-message✖️✖️
delete-message-owner✖️✖️✖️✖️
delete-reaction✖️✖️
delete-reaction-owner✖️✖️✖️✖️
flag-message✖️
flag-message-owner✖️✖️✖️✖️
mute-channel✖️
mute-channel-owner✖️✖️✖️✖️
pin-message✖️
pin-message-owner✖️✖️✖️✖️
read-channel✖️
read-channel-owner✖️✖️✖️✖️
read-message-flags✖️✖️
remove-own-channel-membership✖️
remove-own-channel-membership-owner✖️✖️✖️✖️
run-message-action✖️✖️✖️✖️
run-message-action-owner✖️✖️✖️
send-custom-event✖️
send-custom-event-owner✖️✖️✖️✖️
skip-channel-cooldown✖️✖️
skip-message-moderation✖️✖️
truncate-channel✖️✖️✖️✖️
truncate-channel-owner✖️✖️✖️
update-channel✖️✖️
update-channel-cooldown✖️✖️
update-channel-frozen✖️✖️
update-channel-members✖️✖️
update-channel-members-owner✖️✖️✖️✖️
update-channel-owner✖️✖️✖️✖️
update-message✖️✖️
update-message-owner✖️✖️✖️✖️
upload-attachment✖️
upload-attachment-owner✖️✖️✖️✖️

Scope commerce

Permission IDadminmoderatoruserchannel_memberchannel_moderatorguest
add-links✖️
add-links-owner✖️✖️✖️✖️✖️
ban-channel-member✖️✖️✖️
ban-user✖️✖️✖️✖️
create-channel✖️✖️✖️
create-message✖️✖️
create-message-owner✖️✖️✖️✖️✖️
create-reaction✖️✖️
create-reaction-owner✖️✖️✖️✖️✖️
delete-attachment✖️✖️✖️
delete-attachment-owner✖️✖️✖️✖️
delete-channel✖️✖️✖️✖️✖️
delete-message✖️✖️✖️
delete-message-owner✖️✖️✖️✖️
delete-reaction✖️✖️✖️
delete-reaction-owner✖️✖️✖️✖️
flag-message✖️✖️
flag-message-owner✖️✖️✖️✖️
mute-channel✖️✖️
mute-channel-owner✖️✖️✖️✖️
pin-message✖️✖️✖️
pin-message-owner✖️✖️✖️✖️
read-channel✖️✖️
read-channel-owner✖️✖️✖️✖️
read-message-flags✖️✖️✖️
remove-own-channel-membership✖️✖️
remove-own-channel-membership-owner✖️✖️✖️✖️✖️
run-message-action✖️✖️✖️✖️✖️
run-message-action-owner✖️✖️✖️
send-custom-event✖️✖️
send-custom-event-owner✖️✖️✖️✖️✖️
skip-channel-cooldown✖️✖️✖️
skip-message-moderation✖️✖️✖️
truncate-channel✖️✖️✖️✖️✖️
update-channel✖️✖️✖️
update-channel-cooldown✖️✖️✖️
update-channel-frozen✖️✖️✖️
update-channel-members✖️✖️✖️
update-channel-members-owner✖️✖️✖️✖️
update-message✖️✖️✖️
update-message-owner✖️✖️✖️✖️
upload-attachment✖️
upload-attachment-owner✖️✖️✖️✖️✖️

Scope gaming

Permission IDadminmoderatoruserchannel_memberchannel_moderator
add-links✖️
add-links-owner✖️✖️✖️✖️
ban-channel-member✖️✖️
ban-user✖️✖️✖️
create-channel✖️✖️✖️✖️
create-message✖️
create-message-owner✖️✖️✖️✖️
create-reaction✖️
create-reaction-owner✖️✖️✖️✖️
delete-attachment✖️✖️
delete-attachment-owner✖️✖️✖️✖️
delete-channel✖️✖️✖️✖️
delete-message✖️✖️
delete-message-owner✖️✖️✖️✖️
delete-reaction✖️✖️
delete-reaction-owner✖️✖️✖️✖️
flag-message✖️
flag-message-owner✖️✖️✖️✖️
mute-channel✖️
mute-channel-owner✖️✖️✖️✖️
pin-message✖️✖️
read-channel✖️
read-channel-owner✖️✖️✖️✖️
read-message-flags✖️✖️
remove-own-channel-membership✖️
remove-own-channel-membership-owner✖️✖️✖️✖️
run-message-action✖️✖️✖️✖️
run-message-action-owner✖️✖️✖️
send-custom-event✖️
send-custom-event-owner✖️✖️✖️✖️
skip-channel-cooldown✖️✖️
skip-message-moderation✖️✖️
truncate-channel✖️✖️✖️✖️
update-channel✖️✖️✖️✖️
update-channel-cooldown✖️✖️
update-channel-frozen✖️✖️
update-channel-members✖️✖️✖️✖️
update-message✖️✖️
update-message-owner✖️✖️✖️✖️
upload-attachment✖️
upload-attachment-owner✖️✖️✖️✖️

Multi-Tenant Default Grants

Copied!

In tables below you will find default permission grants for builtin roles that designed for multi-tenant applications. They are useful for multi-tenant applications only.

By default, for multi-tenant applications, all objects (users, channels, and messages) must belong to the same team to be able to interact. These multi-tenant permissions enable overriding that behavior, so that certain users can have permissions to interact with objects on any team

Scope .app

Permission IDglobal_moderatorglobal_admin
flag-user-any-team
mute-user-any-team
search-user-any-team

Scope messaging

Permission IDglobal_moderatorglobal_admin
add-links-any-team
ban-channel-member-any-team
ban-user-any-team
create-channel-any-team
create-message-any-team
create-reaction-any-team
delete-attachment-any-team
delete-channel-any-team✖️
delete-channel-owner-any-team✖️
delete-message-any-team
delete-reaction-any-team
flag-message-any-team
mute-channel-any-team
pin-message-any-team
read-channel-any-team
read-message-flags-any-team
remove-own-channel-membership-any-team
run-message-action-any-team✖️
run-message-action-owner-any-team✖️
send-custom-event-any-team
skip-channel-cooldown-any-team
skip-message-moderation-any-team
truncate-channel-any-team✖️
truncate-channel-owner-any-team✖️
update-channel-any-team
update-channel-cooldown-any-team
update-channel-frozen-any-team
update-channel-members-any-team
update-message-any-team
upload-attachment-any-team

Scope livestream

Permission IDglobal_moderatorglobal_admin
add-links-any-team
ban-channel-member-any-team
ban-user-any-team
create-channel-any-team
create-message-any-team
create-reaction-any-team
delete-attachment-any-team
delete-channel-any-team✖️
delete-message-any-team
delete-reaction-any-team
flag-message-any-team
mute-channel-any-team
pin-message-any-team
read-channel-any-team
read-message-flags-any-team
remove-own-channel-membership-any-team✖️
run-message-action-any-team✖️
run-message-action-owner-any-team✖️
send-custom-event-any-team
skip-channel-cooldown-any-team
skip-message-moderation-any-team
truncate-channel-any-team✖️
update-channel-any-team✖️
update-channel-cooldown-any-team
update-channel-frozen-any-team
update-channel-members-any-team✖️
update-message-any-team
upload-attachment-any-team

Scope team

Permission IDglobal_moderatorglobal_admin
add-links-any-team
ban-channel-member-any-team
ban-user-any-team
create-channel-any-team
create-message-any-team
create-reaction-any-team
delete-attachment-any-team
delete-channel-any-team✖️
delete-channel-owner-any-team✖️
delete-message-any-team
delete-reaction-any-team
flag-message-any-team
mute-channel-any-team
pin-message-any-team
read-channel-any-team
read-message-flags-any-team
remove-own-channel-membership-any-team
run-message-action-any-team✖️
run-message-action-owner-any-team✖️
send-custom-event-any-team
skip-channel-cooldown-any-team
skip-message-moderation-any-team
truncate-channel-any-team✖️
truncate-channel-owner-any-team✖️
update-channel-any-team
update-channel-cooldown-any-team
update-channel-frozen-any-team
update-channel-members-any-team
update-message-any-team
upload-attachment-any-team

Scope commerce

Permission IDglobal_moderatorglobal_admin
add-links-any-team
ban-channel-member-any-team
ban-user-any-team
create-channel-any-team
create-message-any-team
create-reaction-any-team
delete-attachment-any-team
delete-channel-any-team✖️
delete-message-any-team
delete-reaction-any-team
flag-message-any-team
mute-channel-any-team
pin-message-any-team
read-channel-any-team
read-message-flags-any-team
remove-own-channel-membership-any-team
run-message-action-any-team✖️
run-message-action-owner-any-team✖️
send-custom-event-any-team
skip-channel-cooldown-any-team
skip-message-moderation-any-team
truncate-channel-any-team✖️
update-channel-any-team
update-channel-cooldown-any-team
update-channel-frozen-any-team
update-channel-members-any-team
update-message-any-team
upload-attachment-any-team

Scope gaming

Permission IDglobal_moderatorglobal_admin
add-links-any-team
ban-channel-member-any-team
ban-user-any-team
create-channel-any-team✖️
create-message-any-team
create-reaction-any-team
delete-attachment-any-team
delete-channel-any-team✖️
delete-message-any-team
delete-reaction-any-team
flag-message-any-team
mute-channel-any-team
pin-message-any-team
read-channel-any-team
read-message-flags-any-team
remove-own-channel-membership-any-team
run-message-action-any-team✖️
run-message-action-owner-any-team✖️
send-custom-event-any-team
skip-channel-cooldown-any-team
skip-message-moderation-any-team
truncate-channel-any-team✖️
update-channel-any-team✖️
update-channel-cooldown-any-team
update-channel-frozen-any-team
update-channel-members-any-team✖️
update-message-any-team
upload-attachment-any-team