Reference
Event types
Every EventSub subscription type the library knows, with its version, its condition and the scope it needs.
The name autocompletes in on() and subscribe(), and the condition and the event are typed from it. A type that exists in several versions is listed under its plain name for the newest one and under name@version for the older ones.
All types
Section titled “All types”| Type | Version | Fires when |
|---|---|---|
automod.message.hold | 2 | AutoMod held a message for review. Only public blocked terms trigger it, not private ones. |
automod.message.hold@1 | 1 | AutoMod held a message for review (older payload, without the reason). |
automod.message.update | 2 | A message waiting in the AutoMod queue was approved, denied or expired. Only public blocked terms trigger it, not private ones. |
automod.message.update@1 | 1 | A message waiting in the AutoMod queue was approved, denied or expired (older payload, without the reason). |
automod.settings.update | 1 | The AutoMod settings of the channel changed. |
automod.terms.update | 1 | Permitted or blocked terms of the channel changed. Changes to private terms are not sent. |
channel.ad_break.begin | 1 | A midroll ad break started, run by hand or scheduled by Ads Manager. |
channel.ban | 1 | A viewer was banned or timed out in the channel. |
channel.bits.use | 1 | Bits were used in the channel, through a cheer or a Power-up. Bits spent in Extensions are not included. |
channel.channel_points_automatic_reward_redemption.add | 2 | A viewer redeemed an automatic channel points reward (version 2, message split into fragments). |
channel.channel_points_automatic_reward_redemption.add@1 | 1 | A viewer redeemed an automatic channel points reward (version 1, message with emote positions). |
channel.channel_points_custom_reward_redemption.add | 1 | A viewer redeemed a custom channel points reward. |
channel.channel_points_custom_reward_redemption.update | 1 | A redemption of a custom channel points reward was fulfilled or canceled. |
channel.channel_points_custom_reward.add | 1 | The broadcaster created a custom channel points reward. |
channel.channel_points_custom_reward.remove | 1 | A custom channel points reward was deleted. |
channel.channel_points_custom_reward.update | 1 | A custom channel points reward was edited. |
channel.charity_campaign.donate | 1 | A viewer donated to the broadcaster’s charity campaign. |
channel.charity_campaign.progress | 1 | A charity campaign moved toward its goal, or the broadcaster changed the goal. |
channel.charity_campaign.start | 1 | The broadcaster started a charity campaign. May arrive after the first progress event. |
channel.charity_campaign.stop | 1 | The broadcaster stopped a charity campaign. |
channel.chat_settings.update | 1 | The chat settings of the channel changed (emote, follower, slow, subscriber or unique chat mode). |
channel.chat.clear | 1 | A moderator or a bot cleared every message of the chat room. |
channel.chat.clear_user_messages | 1 | A moderator or a bot cleared every message of one user, after a ban or a timeout. |
channel.chat.message | 1 | A user sent a message in the chat room. |
channel.chat.message_delete | 1 | A moderator removed one message from the chat room. |
channel.chat.notification | 1 | Something shown as a notice in chat happened, such as a subscription, a gift, a raid or an announcement. |
channel.chat.user_message_hold | 1 | A message of the user in user_id was held by AutoMod. |
channel.chat.user_message_update | 1 | The AutoMod status of a held message of the user in user_id changed. |
channel.cheer | 1 | A user cheered Bits in the channel. |
channel.custom_power_up_redemption.add | 1 | A viewer redeemed a custom Power-up. |
channel.follow | 2 | Someone followed the channel. |
channel.goal.begin | 1 | The broadcaster started a creator goal. May arrive after the first progress events. |
channel.goal.end | 1 | The broadcaster ended a creator goal. |
channel.goal.progress | 1 | A creator goal moved forward or backward. |
channel.guest_star_guest.update | beta | A guest or a slot changed in a running Guest Star session. |
channel.guest_star_session.begin | beta | The host started a Guest Star session. |
channel.guest_star_session.end | beta | A Guest Star session ended, closed by the host or by Twitch. |
channel.guest_star_settings.update | beta | The host changed the Guest Star preferences of the channel. |
channel.hype_train.begin | 2 | A Hype Train started on the channel. The first progress events may arrive before this one. |
channel.hype_train.end | 2 | A Hype Train ended on the channel. |
channel.hype_train.progress | 2 | A contribution moved a running Hype Train forward. |
channel.moderate | 2 | A moderator took a moderation action in the channel, warnings included. Narrow the event on action to read the matching details. |
channel.moderate@1 | 1 | A moderator took a moderation action in the channel. Version 1 does not report warnings. Narrow the event on action to read the matching details. |
channel.moderator.add | 1 | A user was made moderator of the channel. |
channel.moderator.remove | 1 | A user lost moderator status in the channel. |
channel.poll.begin | 1 | A poll started on the channel. |
channel.poll.end | 1 | A poll ended on the channel. |
channel.poll.progress | 1 | Viewers voted in a running poll. |
channel.prediction.begin | 1 | A Prediction started on the channel. |
channel.prediction.end | 1 | A Prediction ended, resolved or canceled. |
channel.prediction.lock | 1 | Betting closed on a Prediction. |
channel.prediction.progress | 1 | Viewers bet on a running Prediction. |
channel.raid | 1 | A broadcaster raided another channel. |
channel.shared_chat.begin | 1 | The channel became active in a shared chat session. |
channel.shared_chat.end | 1 | The channel left a shared chat session, or the session ended. |
channel.shared_chat.update | 1 | The shared chat session the channel is in changed, for example its participants. |
channel.shield_mode.begin | 1 | Shield Mode was turned on in the channel. |
channel.shield_mode.end | 1 | Shield Mode was turned off in the channel. |
channel.shoutout.create | 1 | The broadcaster sent a Shoutout to another channel. |
channel.shoutout.receive | 1 | The broadcaster received a Shoutout from another channel. Fires only when Twitch posts the Shoutout to the activity feed of the broadcaster. |
channel.subscribe | 1 | A user subscribed to the channel. Resubscriptions are not included. |
channel.subscription.end | 1 | A subscription to the channel ended. |
channel.subscription.gift | 1 | A viewer gifted one or more subscriptions in the channel. |
channel.subscription.message | 1 | A subscriber shared a resubscription message in chat. |
channel.suspicious_user.message | 1 | A user flagged as suspicious sent a chat message. |
channel.suspicious_user.update | 1 | A moderator changed the treatment applied to a suspicious user. |
channel.unban | 1 | A viewer was unbanned in the channel. |
channel.unban_request.create | 1 | A banned user created an unban request. |
channel.unban_request.resolve | 1 | An unban request was approved, denied or canceled. |
channel.update | 2 | The broadcaster changed the title, category, language or content classification labels of the channel. |
channel.vip.add | 1 | A user was made VIP of the channel. |
channel.vip.remove | 1 | A user lost VIP status in the channel. |
channel.warning.acknowledge | 1 | A user acknowledged a warning they received in the channel. |
channel.warning.send | 1 | A warning was sent to a user in the channel. |
conduit.shard.disabled | 1 | EventSub disabled a conduit shard because the state of its transport changed. |
drop.entitlement.grant | 1 | Viewers were granted Drop entitlements. Delivered in batches: the event is an array of entitlements, and the subscription must be created with batching enabled. Webhooks and conduits only. |
extension.bits_transaction.create | 1 | A Bits transaction was made in an extension. Webhooks and conduits only. |
stream.offline | 1 | The broadcaster stopped streaming. |
stream.online | 1 | The broadcaster started a stream. |
user.authorization.grant | 1 | A user authorized the application. Webhooks and conduits only. |
user.authorization.revoke | 1 | The application lost a user’s authorization. Webhooks and conduits only. |
user.update | 1 | A user changed their account (name, description, email…). |
user.whisper.message | 1 | The user received a whisper. |
automod.message.hold
Section titled “automod.message.hold”AutoMod held a message for review. Only public blocked terms trigger it, not private ones.
Scope: moderator:manage:automod, granted by the moderator in moderator_user_id, who must be the broadcaster or one of their moderators.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose channel is watched. |
moderator_user_id required | string | ID of the moderator who subscribes. Must be the user of the access token. |
Event: AutomodMessageHoldEvent
automod.message.hold@1
Section titled “automod.message.hold@1”AutoMod held a message for review (older payload, without the reason).
Scope: moderator:manage:automod, granted by the moderator in moderator_user_id, who must be the broadcaster or one of their moderators.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose channel is watched. |
moderator_user_id required | string | ID of the moderator who subscribes. Must be the user of the access token. |
Event: AutomodMessageHoldV1Event
automod.message.update
Section titled “automod.message.update”A message waiting in the AutoMod queue was approved, denied or expired. Only public blocked terms trigger it, not private ones.
Scope: moderator:manage:automod, granted by the moderator in moderator_user_id, who must be the broadcaster or one of their moderators.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose channel is watched. |
moderator_user_id required | string | ID of the moderator who subscribes. Must be the user of the access token. |
Event: AutomodMessageUpdateEvent
automod.message.update@1
Section titled “automod.message.update@1”A message waiting in the AutoMod queue was approved, denied or expired (older payload, without the reason).
Scope: moderator:manage:automod, granted by the moderator in moderator_user_id, who must be the broadcaster or one of their moderators.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose channel is watched. |
moderator_user_id required | string | ID of the moderator who subscribes. Must be the user of the access token. |
Event: AutomodMessageUpdateV1Event
automod.settings.update
Section titled “automod.settings.update”The AutoMod settings of the channel changed.
Scope: moderator:read:automod_settings, granted by the moderator in moderator_user_id, who must be the broadcaster or one of their moderators.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose channel is watched. |
moderator_user_id required | string | ID of the moderator who subscribes. Must be the user of the access token. |
Event: AutomodSettingsUpdateEvent
automod.terms.update
Section titled “automod.terms.update”Permitted or blocked terms of the channel changed. Changes to private terms are not sent.
Scope: moderator:manage:automod, granted by the moderator in moderator_user_id, who must be the broadcaster or one of their moderators.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose channel is watched. |
moderator_user_id required | string | ID of the moderator who subscribes. Must be the user of the access token. |
Event: AutomodTermsUpdateEvent
channel.ad_break.begin
Section titled “channel.ad_break.begin”A midroll ad break started, run by hand or scheduled by Ads Manager.
Scope: channel:read:ads, granted by the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose ad breaks to watch. |
Event: ChannelAdBreakBeginEvent
channel.ban
Section titled “channel.ban”A viewer was banned or timed out in the channel.
Scope: channel:moderate, granted by the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose bans and timeouts to watch. |
Event: ChannelBanEvent
channel.bits.use
Section titled “channel.bits.use”Bits were used in the channel, through a cheer or a Power-up. Bits spent in Extensions are not included.
Scope: bits:read, with a user access token.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose channel is watched. |
Event: ChannelBitsUseEvent
channel.channel_points_automatic_reward_redemption.add
Section titled “channel.channel_points_automatic_reward_redemption.add”A viewer redeemed an automatic channel points reward (version 2, message split into fragments).
Scope: one of channel:read:redemptions, channel:manage:redemptions, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose automatic reward redemptions are wanted. |
Event: ChannelChannelPointsAutomaticRewardRedemptionAddEvent
channel.channel_points_automatic_reward_redemption.add@1
Section titled “channel.channel_points_automatic_reward_redemption.add@1”A viewer redeemed an automatic channel points reward (version 1, message with emote positions).
Scope: one of channel:read:redemptions, channel:manage:redemptions, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose automatic reward redemptions are wanted. |
Event: ChannelChannelPointsAutomaticRewardRedemptionAddV1Event
channel.channel_points_custom_reward_redemption.add
Section titled “channel.channel_points_custom_reward_redemption.add”A viewer redeemed a custom channel points reward.
Scope: one of channel:read:redemptions, channel:manage:redemptions, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose redemptions are wanted. |
reward_id | string | Limits the notifications to this reward. |
Event: ChannelChannelPointsCustomRewardRedemption
channel.channel_points_custom_reward_redemption.update
Section titled “channel.channel_points_custom_reward_redemption.update”A redemption of a custom channel points reward was fulfilled or canceled.
Scope: one of channel:read:redemptions, channel:manage:redemptions, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose redemptions are wanted. |
reward_id | string | Limits the notifications to this reward. |
Event: ChannelChannelPointsCustomRewardRedemption
channel.channel_points_custom_reward.add
Section titled “channel.channel_points_custom_reward.add”The broadcaster created a custom channel points reward.
Scope: one of channel:read:redemptions, channel:manage:redemptions, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose new custom rewards are wanted. |
Event: ChannelChannelPointsCustomReward
channel.channel_points_custom_reward.remove
Section titled “channel.channel_points_custom_reward.remove”A custom channel points reward was deleted.
Scope: one of channel:read:redemptions, channel:manage:redemptions, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel that owns the rewards. |
reward_id | string | Limits the notifications to this reward. |
Event: ChannelChannelPointsCustomReward
channel.channel_points_custom_reward.update
Section titled “channel.channel_points_custom_reward.update”A custom channel points reward was edited.
Scope: one of channel:read:redemptions, channel:manage:redemptions, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel that owns the rewards. |
reward_id | string | Limits the notifications to this reward. |
Event: ChannelChannelPointsCustomReward
channel.charity_campaign.donate
Section titled “channel.charity_campaign.donate”A viewer donated to the broadcaster’s charity campaign.
Scope: channel:read:charity, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel running the charity campaign. |
Event: ChannelCharityCampaignDonateEvent
channel.charity_campaign.progress
Section titled “channel.charity_campaign.progress”A charity campaign moved toward its goal, or the broadcaster changed the goal.
Scope: channel:read:charity, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel running the charity campaign. |
Event: ChannelCharityCampaignBase
channel.charity_campaign.start
Section titled “channel.charity_campaign.start”The broadcaster started a charity campaign. May arrive after the first progress event.
Scope: channel:read:charity, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel running the charity campaign. |
Event: ChannelCharityCampaignStartEvent
channel.charity_campaign.stop
Section titled “channel.charity_campaign.stop”The broadcaster stopped a charity campaign.
Scope: channel:read:charity, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel running the charity campaign. |
Event: ChannelCharityCampaignStopEvent
channel.chat_settings.update
Section titled “channel.chat_settings.update”The chat settings of the channel changed (emote, follower, slow, subscriber or unique chat mode).
Scope: user:read:chat from the user in user_id. With an app access token, also user:bot from that user, plus either channel:bot from the broadcaster or moderator status in the channel.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose chat room is watched. |
user_id required | string | ID of the user to read chat as. |
Event: ChannelChatSettingsUpdateEvent
channel.chat.clear
Section titled “channel.chat.clear”A moderator or a bot cleared every message of the chat room.
Scope: user:read:chat from the user in user_id. With an app access token, also user:bot from that user, plus either channel:bot from the broadcaster or moderator status in the channel.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose chat room is watched. |
user_id required | string | ID of the user to read chat as. |
Event: ChannelChatClearEvent
channel.chat.clear_user_messages
Section titled “channel.chat.clear_user_messages”A moderator or a bot cleared every message of one user, after a ban or a timeout.
Scope: user:read:chat from the user in user_id. With an app access token, also user:bot from that user, plus either channel:bot from the broadcaster or moderator status in the channel.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose chat room is watched. |
user_id required | string | ID of the user to read chat as. |
Event: ChannelChatClearUserMessagesEvent
channel.chat.message
Section titled “channel.chat.message”A user sent a message in the chat room.
Scope: user:read:chat from the user in user_id. With an app access token, also user:bot from that user, plus either channel:bot from the broadcaster or moderator status in the channel.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose chat room is watched. |
user_id required | string | ID of the user to read chat as. |
Event: ChannelChatMessageEvent
channel.chat.message_delete
Section titled “channel.chat.message_delete”A moderator removed one message from the chat room.
Scope: user:read:chat from the user in user_id. With an app access token, also user:bot from that user, plus either channel:bot from the broadcaster or moderator status in the channel.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose chat room is watched. |
user_id required | string | ID of the user to read chat as. |
Event: ChannelChatMessageDeleteEvent
channel.chat.notification
Section titled “channel.chat.notification”Something shown as a notice in chat happened, such as a subscription, a gift, a raid or an announcement.
Scope: user:read:chat from the user in user_id. With an app access token, also user:bot from that user, plus either channel:bot from the broadcaster or moderator status in the channel.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose chat room is watched. |
user_id required | string | ID of the user to read chat as. |
Event: ChannelChatNotificationEvent
channel.chat.user_message_hold
Section titled “channel.chat.user_message_hold”A message of the user in user_id was held by AutoMod.
Scope: user:read:chat from the user in user_id. With an app access token, also user:bot from that user.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose chat room is watched. |
user_id required | string | ID of the user to read chat as. |
Event: ChannelChatUserMessageHoldEvent
channel.chat.user_message_update
Section titled “channel.chat.user_message_update”The AutoMod status of a held message of the user in user_id changed.
Scope: user:read:chat from the user in user_id. With an app access token, also user:bot from that user.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose chat room is watched. |
user_id required | string | ID of the user to read chat as. |
Event: ChannelChatUserMessageUpdateEvent
channel.cheer
Section titled “channel.cheer”A user cheered Bits in the channel.
Scope: bits:read, granted by the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose cheers to watch. |
Event: ChannelCheerEvent
channel.custom_power_up_redemption.add
Section titled “channel.custom_power_up_redemption.add”A viewer redeemed a custom Power-up.
Scope: bits:read, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose custom Power-up redemptions are wanted. |
reward_id | string | Limits the notifications to this custom Power-up. |
Event: ChannelCustomPowerUpRedemptionAddEvent
channel.follow
Section titled “channel.follow”Someone followed the channel.
Scope: moderator:read:followers, granted by the user set as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose new followers to watch. |
moderator_user_id required | string | ID of a moderator of the channel, or of the broadcaster when the authorization comes from the broadcaster. |
Event: ChannelFollowEvent
channel.goal.begin
Section titled “channel.goal.begin”The broadcaster started a creator goal. May arrive after the first progress events.
Scope: channel:read:goals, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster; it must be the user of the access token. |
Event: ChannelGoalBase
channel.goal.end
Section titled “channel.goal.end”The broadcaster ended a creator goal.
Scope: channel:read:goals, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster; it must be the user of the access token. |
Event: ChannelGoalEndEvent
channel.goal.progress
Section titled “channel.goal.progress”A creator goal moved forward or backward.
Scope: channel:read:goals, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster; it must be the user of the access token. |
Event: ChannelGoalBase
channel.guest_star_guest.update
Section titled “channel.guest_star_guest.update”A guest or a slot changed in a running Guest Star session.
Scope: one of channel:read:guest_star, channel:manage:guest_star, moderator:read:guest_star, moderator:manage:guest_star, from the user given as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel that hosts the Guest Star session. |
moderator_user_id required | string | ID of the broadcaster or of one of the channel’s moderators; the token must belong to this user. |
Event: ChannelGuestStarGuestUpdateEvent
channel.guest_star_session.begin
Section titled “channel.guest_star_session.begin”The host started a Guest Star session.
Scope: one of channel:read:guest_star, channel:manage:guest_star, moderator:read:guest_star, moderator:manage:guest_star, from the user given as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel that hosts the Guest Star session. |
moderator_user_id required | string | ID of the broadcaster or of one of the channel’s moderators; the token must belong to this user. |
Event: ChannelGuestStarSessionBeginEvent
channel.guest_star_session.end
Section titled “channel.guest_star_session.end”A Guest Star session ended, closed by the host or by Twitch.
Scope: one of channel:read:guest_star, channel:manage:guest_star, moderator:read:guest_star, moderator:manage:guest_star, from the user given as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel that hosts the Guest Star session. |
moderator_user_id required | string | ID of the broadcaster or of one of the channel’s moderators; the token must belong to this user. |
Event: ChannelGuestStarSessionEndEvent
channel.guest_star_settings.update
Section titled “channel.guest_star_settings.update”The host changed the Guest Star preferences of the channel.
Scope: one of channel:read:guest_star, channel:manage:guest_star, moderator:read:guest_star, moderator:manage:guest_star, from the user given as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel that hosts the Guest Star session. |
moderator_user_id required | string | ID of the broadcaster or of one of the channel’s moderators; the token must belong to this user. |
Event: ChannelGuestStarSettingsUpdateEvent
channel.hype_train.begin
Section titled “channel.hype_train.begin”A Hype Train started on the channel. The first progress events may arrive before this one.
Scope: channel:read:hype_train, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose Hype Trains are wanted. |
Event: ChannelHypeTrainBeginEvent
channel.hype_train.end
Section titled “channel.hype_train.end”A Hype Train ended on the channel.
Scope: channel:read:hype_train, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose Hype Trains are wanted. |
Event: ChannelHypeTrainEndEvent
channel.hype_train.progress
Section titled “channel.hype_train.progress”A contribution moved a running Hype Train forward.
Scope: channel:read:hype_train, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose Hype Trains are wanted. |
Event: ChannelHypeTrainProgressEvent
channel.moderate
Section titled “channel.moderate”A moderator took a moderation action in the channel, warnings included. Narrow the event on action to read the matching details.
Scope: all of the following, granted by the user set as moderator_user_id: one of moderator:read:blocked_terms, moderator:manage:blocked_terms; one of moderator:read:chat_settings, moderator:manage:chat_settings; one of moderator:read:unban_requests, moderator:manage:unban_requests; one of moderator:read:banned_users, moderator:manage:banned_users; one of moderator:read:chat_messages, moderator:manage:chat_messages; one of moderator:read:warnings, moderator:manage:warnings; moderator:read:moderators; moderator:read:vips.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose moderation actions to watch. |
moderator_user_id required | string | ID of the broadcaster or of a moderator of the channel, who granted the scopes. |
Event: ChannelModerateEvent
channel.moderate@1
Section titled “channel.moderate@1”A moderator took a moderation action in the channel. Version 1 does not report warnings. Narrow the event on action to read the matching details.
Scope: all of the following, granted by the user set as moderator_user_id: one of moderator:read:blocked_terms, moderator:manage:blocked_terms; one of moderator:read:chat_settings, moderator:manage:chat_settings; one of moderator:read:unban_requests, moderator:manage:unban_requests; one of moderator:read:banned_users, moderator:manage:banned_users; one of moderator:read:chat_messages, moderator:manage:chat_messages; moderator:read:moderators; moderator:read:vips.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose moderation actions to watch. |
moderator_user_id required | string | ID of the broadcaster or of a moderator of the channel, who granted the scopes. |
Event: ChannelModerateV1Event
channel.moderator.add
Section titled “channel.moderator.add”A user was made moderator of the channel.
Scope: moderation:read, granted by the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose new moderators to watch. |
Event: ChannelModeratorAddEvent
channel.moderator.remove
Section titled “channel.moderator.remove”A user lost moderator status in the channel.
Scope: moderation:read, granted by the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose removed moderators to watch. |
Event: ChannelModeratorRemoveEvent
channel.poll.begin
Section titled “channel.poll.begin”A poll started on the channel.
Scope: one of channel:read:polls, channel:manage:polls, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose polls are wanted. |
Event: ChannelPollBeginEvent
channel.poll.end
Section titled “channel.poll.end”A poll ended on the channel.
Scope: one of channel:read:polls, channel:manage:polls, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose polls are wanted. |
Event: ChannelPollEndEvent
channel.poll.progress
Section titled “channel.poll.progress”Viewers voted in a running poll.
Scope: one of channel:read:polls, channel:manage:polls, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose polls are wanted. |
Event: ChannelPollProgressEvent
channel.prediction.begin
Section titled “channel.prediction.begin”A Prediction started on the channel.
Scope: one of channel:read:predictions, channel:manage:predictions, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose Predictions are wanted. |
Event: ChannelPredictionBeginEvent
channel.prediction.end
Section titled “channel.prediction.end”A Prediction ended, resolved or canceled.
Scope: one of channel:read:predictions, channel:manage:predictions, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose Predictions are wanted. |
Event: ChannelPredictionEndEvent
channel.prediction.lock
Section titled “channel.prediction.lock”Betting closed on a Prediction.
Scope: one of channel:read:predictions, channel:manage:predictions, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose Predictions are wanted. |
Event: ChannelPredictionLockEvent
channel.prediction.progress
Section titled “channel.prediction.progress”Viewers bet on a running Prediction.
Scope: one of channel:read:predictions, channel:manage:predictions, from the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the channel whose Predictions are wanted. |
Event: ChannelPredictionProgressEvent
channel.raid
Section titled “channel.raid”A broadcaster raided another channel.
Scope: none.
Condition
| Name | Type | Description |
|---|---|---|
from_broadcaster_user_id | string | ID of the broadcaster whose outgoing raids to watch. |
to_broadcaster_user_id | string | ID of the broadcaster whose incoming raids to watch. |
Event: ChannelRaidEvent
channel.shared_chat.begin
Section titled “channel.shared_chat.begin”The channel became active in a shared chat session.
Scope: none.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose channel is watched. |
Event: ChannelSharedChatBeginEvent
channel.shared_chat.end
Section titled “channel.shared_chat.end”The channel left a shared chat session, or the session ended.
Scope: none.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose channel is watched. |
Event: ChannelSharedChatEndEvent
channel.shared_chat.update
Section titled “channel.shared_chat.update”The shared chat session the channel is in changed, for example its participants.
Scope: none.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose channel is watched. |
Event: ChannelSharedChatUpdateEvent
channel.shield_mode.begin
Section titled “channel.shield_mode.begin”Shield Mode was turned on in the channel.
Scope: one of moderator:read:shield_mode, moderator:manage:shield_mode, granted by the user set as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose Shield Mode to watch. |
moderator_user_id required | string | ID of the broadcaster or of a moderator of the channel, who granted the scope. |
Event: ChannelShieldModeBeginEvent
channel.shield_mode.end
Section titled “channel.shield_mode.end”Shield Mode was turned off in the channel.
Scope: one of moderator:read:shield_mode, moderator:manage:shield_mode, granted by the user set as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose Shield Mode to watch. |
moderator_user_id required | string | ID of the broadcaster or of a moderator of the channel, who granted the scope. |
Event: ChannelShieldModeEndEvent
channel.shoutout.create
Section titled “channel.shoutout.create”The broadcaster sent a Shoutout to another channel.
Scope: one of moderator:read:shoutouts, moderator:manage:shoutouts, granted by the user set as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose sent Shoutouts to watch. |
moderator_user_id required | string | ID of the broadcaster or of a moderator of the channel, who granted the scope. |
Event: ChannelShoutoutCreateEvent
channel.shoutout.receive
Section titled “channel.shoutout.receive”The broadcaster received a Shoutout from another channel. Fires only when Twitch posts the Shoutout to the activity feed of the broadcaster.
Scope: one of moderator:read:shoutouts, moderator:manage:shoutouts, granted by the user set as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose received Shoutouts to watch. |
moderator_user_id required | string | ID of the broadcaster or of a moderator of the channel, who granted the scope. |
Event: ChannelShoutoutReceiveEvent
channel.subscribe
Section titled “channel.subscribe”A user subscribed to the channel. Resubscriptions are not included.
Scope: channel:read:subscriptions, granted by the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose new subscribers to watch. |
Event: ChannelSubscribeEvent
channel.subscription.end
Section titled “channel.subscription.end”A subscription to the channel ended.
Scope: channel:read:subscriptions, granted by the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose ending subscriptions to watch. |
Event: ChannelSubscriptionEndEvent
channel.subscription.gift
Section titled “channel.subscription.gift”A viewer gifted one or more subscriptions in the channel.
Scope: channel:read:subscriptions, granted by the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose gifted subscriptions to watch. |
Event: ChannelSubscriptionGiftEvent
channel.subscription.message
Section titled “channel.subscription.message”A subscriber shared a resubscription message in chat.
Scope: channel:read:subscriptions, granted by the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose resubscription messages to watch. |
Event: ChannelSubscriptionMessageEvent
channel.suspicious_user.message
Section titled “channel.suspicious_user.message”A user flagged as suspicious sent a chat message.
Scope: moderator:read:suspicious_users, granted by the user set as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose chat to watch. |
moderator_user_id required | string | ID of the broadcaster or of a moderator of the channel, who granted the scope. |
Event: ChannelSuspiciousUserMessageEvent
channel.suspicious_user.update
Section titled “channel.suspicious_user.update”A moderator changed the treatment applied to a suspicious user.
Scope: moderator:read:suspicious_users, granted by the user set as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose suspicious users to watch. |
moderator_user_id required | string | ID of the broadcaster or of a moderator of the channel, who granted the scope. |
Event: ChannelSuspiciousUserUpdateEvent
channel.unban
Section titled “channel.unban”A viewer was unbanned in the channel.
Scope: channel:moderate, granted by the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose unbans to watch. |
Event: ChannelUnbanEvent
channel.unban_request.create
Section titled “channel.unban_request.create”A banned user created an unban request.
Scope: one of moderator:read:unban_requests, moderator:manage:unban_requests, granted by the user set as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose unban requests to watch. |
moderator_user_id required | string | ID of the broadcaster or of a moderator of the channel, who granted the scope. |
Event: ChannelUnbanRequestCreateEvent
channel.unban_request.resolve
Section titled “channel.unban_request.resolve”An unban request was approved, denied or canceled.
Scope: one of moderator:read:unban_requests, moderator:manage:unban_requests, granted by the user set as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose resolved unban requests to watch. |
moderator_user_id required | string | ID of the broadcaster or of a moderator of the channel, who granted the scope. |
Event: ChannelUnbanRequestResolveEvent
channel.update
Section titled “channel.update”The broadcaster changed the title, category, language or content classification labels of the channel.
Scope: none.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose channel settings to watch. |
Event: ChannelUpdateEvent
channel.vip.add
Section titled “channel.vip.add”A user was made VIP of the channel.
Scope: one of channel:read:vips, channel:manage:vips, granted by the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose new VIPs to watch. |
Event: ChannelVipAddEvent
channel.vip.remove
Section titled “channel.vip.remove”A user lost VIP status in the channel.
Scope: one of channel:read:vips, channel:manage:vips, granted by the broadcaster.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose removed VIPs to watch. |
Event: ChannelVipRemoveEvent
channel.warning.acknowledge
Section titled “channel.warning.acknowledge”A user acknowledged a warning they received in the channel.
Scope: one of moderator:read:warnings, moderator:manage:warnings, granted by the user set as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose warnings to watch. |
moderator_user_id required | string | ID of the broadcaster or of a moderator of the channel, who granted the scope. |
Event: ChannelWarningAcknowledgeEvent
channel.warning.send
Section titled “channel.warning.send”A warning was sent to a user in the channel.
Scope: one of moderator:read:warnings, moderator:manage:warnings, granted by the user set as moderator_user_id.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose warnings to watch. |
moderator_user_id required | string | ID of the broadcaster or of a moderator of the channel, who granted the scope. |
Event: ChannelWarningSendEvent
conduit.shard.disabled
Section titled “conduit.shard.disabled”EventSub disabled a conduit shard because the state of its transport changed.
Scope: none. Needs an app access token whose client ID equals client_id; with conduit_id, that client must own the conduit.
Condition
| Name | Type | Description |
|---|---|---|
client_id required | string | Client ID of the application; it must be the one of the app access token. |
conduit_id | string | Limits the notifications to this conduit; every conduit of the client when left out. |
Event: ConduitShardDisabledEvent
drop.entitlement.grant
Section titled “drop.entitlement.grant”Viewers were granted Drop entitlements. Delivered in batches: the event is an array of entitlements, and the subscription must be created with batching enabled. Webhooks and conduits only.
Scope: none. Needs an app access token from a client owned by a member of the organization.
Condition
| Name | Type | Description |
|---|---|---|
organization_id required | string | ID of the organization that owns the game in the developer console. |
category_id | string | Limits the notifications to this category (game). |
campaign_id | string | Limits the notifications to this Drops campaign. |
Event: DropEntitlementGrantEvent
extension.bits_transaction.create
Section titled “extension.bits_transaction.create”A Bits transaction was made in an extension. Webhooks and conduits only.
Scope: none. The client ID of the token must be the extension’s client ID.
Condition
| Name | Type | Description |
|---|---|---|
extension_client_id required | string | Client ID of the extension. |
Event: ExtensionBitsTransactionCreateEvent
stream.offline
Section titled “stream.offline”The broadcaster stopped streaming.
Scope: none.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose stream ends to watch. |
Event: StreamOfflineEvent
stream.online
Section titled “stream.online”The broadcaster started a stream.
Scope: none.
Condition
| Name | Type | Description |
|---|---|---|
broadcaster_user_id required | string | ID of the broadcaster whose stream starts to watch. |
Event: StreamOnlineEvent
user.authorization.grant
Section titled “user.authorization.grant”A user authorized the application. Webhooks and conduits only.
Scope: none. Needs an app access token whose client ID equals client_id.
Condition
| Name | Type | Description |
|---|---|---|
client_id required | string | Client ID of the application; it must be the one of the app access token. |
Event: UserAuthorizationGrantEvent
user.authorization.revoke
Section titled “user.authorization.revoke”The application lost a user’s authorization. Webhooks and conduits only.
Scope: none. Needs an app access token whose client ID equals client_id.
Condition
| Name | Type | Description |
|---|---|---|
client_id required | string | Client ID of the application; it must be the one of the app access token. |
Event: UserAuthorizationRevokeEvent
user.update
Section titled “user.update”A user changed their account (name, description, email…).
Scope: none. user:read:email from that user adds their email address to the event.
Condition
| Name | Type | Description |
|---|---|---|
user_id required | string | ID of the user to watch. |
Event: UserUpdateEvent
user.whisper.message
Section titled “user.whisper.message”The user received a whisper.
Scope: one of user:read:whispers, user:manage:whispers, from the user given as user_id.
Condition
| Name | Type | Description |
|---|---|---|
user_id required | string | ID of the user who receives the whispers. |
Event: UserWhisperMessageEvent