Reference

LAST EDIT Jul 07 2022

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 user to add URLs into messages
AddOwnChannelMembershipChannelAllows user to add own channel membership (join channel)
BanChannelMemberChannelAllows user to ban channel members
CreateCallChannelAllows user to creates a call
CreateChannelChannelAllows user to create a new channel
CreateDistinctChannelForOthersChannelAllows user to create new distinct channel for other users (e.g. user A creates channel for users B and C)
CreateMessageChannelAllows user to send a new message
CreateReactionChannelAllows user to add a reaction to a message
DeleteChannelChannelAllows user to delete a channel
DeleteReactionChannelAllows user to delete a reaction
FlagMessageChannelAllows user to flag messages
JoinCallChannelAllows user to joins a call
MuteChannelChannelAllows user to mute and unmute channel
PinMessageChannelAllows user to pin a message
ReadChannelChannelAllows user to read messages from the channel
ReadChannelMembersChannelAllows user to read channel members
ReadMessageFlagsChannelAllows user to access messages that have been flagged
RecreateChannelChannelAllows user to recreate a channel when it got deleted
RemoveOwnChannelMembershipChannelAllows user to leave the channel (remove own channel membership)
SendCustomEventChannelAllows user to send custom events to a channel
SkipChannelCooldownChannelAllows user to bypass existing cooldown in a channel
SkipMessageModerationChannelAllows user to bypass automatic message moderation
TruncateChannelChannelAllows user to truncate a channel
UpdateChannelChannelAllows user to update channel data
UpdateChannelCooldownChannelAllows user to set and unset cooldown time for a channel (slow mode)
UpdateChannelFrozenChannelAllows user to freeze and unfreeze a channel
UpdateChannelMembersChannelAllows user to add, modify and remove channel members
UploadAttachmentChannelAllows user to upload files and images
UseFrozenChannelChannelAllows user to send messages and reactions to a frozen channels
DeleteMessageMessageAllows user to delete a message
RunMessageActionMessageAllows user to run an action against a message
UnblockMessageMessageAllows user to unblock message blocked by automatic moderation
UpdateMessageMessageAllows user to update a message
DeleteAttachmentAttachmentAllows user to delete uploaded files and images
BanUserUserAllows user to ban users
FlagUserUserAllows user to flag users
MuteUserUserAllows user to mute and unmute users
SearchUserUserAllows user to search for other users
UpdateUserUserAllows user to update users
UpdateUserRoleUserAllows user to update user roles
UpdateUserTeamsUserAllows user to update user teams
ReadFlagReportsFlagReportAllows user to read flag reports
UpdateFlagReportFlagReportAllows user to update flag report

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
read-flag-reports✖️✖️
search-user
update-flag-report✖️✖️
update-user-owner

Scope messaging

Permission IDadminmoderatoruserchannel_memberchannel_moderator
add-links✖️
add-links-owner✖️✖️✖️✖️
ban-channel-member✖️✖️
ban-user✖️✖️✖️
create-call✖️
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✖️✖️✖️✖️
join-call✖️
mute-channel✖️
mute-channel-owner✖️✖️✖️✖️
pin-message✖️
pin-message-owner✖️✖️✖️✖️
read-channel✖️
read-channel-members✖️
read-channel-members-owner✖️✖️✖️✖️
read-channel-owner✖️✖️✖️✖️
read-message-flags✖️✖️
recreate-channel✖️✖️✖️✖️
recreate-channel-owner✖️✖️✖️
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✖️✖️✖️
unblock-message✖️✖️
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-call✖️✖️✖️
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✖️✖️
join-call✖️
mute-channel✖️✖️
pin-message✖️✖️✖️
pin-message-owner✖️✖️✖️✖️✖️
read-channel✖️
read-channel-members✖️
read-message-flags✖️✖️✖️
recreate-channel✖️✖️✖️✖️✖️
remove-own-channel-membership✖️✖️✖️✖️✖️
run-message-action✖️✖️✖️✖️✖️
run-message-action-owner✖️✖️✖️✖️
send-custom-event✖️✖️✖️
skip-channel-cooldown✖️✖️✖️
skip-message-moderation✖️✖️✖️
truncate-channel✖️✖️✖️✖️✖️
unblock-message✖️✖️✖️
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-call✖️
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✖️✖️✖️✖️
join-call✖️
mute-channel✖️
mute-channel-owner✖️✖️✖️✖️
pin-message✖️
pin-message-owner✖️✖️✖️✖️
read-channel✖️
read-channel-members✖️
read-channel-members-owner✖️✖️✖️✖️
read-channel-owner✖️✖️✖️✖️
read-message-flags✖️✖️
recreate-channel✖️✖️✖️✖️
recreate-channel-owner✖️✖️✖️
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✖️✖️✖️
unblock-message✖️✖️
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-call✖️✖️✖️
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✖️✖️✖️✖️
join-call✖️✖️
mute-channel✖️✖️
mute-channel-owner✖️✖️✖️✖️
pin-message✖️✖️✖️
pin-message-owner✖️✖️✖️✖️
read-channel✖️✖️
read-channel-members✖️✖️
read-channel-members-owner✖️✖️✖️✖️
read-channel-owner✖️✖️✖️✖️
read-message-flags✖️✖️✖️
recreate-channel✖️✖️✖️✖️✖️
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✖️✖️✖️✖️✖️
unblock-message✖️✖️✖️
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-call✖️
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✖️✖️✖️✖️
join-call✖️
mute-channel✖️
mute-channel-owner✖️✖️✖️✖️
pin-message✖️✖️
read-channel✖️
read-channel-members✖️
read-channel-members-owner✖️✖️✖️✖️
read-channel-owner✖️✖️✖️✖️
read-message-flags✖️✖️
recreate-channel✖️✖️✖️✖️
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✖️✖️✖️✖️
unblock-message✖️✖️
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
read-flag-reports-any-team
search-user-any-team
update-flag-report-any-team
update-user-owner

Scope messaging

Permission IDglobal_moderatorglobal_admin
add-links-any-team
ban-channel-member-any-team
ban-user-any-team
create-call-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
join-call-any-team
mute-channel-any-team
pin-message-any-team
read-channel-any-team
read-channel-members-any-team
read-message-flags-any-team
recreate-channel-any-team✖️
recreate-channel-owner-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✖️
unblock-message-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-call-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
join-call-any-team
mute-channel-any-team
pin-message-any-team
read-channel-any-team
read-channel-members-any-team
read-message-flags-any-team
recreate-channel-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✖️
unblock-message-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-call-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
join-call-any-team
mute-channel-any-team
pin-message-any-team
read-channel-any-team
read-channel-members-any-team
read-message-flags-any-team
recreate-channel-any-team✖️
recreate-channel-owner-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✖️
unblock-message-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-call-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
join-call-any-team
mute-channel-any-team
pin-message-any-team
read-channel-any-team
read-channel-members-any-team
read-message-flags-any-team
recreate-channel-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✖️
unblock-message-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-call-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
join-call-any-team
mute-channel-any-team
pin-message-any-team
read-channel-any-team
read-channel-members-any-team
read-message-flags-any-team
recreate-channel-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✖️
unblock-message-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