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.
| 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 |
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.
| 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) |
Share Feedback
Need help or want to chat? Join our Discord to get support, report bugs, and talk with other streamers.0 / 1000
Privacy
▸ What we're sending
| Module | — |
| Page | — |
| Browser | — |
| Screen | — |
| Channel | anonymous |
| Submitted | — |