Skip to content

Platform — Authentication & permissions

OAuth scopes

The Platform module uses the following OAuth scopes. The baseline ones are requested when a broadcaster connects their Twitch account; the rest are requested later, the first time the feature that acts with them is set up, so most permissions for a feature you don’t use are never granted.

ScopeWhy requestedWhen we ask
user:read:moderated_channelsLets moderators fetch the list of channels they moderate.At sign-in
moderation:readConfirm who a channel’s moderators are when granting dashboard access.At sign-in
user:read:chatListens to chat messages via EventSub.At sign-in
user:botMarks the account as a bot so Twitch applies bot rate limits.At sign-in
channel:botAllows the account to send chat messages as a bot in this channel.At sign-in

EventSub subscriptions

Every subscription is created with the application access token (Twitch requires it for webhook transport). “Requires” lists the scopes the broadcaster must already have granted before Twitch will create the subscription.

TypeVersionRequiresCondition keysDescription
channel.chat.message1user:read:chat, user:bot, channel:botbroadcaster_user_id, user_idChat messages — lead-moderator badge detection (consumer only)
stream.online1broadcaster_user_idStream goes live — stamps last_streamed on the channel config (consumer only)
user.update1user_idTwitch username / display-name change — refreshes channel_name (consumer only)