Skip to content

Platform — Authentication & permissions

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.

Scope Why requested When we ask
user:read:moderated_channels Lets moderators fetch the list of channels they moderate. At sign-in
moderation:read Confirm who a channel’s moderators are when granting dashboard access. At sign-in
user:read:chat Listens to chat messages via EventSub. At sign-in
user:bot Marks the account as a bot so Twitch applies bot rate limits. At sign-in
channel:bot Allows the account to send chat messages as a bot in this channel. At sign-in

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.

Type Version Requires Condition keys Description
channel.chat.message 1 user:read:chat, user:bot, channel:bot broadcaster_user_id, user_id Chat messages — lead-moderator badge detection (consumer only)
stream.online 1 — broadcaster_user_id Stream goes live — stamps last_streamed on the channel config (consumer only)
user.update 1 — user_id Twitch username / display-name change — refreshes channel_name (consumer only)