Skip to content

Events — Authentication & permissions

The Events 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:email Identifies the account owner and is used for account linking. At sign-in
channel:read:subscriptions Checks subscriber status for subscriber-gated features. At sign-in
moderator:read:followers Reads follower count and individual follow events. At sign-in
bits:read Reads bits cheer events and leaderboard data. 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
user:write:chat Posts bot responses back to chat. At sign-in
channel:bot Allows the account to send chat messages as a bot in this channel. At sign-in
channel:read:redemptions Reads channel-point redemption events. At sign-in
channel:manage:redemptions Creates, updates, and fulfils custom channel-point rewards. When you set up the feature
user:read:emotes Reads the set of emotes available to the broadcaster. At sign-in
channel:read:charity Read your Twitch Charity campaign and its donations for goals, alerts, and analytics. 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.cheer 1 bits:read broadcaster_user_id Bits cheered — triggers bits reward rules
channel.bits.use 1 bits:read broadcaster_user_id Power-up bits — bits spent on the channel that channel.cheer never fires for; triggers bits reward rules like a cheer (cheer-type events are ignored, channel.cheer owns those)
channel.subscription.gift 1 channel:read:subscriptions broadcaster_user_id Gifted subs — triggers gifted_subs reward rules
channel.chat.notification 1 user:read:chat, user:bot, channel:bot broadcaster_user_id, user_id Chat notices (sub/resub/gift) — Prime evidence for count_prime rules + gifter lifetime totals; always-on, since evidence must accrue before the first prime-excluding rule exists
channel.subscribe 1 channel:read:subscriptions broadcaster_user_id New subscriptions — subscribed when at least one new_sub rule exists
channel.subscription.message 1 channel:read:subscriptions broadcaster_user_id Resub with share message — subscribed when at least one resub rule exists
channel.channel_points_custom_reward_redemption.add 1 channel:read:redemptions broadcaster_user_id Channel point redemptions — subscribed when at least one channel_redemption rule exists; one broadcaster-wide subscription covers all rewards
channel.follow 2 moderator:read:followers broadcaster_user_id, moderator_user_id Follows — subscribed when at least one follow rule exists; moderator_user_id = broadcaster_user_id
channel.chat.message 1 user:read:chat, user:bot, channel:bot broadcaster_user_id, user_id Chat messages — subscribed when at least one chat rule exists; user_id = broadcaster_user_id
channel.raid 1 — to_broadcaster_user_id Incoming raid — subscribed when at least one raid rule exists
channel.charity_campaign.donate 1 channel:read:charity broadcaster_user_id Charity donations — subscribed when at least one charity rule exists