Contents

EventSub Reference

Request fields

Name Type Required? Description
type string yes The subscription type name.
version string yes The subscription type version: 1.
condition  condition  yes Subscription-specific parameters. The parameters inside this object differ by subscription type and may differ by version.
transport  transport  yes Transport-specific parameters.

Response fields

Name Type Description
subscription  subscription  Contains subscription metadata.
event  event  The event information. The fields inside this object differ by subscription type.

Objects

Bits Voting

NOTE: Bits voting is not supported.

Name Type Description
is_enabled boolean Not used; will be set to false.
amount_per_vote integer Not used; will be set to 0.

Channel Points Voting

Name Type Description
is_enabled boolean Indicates if Channel Points can be used for voting.
amount_per_vote integer Number of Channel Points required to vote once with Channel Points.

Choices

An array of the choices for a particular poll. Each poll’s event payload includes a choices array. The choices array contains an object that describes each choice and, if applicable, the votes for that choice.

Name Type Description
id string ID for the choice.
title string Text displayed for the choice.
bits_votes integer Not used; will be set to 0.
channel_points_votes integer Number of votes received via Channel Points.
votes integer Total number of votes received for the choice across all methods of voting.

Conditions

Channel Ban Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to get ban notifications for.

Channel Subscribe Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to get subscribe notifications for.

Channel Subscription End Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to get subscription end notifications for.

Channel Subscription Gift Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to get subscription gift notifications for.

Channel Subscription Message Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to get resubscription chat message notifications for.

Channel Cheer Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to get cheer notifications for.

Channel Update Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to get updates for.

Channel Follow Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to get follow notifications for.
moderator_user_id string yes The ID of the moderator of the channel you want to get follow notifications for. If you have authorization from the broadcaster rather than a moderator, specify the broadcaster’s user ID here.

Channel Unban Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to get unban notifications for.

Channel Raid Condition

Name Type Required? Description
from_broadcaster_user_id string no The broadcaster user ID that created the channel raid you want to get notifications for. Use this parameter if you want to know when a specific broadcaster raids another broadcaster. The channel raid condition must include either from_broadcaster_user_id or to_broadcaster_user_id.
to_broadcaster_user_id string no The broadcaster user ID that received the channel raid you want to get notifications for. Use this parameter if you want to know when a specific broadcaster is raided by another broadcaster. The channel raid condition must include either from_broadcaster_user_id or to_broadcaster_user_id.

Channel Moderator Add Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to get moderator addition notifications for.

Channel Moderator Remove Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to get moderator removal notifications for.

Channel Guest Star Session Begin Condition

Name Type Required? Description
broadcaster_user_id String yes The broadcaster user ID of the channel hosting the Guest Star Session
moderator_user_id String yes The user ID of the moderator or broadcaster of the specified channel.

Channel Guest Star Session End Condition

Name Type Required? Description
broadcaster_user_id String yes The broadcaster user ID of the channel hosting the Guest Star Session
moderator_user_id String yes The user ID of the moderator or broadcaster of the specified channel.

Channel Guest Star Guest Update Condition

Name Type Required? Description
broadcaster_user_id String yes The broadcaster user ID of the channel hosting the Guest Star Session
moderator_user_id String yes The user ID of the moderator or broadcaster of the specified channel.

Channel Guest Star Settings Update Condition

Name Type Required? Description
broadcaster_user_id String yes The broadcaster user ID of the channel hosting the Guest Star Session
moderator_user_id String yes The user ID of the moderator or broadcaster of the specified channel.

Channel Points Custom Reward Add Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to receive channel points custom reward add notifications for.

Channel Points Custom Reward Update Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to receive channel points custom reward update notifications for.
reward_id string no Optional. Specify a reward id to only receive notifications for a specific reward.

Channel Points Custom Reward Remove Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to receive channel points custom reward remove notifications for.
reward_id string no Optional. Specify a reward id to only receive notifications for a specific reward.

Channel Points Custom Reward Redemption Add Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to receive channel points custom reward redemption add notifications for.
reward_id string no Optional. Specify a reward id to only receive notifications for a specific reward.

Channel Points Custom Reward Redemption Update Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID for the channel you want to receive channel points custom reward redemption update notifications for.
reward_id string no Optional. Specify a reward id to only receive notifications for a specific reward.

Channel Poll Begin Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID of the channel for which “poll begin” notifications will be received.

Channel Poll Progress Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID of the channel for which “poll progress” notifications will be received.

Channel Poll End Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID of the channel for which “poll end” notifications will be received.

Channel Prediction Begin Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID of the channel for which “prediction begin” notifications will be received.

Channel Prediction Progress Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID of the channel for which “prediction progress” notifications will be received.

Channel Prediction Lock Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID of the channel for which “prediction lock” notifications will be received.

Channel Prediction End Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID of the channel for which “prediction end” notifications will be received.

Drop Entitlement Grant Condition

Name Type Required? Description
organization_id string yes The organization ID of the organization that owns the game on the developer portal.
category_id string no The category (or game) ID of the game for which entitlement notifications will be received.
campaign_id string no The campaign ID for a specific campaign for which entitlement notifications will be received.

Extension Bits Transaction Create Condition

Name Type Required? Description
extension_client_id string yes The client ID of the extension.

Goals Condition

Name Type Required? Description
broadcaster_user_id string yes The ID of the broadcaster to get notified about. The ID must match the user_id in the OAuth access token.

Hype Train Begin Condition

Name Type Required? Description
broadcaster_user_id string yes The ID of the broadcaster that you want to get Hype Train begin notifications for.

Hype Train Progress Condition

Name Type Required? Description
broadcaster_user_id string yes The ID of the broadcaster that you want to get Hype Train progress notifications for.

Hype Train End Condition

Name Type Required? Description
broadcaster_user_id string yes The ID of the broadcaster that you want to get Hype Train end notifications for.

Stream Online Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID you want to get stream online notifications for.

Stream Offline Condition

Name Type Required? Description
broadcaster_user_id string yes The broadcaster user ID you want to get stream offline notifications for.

User Authorization Grant Condition

Name Type Required? Description
client_id string yes Your application’s client id. The provided client_id must match the client id in the application access token.

User Authorization Revoke Condition

Name Type Required? Description
client_id string yes Your application’s client id. The provided client_id must match the client id in the application access token.

User Update Condition

Name Type Required? Description
user_id string yes The user ID for the user you want update notifications for.

Emotes

Name Type Description
begin int The index of where the Emote starts in the text.
end int The index of where the Emote ends in the text.
id string The emote ID.

Events

Channel Ban Event

Name Type Description
user_id string The user ID for the user who was banned on the specified channel.
user_login string The user login for the user who was banned on the specified channel.
user_name string The user display name for the user who was banned on the specified channel.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
moderator_user_id string The user ID of the issuer of the ban.
moderator_user_login string The user login of the issuer of the ban.
moderator_user_name string The user name of the issuer of the ban.
reason string The reason behind the ban.
banned_at string The UTC date and time (in RFC3339 format) of when the user was banned or put in a timeout.
ends_at string The UTC date and time (in RFC3339 format) of when the timeout ends. Is null if the user was banned instead of put in a timeout.
is_permanent boolean Indicates whether the ban is permanent (true) or a timeout (false). If true, ends_at will be null.

Channel Subscribe Event

Name Type Description
user_id string The user ID for the user who subscribed to the specified channel.
user_login string The user login for the user who subscribed to the specified channel.
user_name string The user display name for the user who subscribed to the specified channel.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
tier string The tier of the subscription. Valid values are 1000, 2000, and 3000.
is_gift boolean Whether the subscription is a gift.

Channel Cheer Event

Name Type Description
is_anonymous boolean Whether the user cheered anonymously or not.
user_id string The user ID for the user who cheered on the specified channel. This is null if is_anonymous is true.
user_login string The user login for the user who cheered on the specified channel. This is null if is_anonymous is true.
user_name string The user display name for the user who cheered on the specified channel. This is null if is_anonymous is true.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
message string The message sent with the cheer.
bits integer The number of bits cheered.

Channel Update Event

Name Type Description
broadcaster_user_id string The broadcaster’s user ID.
broadcaster_user_login string The broadcaster’s user login.
broadcaster_user_name string The broadcaster’s user display name.
title string The channel’s stream title.
language string The channel’s broadcast language.
category_id string The channel’s category ID.
category_name string The category name.
content_classification_labels string[] Array of content classification label IDs currently applied on the Channel. To retrieve a list of all possible IDs, use the Get Content Classification Labels API endpoint.

Channel Unban Event

Name Type Description
user_id string The user id for the user who was unbanned on the specified channel.
user_login string The user login for the user who was unbanned on the specified channel.
user_name string The user display name for the user who was unbanned on the specified channel.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
moderator_user_id string The user ID of the issuer of the unban.
moderator_user_login string The user login of the issuer of the unban.
moderator_user_name string The user name of the issuer of the unban.

Channel Follow Event

Name Type Description
user_id string The user ID for the user now following the specified channel.
user_login string The user login for the user now following the specified channel.
user_name string The user display name for the user now following the specified channel.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
followed_at string RFC3339 timestamp of when the follow occurred.

Channel Raid Event

Name Type Description
from_broadcaster_user_id string The broadcaster ID that created the raid.
from_broadcaster_user_login string The broadcaster login that created the raid.
from_broadcaster_user_name string The broadcaster display name that created the raid.
to_broadcaster_user_id string The broadcaster ID that received the raid.
to_broadcaster_user_login string The broadcaster login that received the raid.
to_broadcaster_user_name string The broadcaster display name that received the raid.
viewers integer The number of viewers in the raid.

Channel Moderator Add Event

Name Type Description
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
user_id string The user ID of the new moderator.
user_login string The user login of the new moderator.
user_name string The display name of the new moderator.

Channel Moderator Remove Event

Name Type Description
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
user_id string The user ID of the removed moderator.
user_login string The user login of the removed moderator.
user_name string The display name of the removed moderator.

Channel Guest Star Session Begin Event

Name Type Description
broadcaster_user_id String The broadcaster user ID
broadcaster_user_name String The broadcaster display name
broadcaster_user_login String The broadcaster login
session_id String ID representing the unique session that was started.
started_at String RFC3339 timestamp indicating the time the session began.

Channel Guest Star Session End Event

Name Type Description
broadcaster_user_id String The broadcaster user ID
broadcaster_user_name String The broadcaster display name
broadcaster_user_login String The broadcaster login
session_id String ID representing the unique session that was started.
started_at String RFC3339 timestamp indicating the time the session began.
ended_at String RFC3339 timestamp indicating the time the session ended.

Channel Guest Star Guest Update Event

Name Type Description
broadcaster_user_id String The broadcaster user ID
broadcaster_user_name String The broadcaster display name
broadcaster_user_login String The broadcaster login
session_id String ID representing the unique session that was started.
moderator_user_id String The user ID of the moderator who updated the guest’s state (could be the host). null if the update was performed by the guest.
moderator_user_name String The moderator display name. null if the update was performed by the guest.
moderator_user_login String The moderator login. null if the update was performed by the guest.
guest_user_id String The user ID of the guest who transitioned states in the session. null if the slot is now empty.
guest_user_name String The guest display name. null if the slot is now empty.
guest_user_login String The guest login. null if the slot is now empty.
slot_id String The ID of the slot assignment the guest is assigned to. null if the guest is in the INVITED, REMOVED, READY, or ACCEPTED state.
state String The current state of the user after the update has taken place. null if the slot is now empty. Can otherwise be one of the following:
  • invited — The guest has transitioned to the invite queue. This can take place when the guest was previously assigned a slot, but have been removed from the call and are sent back to the invite queue.
  • accepted — The guest has accepted the invite and is currently in the process of setting up to join the session.
  • ready — The guest has signaled they are ready and can be assigned a slot.
  • backstage — The guest has been assigned a slot in the session, but is not currently seen live in the broadcasting software.
  • live — The guest is now live in the host's broadcasting software.
  • removed — The guest was removed from the call or queue.
    • accepted — The guest has accepted the invite to the call.
host_video_enabled Boolean Flag that signals whether the host is allowing the slot’s video to be seen by participants within the session. null if the guest is not slotted.
host_audio_enabled Boolean Flag that signals whether the host is allowing the slot’s audio to be heard by participants within the session. null if the guest is not slotted.
host_volume int Value between 0-100 that represents the slot’s audio level as heard by participants within the session. null if the guest is not slotted.

Channel Guest Star Settings Update Event

Name Type Description
broadcaster_user_id String User ID of the host channel
broadcaster_user_name String The broadcaster display name
broadcaster_user_login String The broadcaster login
is_moderator_send_live_enabled Boolean Flag determining if Guest Star moderators have access to control whether a guest is live once assigned to a slot.
slot_count Integer Number of slots the Guest Star call interface will allow the host to add to a call.
is_browser_source_audio_enabled Boolean Flag determining if browser sources subscribed to sessions on this channel should output audio
group_layout String This setting determines how the guests within a session should be laid out within a group browser source. Can be one of the following values:
  • tiled — All live guests are tiled within the browser source with the same size.
  • screenshare — All live guests are tiled within the browser source with the same size. If there is an active screen share, it is sized larger than the other guests.

Channel Poll Begin Event

Name Type Description
id string ID of the poll.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
title string Question displayed for the poll.
choices choices An array of choices for the poll.
bits_voting bits_voting Not supported.
channel_points_voting channel_points_voting The Channel Points voting settings for the poll.
started_at string The time the poll started.
ends_at string The time the poll will end.

Channel Poll Progress Event

Name Type Description
id string ID of the poll.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
title string Question displayed for the poll.
choices choices An array of choices for the poll. Includes vote counts.
bits_voting bits_voting Not supported.
channel_points_voting channel_points_voting The Channel Points voting settings for the poll.
started_at string The time the poll started.
ends_at string The time the poll will end.

Channel Poll End Event

Name Type Description
id string ID of the poll.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
title string Question displayed for the poll.
choices choices An array of choices for the poll. Includes vote counts.
bits_voting bits_voting Not supported.
channel_points_voting channel_points_voting The Channel Points voting settings for the poll.
status string The status of the poll. Valid values are completed, archived, and terminated.
started_at string The time the poll started.
ended_at string The time the poll ended.

Channel Points Custom Reward Add Event

Name Type Description
id string The reward identifier.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
is_enabled boolean Is the reward currently enabled. If false, the reward won’t show up to viewers.
is_paused boolean Is the reward currently paused. If true, viewers can’t redeem.
is_in_stock boolean Is the reward currently in stock. If false, viewers can’t redeem.
title string The reward title.
cost integer The reward cost.
prompt string The reward description.
is_user_input_required boolean Does the viewer need to enter information when redeeming the reward.
should_redemptions_skip_request_queue boolean Should redemptions be set to fulfilled status immediately when redeemed and skip the request queue instead of the normal unfulfilled status.
max_per_stream  max_per_stream  Whether a maximum per stream is enabled and what the maximum is.
max_per_user_per_stream  max_per_user_per_stream  Whether a maximum per user per stream is enabled and what the maximum is.
background_color string Custom background color for the reward. Format: Hex with # prefix. Example: #FA1ED2.
image  image  Set of custom images of 1x, 2x and 4x sizes for the reward. Can be null if no images have been uploaded.
default_image  image  Set of default images of 1x, 2x and 4x sizes for the reward.
global_cooldown  global_cooldown  Whether a cooldown is enabled and what the cooldown is in seconds.
cooldown_expires_at string Timestamp of the cooldown expiration. null if the reward isn’t on cooldown.
redemptions_redeemed_current_stream integer The number of redemptions redeemed during the current live stream. Counts against the max_per_stream limit. null if the broadcasters stream isn’t live or max_per_stream isn’t enabled.

Channel Points Custom Reward Update Event

Name Type Description
id string The reward identifier.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
is_enabled boolean Is the reward currently enabled. If false, the reward won’t show up to viewers.
is_paused boolean Is the reward currently paused. If true, viewers can’t redeem.
is_in_stock boolean Is the reward currently in stock. If false, viewers can’t redeem.
title string The reward title.
cost integer The reward cost.
prompt string The reward description.
is_user_input_required boolean Does the viewer need to enter information when redeeming the reward.
should_redemptions_skip_request_queue boolean Should redemptions be set to fulfilled status immediately when redeemed and skip the request queue instead of the normal unfulfilled status.
max_per_stream  max_per_stream  Whether a maximum per stream is enabled and what the maximum is.
max_per_user_per_stream  max_per_user_per_stream  Whether a maximum per user per stream is enabled and what the maximum is.
background_color string Custom background color for the reward. Format: Hex with # prefix. Example: #FA1ED2.
image  image  Set of custom images of 1x, 2x and 4x sizes for the reward. Can be null if no images have been uploaded.
default_image  image  Set of default images of 1x, 2x and 4x sizes for the reward.
global_cooldown  global_cooldown  Whether a cooldown is enabled and what the cooldown is in seconds.
cooldown_expires_at string Timestamp of the cooldown expiration. null if the reward isn’t on cooldown.
redemptions_redeemed_current_stream integer The number of redemptions redeemed during the current live stream. Counts against the max_per_stream limit. null if the broadcasters stream isn’t live or max_per_stream isn’t enabled.

Channel Points Custom Reward Remove Event

Name Type Description
id string The reward identifier.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
is_enabled boolean Is the reward currently enabled. If false, the reward won’t show up to viewers.
is_paused boolean Is the reward currently paused. If true, viewers can’t redeem.
is_in_stock boolean Is the reward currently in stock. If false, viewers can’t redeem.
title string The reward title.
cost integer The reward cost.
prompt string The reward description.
is_user_input_required boolean Does the viewer need to enter information when redeeming the reward.
should_redemptions_skip_request_queue boolean Should redemptions be set to fulfilled status immediately when redeemed and skip the request queue instead of the normal unfulfilled status.
max_per_stream  max_per_stream  Whether a maximum per stream is enabled and what the maximum is.
max_per_user_per_stream  max_per_user_per_stream  Whether a maximum per user per stream is enabled and what the maximum is.
background_color string Custom background color for the reward. Format: Hex with # prefix. Example: #FA1ED2.
image  image  Set of custom images of 1x, 2x and 4x sizes for the reward. Can be null if no images have been uploaded.
default_image  image  Set of default images of 1x, 2x and 4x sizes for the reward.
global_cooldown  global_cooldown  Whether a cooldown is enabled and what the cooldown is in seconds.
cooldown_expires_at string Timestamp of the cooldown expiration. null if the reward isn’t on cooldown.
redemptions_redeemed_current_stream integer The number of redemptions redeemed during the current live stream. Counts against the max_per_stream limit. null if the broadcasters stream isn’t live or max_per_stream isn’t enabled.

Channel Points Custom Reward Redemption Add Event

Name Type Description
id string The redemption identifier.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
user_id string User ID of the user that redeemed the reward.
user_login string Login of the user that redeemed the reward.
user_name string Display name of the user that redeemed the reward.
user_input string The user input provided. Empty string if not provided.
status string Defaults to unfulfilled. Possible values are unknownunfulfilledfulfilled, and canceled.
reward  reward  Basic information about the reward that was redeemed, at the time it was redeemed.
redeemed_at string RFC3339 timestamp of when the reward was redeemed.

Channel Points Custom Reward Redemption Update Event

Name Type Description
id string The redemption identifier.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
user_id string User ID of the user that redeemed the reward.
user_login string Login of the user that redeemed the reward.
user_name string Display name of the user that redeemed the reward.
user_input string The user input provided. Empty string if not provided.
status string Will be fulfilled or canceled. Possible values are unknownunfulfilledfulfilled, and canceled.
reward  reward  Basic information about the reward that was redeemed, at the time it was redeemed.
redeemed_at string RFC3339 timestamp of when the reward was redeemed.

Channel Prediction Begin Event

Name Type Description
id string Channel Points Prediction ID.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
title string Title for the Channel Points Prediction.
outcomes outcomes An array of outcomes for the Channel Points Prediction.
started_at string The time the Channel Points Prediction started.
locks_at string The time the Channel Points Prediction will automatically lock.

Channel Prediction Progress Event

Name Type Description
id string Channel Points Prediction ID.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
title string Title for the Channel Points Prediction.
outcomes outcomes An array of outcomes for the Channel Points Prediction. Includes top_predictors.
started_at string The time the Channel Points Prediction started.
locks_at string The time the Channel Points Prediction will automatically lock.

Channel Prediction Lock Event

Name Type Description
id string Channel Points Prediction ID.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
title string Title for the Channel Points Prediction.
outcomes outcomes An array of outcomes for the Channel Points Prediction. Includes top_predictors.
started_at string The time the Channel Points Prediction started.
locked_at string The time the Channel Points Prediction was locked.

Channel Prediction End Event

Name Type Description
id string Channel Points Prediction ID.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
title string Title for the Channel Points Prediction.
winning_outcome_id string ID of the winning outcome.
outcomes outcomes An array of outcomes for the Channel Points Prediction. Includes top_predictors.
status string The status of the Channel Points Prediction. Valid values are resolved and canceled.
started_at string The time the Channel Points Prediction started.
ended_at string The time the Channel Points Prediction ended.

Channel Subscription End Event

Name Type Description
user_id string The user ID for the user whose subscription ended.
user_login string The user login for the user whose subscription ended.
user_name string The user display name for the user whose subscription ended.
broadcaster_user_id string The broadcaster user ID.
broadcaster_user_login string The broadcaster login.
broadcaster_user_name string The broadcaster display name.
tier string The tier of the subscription that ended. Valid values are 1000, 2000, and 3000.
is_gift boolean Whether the subscription was a gift.

Channel Subscription Gift Event

Name Type Description
user_id string The user ID of the user who sent the subscription gift. Set to null if it was an anonymous subscription gift.
user_login string The user login of the user who sent the gift. Set to null if it was an anonymous subscription gift.
user_name string The user display name of the user who sent the gift. Set to null if it was an anonymous subscription gift.
broadcaster_user_id string The broadcaster user ID.
broadcaster_user_login string The broadcaster login.
broadcaster_user_name string The broadcaster display name.
total integer The number of subscriptions in the subscription gift.
tier string The tier of subscriptions in the subscription gift.
cumulative_total integer The number of subscriptions gifted by this user in the channel. This value is null for anonymous gifts or if the gifter has opted out of sharing this information.
is_anonymous boolean Whether the subscription gift was anonymous.

Channel Subscription Message Event

Name Type Description
user_id string The user ID of the user who sent a resubscription chat message.
user_login string The user login of the user who sent a resubscription chat message.
user_name string The user display name of the user who a resubscription chat message.
broadcaster_user_id string The broadcaster user ID.
broadcaster_user_login string The broadcaster login.
broadcaster_user_name string The broadcaster display name.
tier string The tier of the user’s subscription.
message message An object that contains the resubscription message and emote information needed to recreate the message.
cumulative_months integer The total number of months the user has been subscribed to the channel.
streak_months integer The number of consecutive months the user’s current subscription has been active. This value is null if the user has opted out of sharing this information.
duration_months integer The month duration of the subscription.

Charity Donation Event

Defines the data you receive in your event handler when users donate to the broadcaster’s charity campaign (see channel.charity_campaign.donate).

Field Type Description
id String An ID that identifies the donation. The ID is unique across campaigns.
campaign_id String An ID that identifies the charity campaign.
broadcaster_id String An ID that identifies the broadcaster that’s running the campaign.
broadcaster_login String The broadcaster’s login name.
broadcaster_name String The broadcaster’s display name.
user_id String An ID that identifies the user that donated to the campaign.
user_login String The user’s login name.
user_name String The user’s display name.
charity_name String The charity’s name.
charity_description String A description of the charity.
charity_logo String A URL to an image of the charity’s logo. The image’s type is PNG and its size is 100px X 100px.
charity_website String A URL to the charity’s website.
amount Object An object that contains the amount of money that the user donated.
   value Integer The monetary amount. The amount is specified in the currency’s minor unit. For example, the minor units for USD is cents, so if the amount is $5.50 USD, value is set to 550.
   decimal_places Integer The number of decimal places used by the currency. For example, USD uses two decimal places. Use this number to translate value from minor units to major units by using the formula:

value / 10^decimal_places
   currency String The ISO-4217 three-letter currency code that identifies the type of currency in value.

Charity Campaign Start Event

Defines the data you receive in your event handler when the broadcaster starts a charity campaign (see channel.charity_campaign.start).

Field Type Description
id String An ID that identifies the charity campaign.
broadcaster_id String An ID that identifies the broadcaster that’s running the campaign.
broadcaster_login String The broadcaster’s login name.
broadcaster_name String The broadcaster’s display name.
charity_name String The charity’s name.
charity_description String A description of the charity.
charity_logo String A URL to an image of the charity’s logo. The image’s type is PNG and its size is 100px X 100px.
charity_website String A URL to the charity’s website.
current_amount Object An object that contains the current amount of donations that the campaign has received.
   value Integer The monetary amount. The amount is specified in the currency’s minor unit. For example, the minor units for USD is cents, so if the amount is $5.50 USD, value is set to 550.
   decimal_places Integer The number of decimal places used by the currency. For example, USD uses two decimal places. Use this number to translate value from minor units to major units by using the formula:

value / 10^decimal_places
   currency String The ISO-4217 three-letter currency code that identifies the type of currency in value.
target_amount Object An object that contains the campaign’s target fundraising goal.
   value Integer The monetary amount. The amount is specified in the currency’s minor unit. For example, the minor units for USD is cents, so if the amount is $5.50 USD, value is set to 550.
   decimal_places Integer The number of decimal places used by the currency. For example, USD uses two decimal places. Use this number to translate value from minor units to major units by using the formula:

value / 10^decimal_places
   currency String The ISO-4217 three-letter currency code that identifies the type of currency in value.
started_at String The UTC timestamp (in RFC3339 format) of when the broadcaster started the campaign.

Charity Campaign Progress Event

Defines the data you receive in your event handler when progress is made towards the campaign’s goal or when the broadcaster changes the fundraising goal (see channel.charity_campaign.progress).

Field Type Description
id String An ID that identifies the charity campaign.
broadcaster_id String An ID that identifies the broadcaster that’s running the campaign.
broadcaster_login String The broadcaster’s login name.
broadcaster_name String The broadcaster’s display name.
charity_name String The charity’s name.
charity_description String A description of the charity.
charity_logo String A URL to an image of the charity’s logo. The image’s type is PNG and its size is 100px X 100px.
charity_website String A URL to the charity’s website.
current_amount Object An object that contains the current amount of donations that the campaign has received.
   value Integer The monetary amount. The amount is specified in the currency’s minor unit. For example, the minor units for USD is cents, so if the amount is $5.50 USD, value is set to 550.
   decimal_places Integer The number of decimal places used by the currency. For example, USD uses two decimal places. Use this number to translate value from minor units to major units by using the formula:

value / 10^decimal_places
   currency String The ISO-4217 three-letter currency code that identifies the type of currency in value.
target_amount Object An object that contains the campaign’s target fundraising goal.
   value Integer The monetary amount. The amount is specified in the currency’s minor unit. For example, the minor units for USD is cents, so if the amount is $5.50 USD, value is set to 550.
   decimal_places Integer The number of decimal places used by the currency. For example, USD uses two decimal places. Use this number to translate value from minor units to major units by using the formula:

value / 10^decimal_places
   currency String The ISO-4217 three-letter currency code that identifies the type of currency in value.

Charity Campaign Stop Event

Defines the data you receive in your event handler when the broadcaster stops the charity campaign (see channel.charity_campaign.stop).

Field Type Description
id String An ID that identifies the charity campaign.
broadcaster_id String An ID that identifies the broadcaster that ran the campaign.
broadcaster_login String The broadcaster’s login name.
broadcaster_name String The broadcaster’s display name.
charity_name String The charity’s name.
charity_description String A description of the charity.
charity_logo String A URL to an image of the charity’s logo. The image’s type is PNG and its size is 100px X 100px.
charity_website String A URL to the charity’s website.
current_amount Object An object that contains the final amount of donations that the campaign received.
   value Integer The monetary amount. The amount is specified in the currency’s minor unit. For example, the minor units for USD is cents, so if the amount is $5.50 USD, value is set to 550.
   decimal_places Integer The number of decimal places used by the currency. For example, USD uses two decimal places. Use this number to translate value from minor units to major units by using the formula:

value / 10^decimal_places
   currency String The ISO-4217 three-letter currency code that identifies the type of currency in value.
target_amount Object An object that contains the campaign’s target fundraising goal.
   value Integer The monetary amount. The amount is specified in the currency’s minor unit. For example, the minor units for USD is cents, so if the amount is $5.50 USD, value is set to 550.
   decimal_places Integer The number of decimal places used by the currency. For example, USD uses two decimal places. Use this number to translate value from minor units to major units by using the formula:

value / 10^decimal_places
   currency String The ISO-4217 three-letter currency code that identifies the type of currency in value.
stopped_at String The UTC timestamp (in RFC3339 format) of when the broadcaster stopped the campaign.

Drop Entitlement Grant Event

Name Type Description
id string Individual event ID, as assigned by EventSub. Use this for de-duplicating messages.
data array Entitlement object.

data Object

Name Type Description
organization_id string The ID of the organization that owns the game that has Drops enabled.
category_id string Twitch category ID of the game that was being played when this benefit was entitled.
category_name string The category name.
campaign_id string The campaign this entitlement is associated with.
user_id string Twitch user ID of the user who was granted the entitlement.
user_name string The user display name of the user who was granted the entitlement.
user_login string The user login of the user who was granted the entitlement.
entitlement_id string Unique identifier of the entitlement. Use this to de-duplicate entitlements.
benefit_id string Identifier of the Benefit.
created_at string UTC timestamp in ISO format when this entitlement was granted on Twitch.

Extension Bits Transaction Create Event

Name Type Description
extension_client_id string Client ID of the extension.
id string Transaction ID.
broadcaster_user_id string The transaction’s broadcaster ID.
broadcaster_user_login string The transaction’s broadcaster login.
broadcaster_user_name string The transaction’s broadcaster display name.
user_id string The transaction’s user ID.
user_login string The transaction’s user login.
user_name string The transaction’s user display name.
product product Additional extension product information.

Goals Event

Defines the event payload for a Goals event.

Name Type Description
id string An ID that identifies this event.
broadcaster_user_id string An ID that uniquely identifies the broadcaster.
broadcaster_user_name string The broadcaster’s display name.
broadcaster_user_login string The broadcaster’s user handle.
type string The type of goal. Possible values are:
  • follow — The goal is to increase followers.
  • subscription — The goal is to increase subscriptions. This type shows the net increase or decrease in tier points associated with the subscriptions.
  • subscription_count — The goal is to increase subscriptions. This type shows the net increase or decrease in the number of subscriptions.
  • new_subscription — The goal is to increase subscriptions. This type shows only the net increase in tier points associated with the subscriptions (it does not account for users that unsubscribed since the goal started).
  • new_subscription_count — The goal is to increase subscriptions. This type shows only the net increase in the number of subscriptions (it does not account for users that unsubscribed since the goal started).
description string A description of the goal, if specified. The description may contain a maximum of 40 characters.
is_achieved Boolean A Boolean value that indicates whether the broadcaster achieved their goal. Is true if the goal was achieved; otherwise, false.

Only the channel.goal.end event includes this field.
current_amount integer The goal’s current value.

The goal’s type determines how this value is increased or decreased.
  • If type is follow, this field is set to the broadcaster's current number of followers. This number increases with new followers and decreases when users unfollow the broadcaster.
  • If type is subscription, this field is increased and decreased by the points value associated with the subscription tier. For example, if a tier-two subscription is worth 2 points, this field is increased or decreased by 2, not 1.
  • If type is subscription_count, this field is increased by 1 for each new subscription and decreased by 1 for each user that unsubscribes.
  • If type is new_subscription, this field is increased by the points value associated with the subscription tier. For example, if a tier-two subscription is worth 2 points, this field is increased by 2, not 1.
  • If type is new_subscription_count, this field is increased by 1 for each new subscription.
target_amount integer The goal’s target value. For example, if the broadcaster has 200 followers before creating the goal, and their goal is to double that number, this field is set to 400.
started_at string The UTC timestamp in RFC 3339 format, which indicates when the broadcaster created the goal.
ended_at string The UTC timestamp in RFC 3339 format, which indicates when the broadcaster ended the goal.

Only the channel.goal.end event includes this field.

Hype Train Begin Event

Name Type Description
id string The Hype Train ID.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
total integer Total points contributed to the Hype Train.
progress integer The number of points contributed to the Hype Train at the current level.
goal integer The number of points required to reach the next level.
top_contributions  top_contributions  The contributors with the most points contributed.
last_contribution  last_contribution  The most recent contribution.
level integer The starting level of the Hype Train.
started_at string The time when the Hype Train started.
expires_at string The time when the Hype Train expires. The expiration is extended when the Hype Train reaches a new level.

Hype Train Progress Event

Name Type Description
id string The Hype Train ID.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
level integer The current level of the Hype Train.
total integer Total points contributed to the Hype Train.
progress integer The number of points contributed to the Hype Train at the current level.
goal integer The number of points required to reach the next level.
top_contributions  top_contributions  The contributors with the most points contributed.
last_contribution  last_contribution  The most recent contribution.
started_at string The time when the Hype Train started.
expires_at string The time when the Hype Train expires. The expiration is extended when the Hype Train reaches a new level.

Hype Train End Event

Name Type Description
id string The Hype Train ID.
broadcaster_user_id string The requested broadcaster ID.
broadcaster_user_login string The requested broadcaster login.
broadcaster_user_name string The requested broadcaster display name.
level integer The final level of the Hype Train.
total integer Total points contributed to the Hype Train.
top_contributions  top_contributions  The contributors with the most points contributed.
started_at string The time when the Hype Train started.
ended_at string The time when the Hype Train ended.
cooldown_ends_at string The time when the Hype Train cooldown ends so that the next Hype Train can start.

Stream Online Event

Name Type Description
id string The id of the stream.
broadcaster_user_id string The broadcaster’s user id.
broadcaster_user_login string The broadcaster’s user login.
broadcaster_user_name string The broadcaster’s user display name.
type string The stream type. Valid values are: liveplaylistwatch_partypremierererun.
started_at string The timestamp at which the stream went online at.

Stream Offline Event

Name Type Description
broadcaster_user_id string The broadcaster’s user id.
broadcaster_user_login string The broadcaster’s user login.
broadcaster_user_name string The broadcaster’s user display name.

User Authorization Grant Event

Name Type Description
client_id string The client_id of the application that was granted user access.
user_id string The user id for the user who has granted authorization for your client id.
user_login string The user login for the user who has granted authorization for your client id.
user_name string The user display name for the user who has granted authorization for your client id.

User Authorization Revoke Event

Name Type Description
client_id string The client_id of the application with revoked user access.
user_id string The user id for the user who has revoked authorization for your client id.
user_login string The user login for the user who has revoked authorization for your client id. This is null if the user no longer exists.
user_name string The user display name for the user who has revoked authorization for your client id. This is null if the user no longer exists.

User Update Event

Name Type Description
user_id string The user’s user id.
user_login string The user’s user login.
user_name string The user’s user display name.
email string The user’s email address. The event includes the user’s email address only if the app used to request this event type includes the user:read:email scope for the user; otherwise, the field is set to an empty string. See Create EventSub Subscription.
email_verified boolean A Boolean value that determines whether Twitch has verified the user’s email address. Is true if Twitch has verified the email address; otherwise, false.

NOTE: Ignore this field if the email field contains an empty string.
description string The user’s description.

Global Cooldown

Name Type Description
is_enabled boolean Is the setting enabled.
seconds integer The cooldown in seconds.

Image

Name Type Description
url_1x string URL for the image at 1x size.
url_2x string URL for the image at 2x size.
url_4x string URL for the image at 4x size.

Last Contribution

The most recent contribution towards the Hype Train’s goal.

Name Type Description
user_id string The ID of the user that made the contribution.
user_login string The user’s login name.
user_name string The user’s display name.
type string The contribution method used. Possible values are:
  • bits — Cheering with Bits.
  • subscription — Subscription activity like subscribing or gifting subscriptions.
  • other — Covers other contribution methods not listed.
total integer The total amount contributed. If type is bits, total represents the amount of Bits used. If type is subscription, total is 500, 1000, or 2500 to represent tier 1, 2, or 3 subscriptions, respectively.

Max Per Stream

Name Type Description
is_enabled boolean Is the setting enabled.
value integer The max per stream limit.

Max Per User Per Stream

Name Type Description
is_enabled boolean Is the setting enabled.
value integer The max per user per stream limit.

Message

Name Type Description
text string The text of the resubscription chat message.
emotes emotes An array that includes the emote ID and start and end positions for where the emote appears in the text.

Outcomes

An array of the outcomes for a particular Channel Points Prediction. Each Prediction’s event payload includes an outcomes array. The outcomes array contains an object that describes each outcome and, if applicable, the number of users who selected that outcome, the number of Channel Points for that outcome, and an array of top_predictors.

Name Type Description
id string The outcome ID.
title string The outcome title.
color string The color for the outcome. Valid values are pink and blue.
users integer The number of users who used Channel Points on this outcome.
channel_points int The total number of Channel Points used on this outcome.
top_predictors top_predictors An array of users who used the most Channel Points on this outcome.

Product

Additional information about a product acquired via a Twitch Extension Bits transaction.

Name Type Description
name string Product name.
bits integer Bits involved in the transaction.
sku string Unique identifier for the product acquired.
in_development boolean Flag indicating if the product is in development. If in_development is true, bits will be 0.

Reward

Name Type Description
id string The reward identifier.
title string The reward name.
cost integer The reward cost.
prompt string The reward description.

Shield Mode

Defines the Shield Mode data that you receive when the channel.shield_mode.begin and channel.shield_mode.end events occur.

Field Type Description
broadcaster_user_id String An ID that identifies the broadcaster whose Shield Mode status was updated.
broadcaster_user_login String The broadcaster’s login name.
broadcaster_user_name String The broadcaster’s display name.
moderator_user_id String An ID that identifies the moderator that updated the Shield Mode’s status. If the broadcaster updated the status, this ID will be the same as broadcaster_user_id.
moderator_user_login String The moderator’s login name.
moderator_user_name String The moderator’s display name.
started_at String The UTC timestamp (in RFC3339 format) of when the moderator activated Shield Mode. The object includes this field only for channel.shield_mode.begin events.
ended_at String The UTC timestamp (in RFC3339 format) of when the moderator deactivated Shield Mode. The object includes this field only for channel.shield_mode.end events.

Shoutout Create

Defines the Shoutout data that you receive when the channel.shoutout.create event occurs.

Field Type Description
broadcaster_user_id String An ID that identifies the broadcaster that sent the Shoutout.
broadcaster_user_login String The broadcaster’s login name.
broadcaster_user_name String The broadcaster’s display name.
to_broadcaster_user_id String An ID that identifies the broadcaster that received the Shoutout.
to_broadcaster_user_login String The broadcaster’s login name.
to_broadcaster_user_name String The broadcaster’s display name.
moderator_user_id String An ID that identifies the moderator that sent the Shoutout. If the broadcaster sent the Shoutout, this ID is the same as the ID in broadcaster_user_id.
moderator_user_login String The moderator’s login name.
moderator_user_name String The moderator’s display name.
viewer_count Integer The number of users that were watching the broadcaster’s stream at the time of the Shoutout.
started_at String The UTC timestamp (in RFC3339 format) of when the moderator sent the Shoutout.
cooldown_ends_at String The UTC timestamp (in RFC3339 format) of when the broadcaster may send a Shoutout to a different broadcaster.
target_cooldown_ends_at String The UTC timestamp (in RFC3339 format) of when the broadcaster may send another Shoutout to the broadcaster in to_broadcaster_user_id.

Shoutout Received

Defines the Shoutout data that you receive when the channel.shoutout.receive event occurs.

Field Type Description
broadcaster_user_id String An ID that identifies the broadcaster that received the Shoutout.
broadcaster_user_login String The broadcaster’s login name.
broadcaster_user_name String The broadcaster’s display name.
from_broadcaster_user_id String An ID that identifies the broadcaster that sent the Shoutout.
from_broadcaster_user_login String The broadcaster’s login name.
from_broadcaster_user_name String The broadcaster’s display name.
viewer_count Integer The number of users that were watching the from-broadcaster’s stream at the time of the Shoutout.
started_at String The UTC timestamp (in RFC3339 format) of when the moderator sent the Shoutout.

Subscription

Name Type Description
id string Your client ID.
type string The notification’s subscription type.
version string The version of the subscription.
status string The status of the subscription.
cost integer How much the subscription counts against your limit. See Subscription Limits for more information.
condition  condition  Subscription-specific parameters.
created_at string The time the notification was created.

Top Contributions

The top contributor for a contribution type. For example, the top contributor using BITS (by aggregate) or the top contributor using subscriptions (by count).

Name Type Description
user_id string The ID of the user that made the contribution.
user_login string The user’s login name.
user_name string The user’s display name.
type string The contribution method used. Possible values are:
  • bits — Cheering with Bits.
  • subscription — Subscription activity like subscribing or gifting subscriptions.
  • other — Covers other contribution methods not listed.
total integer The total amount contributed. If type is bits, total represents the amount of Bits used. If type is subscription, total is 500, 1000, or 2500 to represent tier 1, 2, or 3 subscriptions, respectively.

Top Predictors

An array of up to 10 objects that describe users who participated in a Channel Points Prediction.

Name Type Description
user_id string The ID of the user.
user_login string The login of the user.
user_name string The display name of the user.
channel_points_won integer The number of Channel Points won. This value is always null in the event payload for Prediction progress and Prediction lock. This value is 0 if the outcome did not win or if the Prediction was canceled and Channel Points were refunded.
channel_points_used integer The number of Channel Points used to participate in the Prediction.

Transport

Defines the transport details that you want Twitch to use when sending you event notifications.

Name Type Required? Description
method string yes The transport method. Possible values are:
  • webhook
  • websocket
callback string no The callback URL where the notifications are sent. The URL must use the HTTPS protocol and port 443. See Processing an event.

Specify this field only if method is set to webhook.

NOTE: Redirects are not followed.
secret string no The secret used to verify the signature. The secret must be an ASCII string that’s a minimum of 10 characters long and a maximum of 100 characters long. For information about how the secret is used, see Verifying the event message.

Specify this field only if method is set to webhook.
session_id string no An ID that identifies the WebSocket to send notifications to. When you connect to EventSub using WebSockets, the server returns the ID in the Welcome message.

Specify this field only if method is set to websocket.
connected_at string no The UTC date and time that the WebSocket connection was established.

This is a response-only field that Create EventSub Subscription and Get EventSub Subscription returns if the method field is set to websocket.
disconnected_at string no The UTC date and time that the WebSocket connection was lost.

This is a response-only field that Get EventSub Subscription returns if the method field is set to websocket.