How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Twitch EventSub

EventSub is Twitch's webhook-based subscription service for receiving real-time notifications about events on Twitch.

This event API exposes 33 operations across 33 channels, and defines 39 schemas. It is described by AsyncAPI 2.6.0, at version 1.0.

The API connects through 2 servers: {callbackUrl} (https), wss://eventsub.wss.twitch.tv/ws (wss).

33 operations 33 channels 39 schemas

Metadata

The identity and technical contract details declared by the specification.

Specification
AsyncAPI 2.6.0
API Version
1.0
Base URL
https://api.twitch.tv/helix/eventsub
Resource Areas
1

Channels & Operations 33

Across 33 channels, the API surfaces 33 operations. Each is listed below with its action, channel, parameters, and response codes.

Channels 33
SUB
channel.update
Channel Update
onChannelUpdate body
SUB
channel.follow
Channel Follow
onChannelFollow body
SUB
channel.subscribe
Channel Subscribe
onChannelSubscribe body
SUB
channel.subscription.end
Channel Subscription End
onChannelSubscriptionEnd body
SUB
channel.subscription.gift
Channel Subscription Gift
onChannelSubscriptionGift body
SUB
channel.subscription.message
Channel Subscription Message
onChannelSubscriptionMessage body
SUB
channel.cheer
Channel Cheer
onChannelCheer body
SUB
channel.raid
Channel Raid
onChannelRaid body
SUB
channel.ban
Channel Ban
onChannelBan body
SUB
channel.unban
Channel Unban
onChannelUnban body
SUB
channel.moderator.add
Channel Moderator Add
onChannelModeratorAdd body
SUB
channel.moderator.remove
Channel Moderator Remove
onChannelModeratorRemove body
SUB
channel.channel_points_custom_reward.add
Channel Points Custom Reward Add
onChannelPointsCustomRewardAdd body
SUB
channel.channel_points_custom_reward_redemption.add
Channel Points Redemption Add
onChannelPointsRedemptionAdd body
SUB
channel.poll.begin
Channel Poll Begin
onChannelPollBegin body
SUB
channel.poll.end
Channel Poll End
onChannelPollEnd body
SUB
channel.prediction.begin
Channel Prediction Begin
onChannelPredictionBegin body
SUB
channel.prediction.end
Channel Prediction End
onChannelPredictionEnd body
SUB
channel.hype_train.begin
Hype Train Begin
onHypeTrainBegin body
SUB
channel.hype_train.progress
Hype Train Progress
onHypeTrainProgress body
SUB
channel.hype_train.end
Hype Train End
onHypeTrainEnd body
SUB
channel.charity_campaign.donate
Charity Campaign Donate
onCharityDonation body
SUB
channel.goal.begin
Goal Begin
onGoalBegin body
SUB
channel.goal.progress
Goal Progress
onGoalProgress body
SUB
channel.goal.end
Goal End
onGoalEnd body
SUB
channel.chat.message
Chat Message
onChatMessage body
SUB
channel.chat.notification
Chat Notification
onChatNotification body
SUB
stream.online
Stream Online
onStreamOnline body
SUB
stream.offline
Stream Offline
onStreamOffline body
SUB
user.authorization.grant
User Authorization Grant
onUserAuthorizationGrant body
SUB
user.authorization.revoke
User Authorization Revoke
onUserAuthorizationRevoke body
SUB
user.update
User Update
onUserUpdate body
SUB
drop.entitlement.grant
Drop Entitlement Grant
onDropEntitlementGrant body

Messages & Schemas 39

The contract defines 39 schemas that model the data carried by its messages. The most detailed are ChannelBanPayload (13 properties), ChannelCheerPayload (9 properties), ChannelSubscribePayload (8 properties), ChannelUpdatePayload (8 properties). Each schema is shown below with its type and property counts.

ChannelUpdateEvent
message
ChannelFollowEvent
message
ChannelSubscribeEvent
message
ChannelSubscriptionEndEvent
message
ChannelSubscriptionGiftEvent
message
ChannelSubscriptionMessageEvent
message
ChannelCheerEvent
message
ChannelRaidEvent
message
ChannelBanEvent
message
ChannelUnbanEvent
message
ChannelModeratorAddEvent
message
ChannelModeratorRemoveEvent
message
ChannelPointsCustomRewardEvent
message
ChannelPointsRedemptionEvent
message
ChannelPollEvent
message
ChannelPredictionEvent
message
HypeTrainEvent
message
HypeTrainEndEvent
message
CharityDonationEvent
message
GoalEvent
message
ChatMessageEvent
message
ChatNotificationEvent
message
StreamOnlineEvent
message
StreamOfflineEvent
message
UserAuthorizationGrantEvent
message
UserAuthorizationRevokeEvent
message
UserUpdateEvent
message
DropEntitlementGrantEvent
message
EventSubNotification
object
Standard EventSub notification envelope
2 properties
ChannelUpdatePayload
object
8 properties
ChannelFollowPayload
object
7 properties
ChannelSubscribePayload
object
8 properties
ChannelCheerPayload
object
9 properties
ChannelRaidPayload
object
7 properties
ChannelBanPayload
object
13 properties
StreamOnlinePayload
object
6 properties
StreamOfflinePayload
object
3 properties
DropEntitlementGrantPayload
object
2 properties
WebSocketSessionMessage
object
WebSocket session welcome message
2 properties

Specification

The full machine-readable AsyncAPI contract behind this narrative.

Source

twitch-eventsub-asyncapi.yml Raw ↑
Where this information came from

This is an independent, third-party profile of Twitch EventSub, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.