Documentation Changelog

Date Documentation Changes

This release updates Twitch’s CLI with the following changes:

  1. Adds the following events that you can trigger (see Testing webhook events).
    • charity-donation — Triggers an event to mimic when a user donations to the broadcaster’s charity campaign.
    • charity-start — Triggers an event to mimic when a broadcaster starts a charity campaign.
    • charity-progress — Triggers an event to mimic when progress is made towards the campaign’s goal or when the broadcaster changes the fundraising goal.
    • charity-stop — Triggers an event to mimic when a broadcaster stops a charity campaign.
  2. Adds the following flags that you can use with the charity events.
    • charity-current-value — Use to specify the amount of money that’s donated for charity donation events or the current amount raised for the charity campaign events.
    • charity-target-value — Use to specify the fundraising target amount for the charity campaign events.
  3. Changed the user.update event name in the documentation to user-update to match the convention used by the other events.

This release includes the following updates to the Twitch endpoints:

  1. Added the Update Shield Mode Status endpoint, which activates or deactivates the broadcaster’s Shield Mode. Twitch’s Shield Mode feature is like a panic button that broadcasters can push to protect themselves from chat abuse coming from one or more accounts. When activated, Shield Mode applies the overrides that the broadcaster configured in the Twitch UX. If the broadcaster hasn’t configured Shield Mode, it applies default overrides.
  2. Added the Get Shield Mode Status endpoint, which gets the broadcaster’s Shield Mode activation status.
  3. Updated the status of the Get Chatters endpoint from Beta to generally available.

This release includes the following updates to the EventSub subscription types:

  1. Added the channel.shield_mode.begin subscription type, which sends a notification when the broadcaster activates Shield Mode.
  2. Added the channel.shield_mode.end subscription type, which sends a notification when the broadcaster deactivates Shield Mode.

Updated the Get Channel Information endpoint to require a user access token to return the Partner’s stream delay value (see the delay field). By default, the delay field’s value is zero.


Updated the channel.charity_campaign.stop subscription type to include the following fields:

  • charity_name
  • charity_description
  • charity_logo
  • charity_website

Updated the channel.charity_campaign.donate and channel.charity_campaign.progress subscription types to include the following fields:

  • charity_description
  • charity_website

Added the IGDB ID to the Get Games and Get Top Games responses (see the igdb_id field).

Updated the Get Games endpoint to let you search by IGDB ID.


Added the user_id and user_name fields to the Get Chatters response.

Added the Get Charity Campaign Donations endpoint, which returns the list of donations that users have made to the broadcaster’s active charity campaign.

Added the following subscription types to EventSub.

  • channel.charity_campaign.start — Sends a notification when the broadcaster starts a charity campaign.
  • channel.charity_campaign.progress — Sends a notification when the broadcaster changes the fundraiser’s target goal or when progress is made towards the goal.
  • channel.charity_campaign.stop — Sends a notification when the broadcaster stops a charity campaign.

  • Added version_removed as a possible status value to EventSub. The subscription’s status field is set to version_removed if EventSub stops supporting the subscribed to subscription type and version. EventSub sends the status in a revocation message.

This release includes the following updates:

  1. Updated the CLI’s Generating Mock Data and Starting the Server topic to remove the erroneous user_id parameter from the table under Getting an app access token.

  2. Updated the Get Hype Train Events endpoint to include the following new contribution type:

    • OTHER — Covers contribution methods other than Bits and Subscriptions. See the type field under the last_contribution and top_contributions fields.

    Updated the begin, progress, and end Hype Train events to include the following new contribution type:

    • other — Covers contribution methods other than Bits and Subscriptions. See the type field under the last_contribution and top_contributions fields.
  3. Added the Broadcast Scheduling Guide.


Updated the channel.charity_campaign.donate subscription type to include the following fields in the event’s data:

  • charity_name — The charity’s name.
  • charity_logo — A URL to the charity’s logo.

Added WebSocket support for EventSub notifications. See Handling WebSocket Events.

Updated the Twitch CLI to support testing your WebSocket client (you’ll need to upgrade to the latest version). The server sends the client a welcome message followed by ping and keepalive messages. You’ll mostly use the mock server to send a reconnect message to test your client’s reconnect code flow. For details, see the start-websocket-server sub-command.

Updated the Transport object that you use to subscribe to events:

  • Added websocket as a possible value to the method field.
  • Require the callback field only if the method field is set to webhook.
  • Require the secret field only if the method field is set to webhook.
  • Add the session_id field, which identifies the WebSocket to send notifications to. This field is required only if the method field is set to websocket.
  • Added the connected_at field, which contains 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.
  • Added the disconnected_at field, which contains 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.

Added the Get Chatters endpoint, which you use to get the list of users that are connected to the specified broadcaster’s chat session.


Breaking change to the Beta channel.charity_campaign.donate EventSub subscription type:

The id field of the Charity Donation Event object will change to campaign_id to better reflect its content on Tuesday, September 20 at 1:00pm PDT.


Updated the Create Poll endpoint to remove support for voting with Bits. This change removes the following optional request fields from the documentation:

  • bits_voting_enabled
  • bits_per_vote

If your request includes these fields, the endpoint ignores them. The following response fields will be set to default values.

  • bits_votes — set to 0.
  • bits_voting_enabled — set to false.
  • bits_per_vote — set to 0.

The Get Polls and End Poll responses will show the above values for polls created on or after August 29, 2022; otherwise, the response contains Bits values if enabled.

The above Bits-related fields should also be ignored for the following EventSub events:


Added the vip tag to PRIVMSG. You can use the tag to determine whether the user that sent the chat is a VIP.


Adds the following API and subscription type that you can use to get information about the charity campaign that the broadcaster is running.

  • Get Charity Campaign — Gets information about the charity campaign that the broadcaster is running, such as their fundraising goal and the amount that’s been donated so far.
  • channel.charity_campaign.donate — Sends an event notification when a user donates to the broadcaster’s charity campaign.

Added the Moderation Guide that shows how to use the moderation APIs such as adding and removing moderators, banning users or putting them in a timeout, and updating your AutoMod settings.


All Twitch API endpoints introduced on 2022-07-15 have moved from public beta to general availability.


Added the following guides:


Added the vod_offset field to the Get Clips API response. The offset is the number of seconds from the start of the video to the beginning of the clip.

Updated the list of possible values that the type field in the Get Creator Goals API response may be set to. The following values were added to the list:

  • subscription_count — The goal is to increase subscriptions. This type shows the net increase or decrease in the number of subscriptions.
  • 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).

This release adds the following endpoints. See :

The following authentication scopes have also been added for the endpoints above:

  • moderator:manage:announcements
  • moderator:manage:chat_messages
  • user:manage:chat_color
  • channel:manage:moderators
  • channel:read:vips
  • channel:manage:vips
  • user:manage:whispers

Submission Best Practices - Updated the “Content in Extensions” section to define the expected functionality of global overlay Extensions and examples.


Twitch API - Organization and content for this section has been improved for a better developer experience.

Twitch Drops - Japanese localization added.


Check AutoMod Status — Includes the following changes:

  • Deprecated and removed the user_id field from the request body. The endpoint ignores the field if you include it.
  • Added endpoint-specific rate limits.

For information about these changes, see Upcoming changes to the Check AutoMod Status API.

Get Users — Includes the following change:

  • Deprecated the view_count field in the response. The response continues to include the field; however, it contains stale data. You should stop displaying this data at your earliest convenience.

Start a Raid, Cancel a Raid — Includes the following change:

  • These endpoints were removed from Beta and are now generally available (replaced the Beta tag to New).

Get EventSub Subscriptions — Includes the following change:

  • Added the user_id query parameter that you can use to filter your list of subscriptions by. The response contains subscriptions where the user ID matches a user ID that you specified in the Condition object when you created the subscription.


Get Soundtrack Playlist — Removed the following playlist fields from the response:

  • description
  • id
  • image_url
  • title
  • tracks (the data field now contains the playlist’s tracks)

Get Soundtrack Playlists — Added the id query parameter, which you can use to get metadata information about a single playlist.


Added the ability for your application to start or cancel a raid. Read more

This update adds the following endpoints:

Added the created_at field to the response object of the following endpoints:


Create Prediction - Updated to allow specifying up to ten outcomes.


Added fields to the following EventSub subscription types:

  • user.update — Added the email_verified field, which indicates whether Twitch has verified the user’s email.
  • channel.ban — Added the banned_at field, which indicates the UTC date and time of when the user was banned or put in a timeout.
  • channel.hype_train.begin — Added the level field, which indicates the level at which the Hype Train started.

Extension Guidelines and Policies - Added section 4.11 regarding NFTs in Twitch Extensions.


Extension Submission Best Practices

  • Added a section for content in Extensions
  • Amended the quicker reviews section with information regarding what types of domains are valid for an Extension’s content security policy allowlists.

Extension Guidelines and Policies

  • Added section 4.10 regarding global overlay Extensions. See more details in our announcement.
  • Added section 2.13 to regarding what types of domains are valid for an Extension’s content security policy allowlists

Chat & Chatbots - Organization and content for this section has been improved for a better developer experience.


Added 409 Conflict as a possible response code to Ban User and Unban User.

Added information about when the Twitch API may introduce breaking and non-breaking changes to the API. For details, see Breaking Changes.


Enhanced Experiences and Event-based Drops have been decommissioned and documentation has been removed.


Authentication - Organization and writing for this section has been improved for a better developer experience.

Get Hype Train Events - Removed id query parameter. See the deprecation announcement for more information.


Removed documentation for “Get Banned Events” and “Get Moderator Events” Twitch API endpoints. For more information about the deprecation and removal of these endpoints, see the deprecation announcement.


Twitch API v5 endpoints (i.e. kraken) are no longer available. Documentation for these endpoints have been removed.


Chat msg-id tags updated for accuracy.


Updated the Chatbots content with the following changes:

  • Replaced the /r9kbeta and /r9kbetaoff Twitch chat commands to /uniquechat and /uniquechatoff, respectively, to match the commands used in Twitch Chat. The /r9kbeta and /r9kbetaoff continue to work but you should start using /uniquechat and /uniquechatoff at your earliest convenience.

  • Removed the following tags from the list of possible USERNOTICE tags:

    • anonsubgift
    • anonsubmysterygift
  • Added the WHISPER command to the list of commands that the Twitch IRC server may send your bot.


Get channel information endpoint

  • Changed the description for the broadcaster_id query parameter to indicate that you may specify a maximum of 100 IDs.

Get Soundtrack Current Track endpoint

  • Changed the description for the data response field to remove the part that states that the list is empty if the broadcaster is not playing a track. The correct behavior is that if the broadcaster is not playing a track, the endpoint returns HTTP status code 404 Not Found.
  • Changed the description for the creator_channel_id response field to indicate that its value is an empty string if a Twitch user didn’t create the track instead of null.

Get Soundtrack Playlist endpoint

  • Changed the description for the creator_channel_id response field to indicate that its value is an empty string if a Twitch user didn’t create the track instead of null.

Extension Policy 2.9 updated to clarify that the Twitch Extension Helper must be included as the first script in all front-end HTML files.


Restrictions on content updated to reflect the new Twitch Extensions policy for Content Security Policy (CSP) directives and enforcement.

Moderation API endpoints have moved from public beta to generally available.


Added the new_subscription Creator Goals type, which reports all new subscriptions since the goal’s inception. This type differs from the subscription type, which reports the net increase or decrease in subscriptions. See the type field of:


The Update Chat Settings endpoint now lets you:

  • Set the follower_mode_duration field to any value between 0 and 129600, inclusive.
  • Set the slow_mode_wait_time field to any value between 3 and 120, inclusive.

Open beta changes:

  • For Ban Users, bulk requests have been removed until a more scalable solution is available.
  • For Ban Users and Unban User, error message formatting now utilizes the same structure as other API endpoints since bulk requests have been removed. HTTP 429 errors may also be returned if there are too many requests even within normal Twitch API rate limits.

Added the following Soundtrack APIs:

  1. Get Soundtrack Current Track — Gets the Soundtrack track that the specified broadcaster is playing.
  2. Get Soundtrack Playlists — Gets the list of Soundtrack playlists.
  3. Get Soundtrack Playlist — Gets the specified Soundtrack playlist.

Updated Organizations to reflect cover art powered by IGDB.

Updates Product Lifecycle to include the deprecation of a few Twitch API endpoints that supported WebSub-based webhooks.


Added the following chat and moderation APIs that let developers create experiences that help broadcasters combat harassment and hate raids.

What do you want to do? How to do it…
Ban users or put them in a timeout Send a POST /moderation/bans request.

You can also remove a ban or timeout.
Block terms that the broadcaster doesn’t want used in their chat room Send a POST /moderation/blocked_terms request.

You can also get a list of blocked terms and delete blocked terms.
Update the broadcaster’s AutoMod settings Send a PUT /moderation/automod/settings request.

You can also get a list of the current AutoMod settings.
Update the broadcaster’s chat settings Send a PATCH /chat/settings request.

You can also get a list of the current chat settings.

Reorganization of EventSub documentation, moving handling events to a dedicated page.

Explicitly including the “Content-Type: application/json” header in API reference examples.


Organization Management updated to reflect IGDB will power Twitch game cover art as of November 17, 2021.


Added documenation for Twitch’s command-line interface (CLI).


Added the points field to the Get Broadcaster Subscriptions response. This field provides the current number of subscriber points earned by this broadcaster.


Extensions Policy 2.12 has been added in regards to defining the domains from which Twitch Extensions can load content. More information is available in the announcement, New Extensions policy for Content Security Policy (CSP) directives and timeline for enforcement.

Get started with Twitch Extensions - “Restrictions on content” section updated to reflect Extensions policy 2.12 and the timeline mentioned in the announcement.


Drops Guide received minor updates.


Reformatted Goals EventSub Subscription Types for consistency.

Retitled the “Get Live Channels” to “Get Extension Live Channels” to clarify the endpoint is specific to Extensions activated on live channels.


Decommissioned WebSub-based webhooks, which resulted in the following documentation changes:

  • Removed the Get Webhook Subscriptions endpoint from the reference.
  • Deleted the Webhooks Guide and Webhooks Reference topics.
  • Updated the Product Lifecycle topic to note the date that WebSub-based webhooks was decommissioned.

The Creator Goals feature is now generally available. Broadcasters create goals to generate hype in their community, and it provides the community a way to support the channel. Goals can be daily goals, subathons, or anything in between. For information about using the API to get goals or receive notifications about goals, see Creator Goals.


Minor updates to address GitHub Issues.

Insights & Analytics – Directions to access Drops Analytics has been updated and the “Top Streamers” report has been removed.


Added the Creator Goals API, which returns active goals that broadcasters create on Twitch. Broadcasters create these goals to generate hype in their community, and it provides the community a way to support the channel. Goals can be daily goals, subathons, or anything in between. For more information, see Creator Goals.


Twitch API Guide - Technical concepts in this guide have been updated or added to for further clarification.

Embedding Twitch - Updated to include that certain features may be disabled if the embedded iframe is obscured.

Embedding Video and Clips - Updated description for seek function and added the SEEK event.


Updated examples for validating and revoking OAuth tokens.

Updated Extension Helper Library to clarify that all HTML files should include the Extension Helper.


Added the following fields to the Get Channel Emotes, Get Global Emotes, and Get Emote Sets endpoints.

  • format — The formats that the emote is available in. For example, PNG or animated GIF.
  • scale — The sizes that the emote is available in. For example, 1.0 (small).
  • theme_mode — The background themes that the emote is available in. For example, light.
  • template — The URL template that you use to create a URL for fetching the emote.

For information about how to use these fields, see Twitch Emotes.

Added the following to the Chatbots & IRC Guide.

  • Existing site-wide rate limit for verified bots
  • Clarification in the JOIN section regarding expected behavior when exceeding rate limits for joining channels

Get Started with the Twitch API - This API guide has been updated to use the Twitch CLI and simplify how to retrieve an OAuth token to improve the getting started experience.


The Create and Delete Follows API endpoints have been removed. See the Deprecation of Create and Delete Follows API Endpoints announcement for more information.


Twitch Chat Guide - Updated information regarding verified chatbots including rate limits. Known bots have been removed. More information can be found in the chatbot verification update announcement.


Get Banned Users and “Get Banned Events” updated to include ban reason and information for the moderator who initiated the ban.

Twitch Emotes Guide - Added to document how developers can customize Twitch Emote image URLs to optimize their rendering in third-party applications.

With the addition of the guide above, the “Chatbots & IRC” navigation item has been retitled to “Chat & Chatbots” to include a broader range of chat topics.


v5 Migration Guide - Updated to include additional migration paths and indicated endpoints that are not supported beyond v5.


Using the Twitch API in an Extension Front End - Added to describe how to a JWT can be used to make Twitch API requests from an Extension front end.

The following Extension-related Twitch API endpoints have been added:


Twitch IRC: Tags - Minor updates, deprecated tags removed, and chat replies added.


Enhanced Experiences and Event-based Drops are now generally available.

Get Drops Entitlements - Updated to include fulfillment_status.

Update Drops Entitlements - Added to the Twitch API reference.

User Authorization Grant EventSub subscription type added as v1.

Drops guide - Minor changes and updates regarding the additions above.


Drop Entitlement Grant EventSub subscription type added.

Update regarding the temporary pause of chatbot verification added to the Twitch Chat Guide.


Get Channel Chat Badges - Now supports OAuth app access tokens in addition to OAuth user access tokens.

EventSub - Channel Subscription End Event added tier and is_gift.

Authentication - The existing user:read:email scope has been added.


Twitch API endpoints added for Twitch channel stream schedule.

Channel Subscription Message has moved from public beta to v1.


Channel Subscription Gift has moved from public beta to v1.

Get Videos updated to explicitly mention the 500 results limit when specifying game_id.


Twitch API endpoints added for Twitch Emotes.


Channel Subscription Message EventSub subscription type added as a public beta.

Extension Bits Transaction Create EventSub subscription type has moved from public beta to version 1.


Channel Subscription Gift EventSub subscription type - Added is_anonymous boolean to the event.

AutoMod Queue and User Moderation Notifications PubSub topics - Examples updated for accuracy.

Several GitHub Issues resolved for documentation.


Get Broadcaster Subscriptions - total subscription count added to the response.


Twitch API endpoints have been added for chat badges.

EventSub subscription type updates.


Polls and Channel Points Predictions Twitch API endpoints have moved from public beta to general availability.

Polls and Channel Points Predictions EventSub subscription types have moved from public beta to version 1.

AutoMod Queue and User Moderation Notification topics added to PubSub reference.


Extension Bits Transaction Create EventSub subscription type has been added as a public beta.

Channel Points Custom Rewards - The API reference for Custom Rewards endpoints has been updated for consistency and to clarify conditional requirements for body parameters. For example, max_per_stream is required if a value for is_max_per_stream_enabled is also provided.


Channel Prediction Lock EventSub subscription type - corrected the name of the lock timestamp to locked_at.

Channel Prediction End EventSub subscription type - removed the locked_at field due to edge cases with Predictions that are cancelled or closed early.

Create EventSub Subscription and Get EventSub Subscriptions - limit removed following the new EventSub subscription limit cost-based system.

Get Channel Information - Added delay to return values table and example payload.


Manage Held AutoMod Messages – Added to the Twitch API reference.

Authentication - moderator:manage:automod scope added for Manage Held AutoMod Messages.


Channel Subscription End EventSub subscription type has been added as a public beta.

This entry has been updated, the subscription type has been renamed from “Channel Unsubscribe” to “Channel Subscription End” after moving from beta to v1.


Twitch API endpoints added for polls and Channel Points Predictions as a public beta.

EventSub subscriptions types added for polls and Channel Points Predictions as a public beta.


Overview page - New information and organization.

EventSub Subscriptions Types - Added information regarding the expected availability of EventSub subscription types when released as a public beta.


Notification Example for user.authorization.revoke updated to show the cost is 1.

Embedding Twitch - Minor documentation updates.


Get Followed Streams - Added to the Twitch API reference.

Authentication - user:read:follows scope added for Get Followed Streams.

v5 Migration Guide - Updated to mention Get Followed Streams equivalence.


Modify Channel Informationdelay added as an optional body parameter.

New API response fields added


Get Broadcaster Subscriptions - Added context for how a Twitch Extension can retrieve this information.

Update User - Clarifying why description is optional and what results if not provided.

Extensions Reference - Parameter tables reordered to match the order they should be passed into their respective functions.

Other minor corrections.


Twitch Quarterly Insights has been decommissioned and removed in favor of Game Developer Analytics.


Viewer Heartbeat Service (VHS) v5 endpoints removed in association with the decommission of legacy Drops.


Organizations updated to include information regarding joining multiple organizations, as well as minor updates.


EventSub’s Channel Moderator Add and Channel Moderator Remove subscriptions types have been moved from beta to v1.

Added associated Twitch API endpoints to the scopes section of the Authentication guide.

Minor design improvements.


Get Drops Entitlements

  • The maximum value for the number of items return via the first parameter has been increased to 1000.
  • Pagination updated for accuracy in the the return values table and the example payload.

Webhooks example payloads updated for accuracy.

Miscellaneous corrections.


Added Check User Subscription to the Twitch API.

EventSub’s cost-based system for subscription limits has been added. Thanks for the feedback on RFC 0014.

Improved the instructions and information regarding the creation of Twitch applications for Drops campaigns.

Several documentation corrections received through GitHub Issues have been resolved.


Twitch API

  • Get Channel Teams has been added to the API reference.
  • Get Teams has been added to the API reference.
  • The v5 migration guide has been updated to include the new Get Teams endpoint.



EventSub updates

  • Added clarification in steps 4-5 on “Create a subscription.”
  • Channel Follow now includes the timestamp of when the follow occurred.
  • Clarified the id field in the EventSub Stream Online notification payload.

The following endpoints were updated to use the channel:manage:broadcast scope. The previous scope remains valid.

Updated the v5 Video Upload Guide introduction for visitors looking for information regarding uploads via the Creator Dashboard.

Fixed broken links in chat references.

Removed the “Create Entitlement Grants Upload URL” Twitch API endpoint associated with a previous version of Twitch Drops.


Legacy Drops have been removed following the announced decommission.


status added to EventSub subscription objects.

Scope for Channel Subscriptions in PubSub has been updated to channel:read:subscriptions. Previous scope remains valid.

Channel Points Hackathon banner added.

Further clarification for game_id and title added for Modify Channel Information.

Minor updates to the API guide and Chat guide.


EventSub Channel Ban v1 now includes moderator information, reason for ban, and timeout duration if the ban was a timeout.

EventSub Channel Unban v1 now includes moderator information.

Section 7.5 of the Extensions Guidelines and Policies has been removed following the original announcement.


In EventSub, the authorization scopes allowed for all Channel Point subscription types have been updated to accept channel:read:redemptions or channel:manage:redemptions.

Updated Get Users to correctly document created_at in the example.

Minor editorial updates to the Extensions Monetization Guide.


Eventsub API endpoints have been moved to the API reference.

A message regarding the deprecation of Twitch Quarterly Insights has been added to Insights following the recent announcement.

Explicitly stating in Extensions that files should be zipped together as opposed to zipping the directory containing the files.

Miscellaneous UserVoice and GitHub Issues addressed.



  • The Channel Raid subscription type has been added as a public beta.
  • The started_at timestamp has been added to the Stream Online Event.

A note about removing Extensions Policy 7.5 has been added since Twitch Extensions no longer load for banned users.

The Drops guide now includes a section regarding thoughtful naming of campaigns and rewards.

Product Lifecycle has been updated to include definitions for tagging functionality in the documentation.


broadcaster_login and/or user_login added to multiple API endpoint payloads that already return user ID and display name.



  • Corrected status value in examples.
  • Clarified requirements for secret.

Authentication updates:

  • Correctly state a 400 Bad Request is returned when attempting to revoke an invalid token, rather than a 200 OK.
  • Scope information corrections and updates.

Additional updates:

  • offset removed from Get Channel Followers endpoint in v5 as it is no longer supported. cursor should be used for pagination.
  • Extensions tutorial updated to use Gists instead of image.
  • Several UserVoice suggestions and GitHub Issues addressed.

New Twitch API endpoints available:

The new scopes for these endpoints have also been added to Authentication. Updated the descriptions of existing scopes for consistency and accuracy.

  • channel:read:editors
  • channel:manage:videos
  • user:read:blocked_users
  • user:manage:blocked_users

v5 migration guide updates:

  • New v5 scope mappings have been added for the above endpoints. See channel_editor, channel_read, user_blocks_read, and user_blocks_edit.
  • Five endpoint equivalence definitions have been added for the above endpoints.

giantbomb_id set to 0 in the v5 Get Top Games response example to reflect a game data migration.


EventSub updates:

  • Added support for filtering by type.
  • Added user login to notification payloads.

Added twitch://broadcast mobile deeplink to broadcast a specific category.

Embed updates:

  • enableCaptions() function, disableCaptions() function, and Twitch.Player.CAPTIONS event added.
  • sandbox added for embedded chat.
  • getPlaybackStats() function and a description of the PlaybackStats object added back into the documentation.
  • autoplay documentation updated to note the default value is false.
  • Removed frameborder and scrolling from Twitch embed examples as these were deprecated in HTML5.

Feedback and bug reports:


Updated auth validation sample with values and the expires_in field.

Updated JavaScript helper examples to use window.Twitch.ext.

Clarifcation for linking accounts for time-based Drops.

Miscellaneous API reference fixes.


Details for retriving ingest servers have been moved to the top-level Video Broadcasting section. This includes the launch of “Get Ingest Servers” to replace its deprecated version previously found in v5.


UserVoice feedback fixes:

Miscellaneous fixes:

  • Removed duplicate search results
  • Displaying more search results
  • Provided the full accept header in the v5 “Requests” section
  • Changed the date format in the changelog to YYYY-MM-DD

Added progress field to Hype Train EventSub subscription types.


Corrections and edits to the EventSub documentation. Fixed a typo for “msg-param-gift-months” under IRC usernotices.


Corrections and edits to the EventSub documentation.

Updated Drops Analytics image.

Changed type for pagination response field to be “object containing a string”.

Corrections and edits to scopes documentation.


Added documentation for EventSub.

Added Channel Points API to the API Reference.

Added a v5 to Twitch API migration guide.


Added information about Drops Analytics to documentation.


Removed CurseForge references from docs.

API Reference:

  • Corrected token requirement for Get Stream Tags.
  • Made sub-section ordering consistent, listing query parameters before body parameters.
  • Corrected Modify Channel Information documentation which had body parameters listed as query parameters.

Pub Sub:

  • Updated user notices for multi-month subscriptions.
  • Added sample code for multi-month subscriptions.
  • Updated the topic for chat moderator actions.

API Reference:

  • Fixed issue causing apostrophes to show as random characters.
  • Removed duplicate entry for Get Stream Tags.

Authentication Guide:

  • Added maximum OAuth token limits.
  • Added channel:read:redemptions scope.
  • Corrected the spelling of channel:manage:broadcast.

Clarified instructions for supplying parameters in the Webhooks Reference.

Clarified limits in the Webhooks Guide.

In the Extensions Guide, corrected the environment variable HTTPS=true for create-react-app.



Updates to the API Reference:

  • Made example code consistent.
  • Eliminated duplicate entry for the Get Stream Tags endpoint.
  • Fixed typos.

Fixed a typo in the channel:manage:broadcast scope.

Removed the Glossary.


Removed links to internal documents in Increase Feedback in Extensions.


Added to the v5 API Get Channel Subscribers endpoint the information that if a user in the subscribers list has been banned, the subscription information will be provided, but the user object will have a value of null.


Edited all documentation to replace the terms “blacklist” and “whitelist” with “denylist” and “allowlist”.

Edited and redesigned the top-level page:

  • Fixed broken links.
  • Added links to UserVoice and GitHub for feedback and support.
  • Removed outdated screenshots.
  • Removed redundant links.

Added to the Get Clips endpoint documentation that clips are returned sorted by view count, in descending order.


Updated the following endpoints to make clear they are about Bits codes:

Updated Extensions documentation to say that layout needs to accommodate variable height rather than fixed at 700 pixels.


Added discussion of subscription status support to the Extensions Monetization documentation.

Clarified language in the Create Clip endpoint documentation.


Documented authentication and Join rate limits for chat.

Removed documentation for chat rooms, because the feature is deprecated.


Removed mention of a webhook for Drops because it is not yet available.


Updated the API Reference to note that the clips service returns a maximum of 1000 clips.

Removed the deprecated information about rate limits when there is no token from the API Guide.

Added pagination information to the Get Drops Entitlements endpoint documentation.


Fixed code sample for Events-based Drops.


Updated Authorization section for the Get Clips endpoint to indicate that a user access token is required.


Added a new section to our Extension Submission Best Practices: Template for a helpful Walkthrough Guide and Change Log


Updated Marketing and Developer User Roles.


Updated Webhooks documentation to describe notification timeout.

Changed documentation of Start Commercial response field from retryAfter to retry_after.


Updated Extensions documentation to reflect new process for required review channels.


Addressed issues in the API reference for the following endpoints:


Added required authorization for the Get Streams endpoint and updated sample code.


Added new fields to the Channel Subscriptions Event Pubsub topic and a new USERNOTICE tag parameter in support of Multi-Month Subscription Gifting.


Updated the Authentication Guide to mention that developers can provide multiple redirect URIs.


Bug fixes in the API Reference.


Added new endpoints to the API Reference and Webhooks Reference:

  • Get Channel Information
  • Modify Channel Information
  • Search Channels
  • Search Categories
  • Get Stream Key
  • Start Commercial
  • Create User Follows
  • Delete User Follows
  • Get Cheermotes

Added new functionality to the API: the Hype Train API.


Added links to rate limits documentation to the API Reference.


Clarified the definition of Subscription denied in the Webhooks Guide.


Removed documentation of MODE and NAMES in the IRC documentation because they have not functioned correctly for some time and will not be supported.


Drops Guide: Updated Create Entitlement Grants Upload URL example to include Client ID.

API Reference: Updated all example requests to include Client ID and token in Authorization header, as per new OAuth requirement.


Fixed a bug in the API Reference. The optional scope for the Get Users endpoint should be user:read:email.


Updated the Twitch API Reference to reflect that OAuth is now mandated.

Updated the Authentication Guide to include new OAuth scopes. 

Updated the Webhooks Reference to show that authorization is now required authorization for every web hook.


Updated Extensions Best Practices: 

Updated the Extensions Guidelines and Policies page for Content and Commerce.


Updated Drops documentation to align with UI changes.


Deleted documentation of these deprecated v5 endpoints:

  • Get Channel Communities
  • Set Channel Communities
  • Delete Channel from Communities

Corrected URL for Get Extension Transaction endpoint.


Updated definition of “language” in v5 Streams API Reference.


Published new Extensions Guide.


Updates to the Embedding Twitch documentation: 

  • Added new parent parameter.
  • Removed deprecated getPlaybackStats method.
  • Removed references to the font-size option for everywhere embeds.

Updated the Extensions Guidelines & Policies to add Moderation.


Edited the following endpoints in the v. 5 API Reference:

  • v5 Get Live Streams
    • Removed _total field
    • Documented that the offset is capped at 900
  • v5 Get Followed Streams
    • Removed _total field
    • Documented that the offset is capped at 900

Edited the Get Game Analytics endpoint to note that we only return data for the previous 365 days.

Updated documentation for the sunset of Premieres.


Updated the game_id parameter in the Get Streams endpoint from up to 100 IDs to up to 10 IDs.

Documented the isBitsEnabled feature flag in the Extensions Reference.

Removed the link to the deprecated form to increase webhook subscription limits.

Added gifter_id and gifter_name fields to the Get Broadcaster Subscriptions endpoint and webhook.

  • Removed the live query string parameter from the Search Games v5 endpoint documentation.
  • Removed the popularity response field from the Search Games v5 endpoint and the Get Top Games v5 endpoint documentation.

Updates to PubSub documentation

  • Added Chat feature
  • Added Required Scope for channel-bits-events-v1 and channel-bits-badge-unlocks
  • Removed channel-commerce-events-v1 because it is deprecated
  • Updated documentation to reflect that OAuth is the preferred method of authentication.
  • Removed documentation for chat rooms because the feature is deprecated.

Extensions tutorials are now live on the site.


Webhooks Reference

  • Updated description of Subscribe / Unsubscribe call to be more accurate about response codes and authentication required.
  • Small syntax / formatting tweaks in the JSON examples.
  • Mention the authenticated scopes needed for various authenticated webhooks.

Webhooks Guide

  • Clarified how retries are performed and how we handle non-2xx response codes from clients.
  • Provided insight into the implementation of a handler for verification according to the W3C websub spec.

Added the Channel Points PubSub topic.


Added chat rooms to the Product Lifecycle page as deprecated.


Updated the Getting Tokens OIDC doc to note that the email and email_verified claims will soon be gated by user:read:email scope.


Updated review section in Extensions Life Cycle Management doc to include review SLA.


Added Product Lifecycle page to the site.


Added links to the Developer Rig in these pages: 


Added Increasing Feedback in Extensions.


Removed communities-related data fields from Get Streams and Get Streams Metadata endpoints. These fields are no longer supported.

Merged Get Broadcaster’s Subscribers into Get Broadcaster Subscriptions because they both return the subscribers to a channel. 

Added Load Testing Extensions Using Locust and Elastic Beanstalk document.

Added Submission Best Practices for Extensions.


Corrected msg_id parameter type in Check AutoMod Status from integer to string.


Added an updated Glossary.


Edited the payload example in Topic: Subscription Events.


Edited optional Create Stream Marker parameter description to include a max length of 140 characters.

Removed “Increasing Feedback in Extensions”.


Update Mobile Deep Links


Updated Organizations (formerly “Companies”).

Updated Extensions: Developer Rig

Updated Extensions: Increasing Feedback in Your Extension.


Add RBAC info to “Companies” (now “Organizations”)


Added 2.10 and 2.11 to Extensions Guidelines and Policies.

Updates to “Extensions: Designing” guide.


Add RBAC information to Extensions Life Cycle Management and Monetization. 


Corrected URL for endpoint “Get Moderator Events”.


Extensions update - reset file ordering


Retry adding 3 new Extensions docs (A/B Testing, Google Analytics, & Increasing Feedback)


DA-430: Add three new Extensions documents: Using A/B Testing in Extensions, Using Google Analytics in Extensions, and Increasing Feedback in Extensions. Also made minor change in Drops (meaning of “retries”).


Updated “Chatbots & IRC” docs (Getting Started, Guide, Membership, Commands, Tags, & Chat Rooms), except for “msg-ID Tags”.

Updated all “Embed” docs (Introduction, Embed Chat, Embed Video & Clips, & Embed Everything).


Added documentation for Get Subscription Events endpoint.

Added documentation for Subscription Events webhook.


Documented the new Moderation API.

Documented two new webhooks:

  • Moderator Change Events
  • Channel Ban Change Events

Insights & Analytics updates (twice today)


Changed “position” to “policies” in Extensions: Guidelines and Policies, section 6.6.


Added clarification to the Get Users endpoint in the Twitch API Reference that the limit of 100 IDs and login names is a total limit, not 100 of each.

Changes to Helper Bits in the Extensions Reference:

  • The field should be “exp” rather than “expires”.
  • Documented the domainID object.
  • Edited definition of the product object.

Extensions Life Cycle Management: Added section on Control Security Policy (CSP)


Removed deprecated Channel Feed API Reference.


Extensions Guidelines & Policies:

  • Added policy 6.2.8.

Added Get Extension Transactions to the Twitch API Reference.

Added Extension Transaction Created to the Webhooks Reference.


Updated v5 API Guide: New third-party development will be limited to the API versions Kraken v5 and Helix. Limitation of new development will be enforced on client ID created on or after 5/31/2019.


Removed orphan Bits Code Redemption Guide and added the content to the API Reference.

Fixed date errors in the changelog.


Fixed code formatting errors in several endpoints.

Updated Configuration Service documentation.

Removed Topic: Extension Analytics and Topic: Game Analytics from the Webhooks Reference because the endpoint is returning invalid data.


Removed note that Webhooks parameters must appear in alphabetical order because that restriction no longer exists.

Extensions Guidelines & Policies:

  • Added policies 1.5, 3.4, and 4.6.2.
  • Appended 4.3 to mention Emotes usage and beta program.
  • Appended 4.4 to mention advertising beta program.
  • Removed 4.6.1 (Off-site links must be related to the extension’s core functionality).
  • Removed 4.6.3 (Off-site links must be included within your URL allowlist).
  • Previous 5.2 and 5.3 reworked and appended to mention the commerce beta program.

Updated link to download the Developer Rig for Windows.

Updated the v5 API Reference to indicate that the version is deprecated.


Deleted Communities Reference from v5 API because it is deprecated.


Video: Updated v5 Video Upload Guide and v5 Video Reference to note that you must be a Partner or Affiliate to upload VODs.


Chatbots & IRC: Twitch Tags: Added note that undocumented tags can be added/removed at any time. Also, tags may appear in any order. So, developers should write code to parse tags individually and ignore unrecognized tags.


Chatbots & IRC: Twitch Tags: Added new badge-info parameter to GLOBALUSERSTATE, PRIVMSG, USERNOTICE, and USERSTATE.


Getting Started with Extensions and Extensions Developer Rig: Changes based on the new Developer Rig UI. Updated “Hello World” example in Getting Started.


Extensions Reference: Added information related to Monetization.

Extensions Monetization Guide{: target=”_blank” (formerly Bits in Extensions), Extensions Life Cycle Management: Added Monetization tab to Extensions manager, for selecting Bits support and/or new subscription status support, and for going to the monetization onboarding process.


Websub: Updated documentation to make it clear that the order of query parameters matters.

Bits: Small edits to documentation, for clarity.


Chatbots & IRC: Twitch Tags: Added several more msg-param parameters (for USERNOTICE).


Chatbots & IRC: Twitch Tags: Deleted broadcaster-lang (from ROOMSTATE). Added several more valid values for the msg-id field (for USERNOTICE).


Extensions doc set: Many changes. New version of Getting Started with Extensions. New Extensions manager UI (see Extensions Life Cycle Management).


Insights & Analytics: Added mod author analytics.


PubSub: Added topic channel-bits-events-v2. Removed deprecated months field. Added new cumulative-months and streak-months fields.


Chatbots & IRC: Twitch Tags: For USERNOTICE, added three fields (msg-param-cumulative-months, msg-param-should-share-streak, msg-param-streak-months) and changed when msg-param-months is sent.


Apps & Authentication: Added the scope channel:read:subscriptions.

New Twitch API Reference: Added new endpoints: Get Broadcaster Subscriptions and Get User Subscriptions.


Apps & Authentication: Clarified language around deprecation of Twitch API v. 5.

Getting Started with Extensions: Clarified using the native Developer Rig (beta).


Extensions Reference: Added locale parameter to “Client Query Parameters.”


Extensions Developer Rig: Added section on “Enabling 2FA.”


New Twitch API Reference: Added new endpoints: Replace Stream Tags, Get Stream Tags, and Get All Stream Tags. Updated Get Streams endpoint to document new tags functionality.

Mobile Deep Links: Added deep links for category tags and live-stream tags.

Insights & Analytics: Several clarifications, based on user feedback. Revised definitions of data fields that use device IDs. New section on “Counting Device IDs.”


Getting Started with Chatbots & IRC: New version of this doc.


Extensions Guidelines & Policies: New version of this doc.


Code Redemption API: New reference document.


Extensions Reference: Moved Bits-related reference information (JS helper functions) here, to consolidate all Extensions reference info in one place. The Bits in Extensions document is now purely a guide.


Company Management: New document on registering companies and managing users in them. Company registration is required before you can manage games on Twitch or create Drops campaigns.


Getting Started with Extensions, Extensions Developer Rig: Deleted information about the Developer Rig “local mode” (no longer available).


Apps & Authentication: Getting Tokens: OIDC: Added claims and UserInfo endpoint.

Chatbots & IRC Guide: Added scopes for /vip, /unvip, and /vips commands.

Chatbots & IRC: Twitch Tags: In USERNOTICE, added anonsubgift.

PubSub Guide: Added sample message for anonsubgift.


Twitch IRC Capability: msd-ID Tags: This new document (under Chatbots & IRC) contains a complete (lengthy) list of all msg-id tags that apply to the NOTICE (Twitch Commands) and NOTICE (Twitch Chat Rooms) commands.

Extensions Reference: New JWT schema field, is_unlinked.

New Twitch API Reference: New description and example in Get Webhook Subscriptions, which requires a Bearer token.


Extensions Guidelines & Policies: New version of this document.


New Twitch API Reference, New Twitch API: Webhooks Reference: Added a display-name response field to several endpoints and webhooks. Endpoints affected: Get Bits Leaderboard, Get Clips, Get Streams, Get Streams Metadata, Get Stream Markers, Get Users Follows, Get Videos. Webhooks affected: Stream Changed, User Follows.

Building Extensions: Added information about pre-release disclosures. 3/7/19 update: Moved to Extensions Life Cycle Mangement.


Apps & Authentication Guide: In “Types of Tokens,” added a clarification about bearer tokens.

New Twitch API Guide: New information in “Rate Limits.

Getting Started with Extensions: Added the new Extensions Developer Sandbox.


Extensions: Onboarding is now required only for monetization (Bits).


Extensions: Added the new Configuration Service. See:

  • Building Extensions: New “Configuration Service” section.
  • Extensions Reference:
    • Three new endpoints (Set Extension Configuration Segment, Get Extension Channel Configuration, Get Extension Configuration Segment).
    • New Twitch Extensions configuration helper functions (see “Helper: Configuration”).
    • Change to when Set Extension Required Configuration can be used.
  • Extensions Developer Rig: New Configuration Service tab.
  • Releasing & Maintaining Extensions: Many updates. 3/7/19 update: Renamed Extensions Life Cycle Management.

Insights & Analytics: Added printing a poster view of Twitch Quarterly Insights.


Chatbots & IRC: Twitch Commands, Chatbots & IRC: Twitch Tags: Added CLEARMSG, single-message removal on a channel.


Drops Guide: Added recommendations for campaigns.

Webhooks Reference: Clarified the functionality of the Stream Changed webhook (formerly called Stream Up/Down).


Drops Guide: New functionality for creating and using items, with a new Item Manager page and new fields for items. See especially the section on using campaigns.


Extensions Developer Rig: New document focusing on the rig. Also see changes to the Developer Rig section of Getting Started with Extensions.

Extensions Reference: New hostingInfo property in the onContext JS helper function. New onHighlightChanged JS helper function.

Apps & Authentication Guide: The chat_login scope is deprecated. See the section on new scopes for chat and PubSub.

Chatbots & IRC Guide: New section on Scopes for IRC Commands.

Mobile Deep Links: New section on launching the Twitch app with universal links (recommended).


New Twitch API: Webhooks Guide: There are changes to subscription limits. Each client ID can have at most 10,000 subscriptions. Also, you can subscribe to the same topic at most 3 times.


New Twitch API Reference: New optional query string parameters (started_at and ended_at) for Get Clips.


Extensions Reference: New JS helper function, minimize. See Helper: Actions.


New Twitch API Reference: Added new endpoints, Create Stream Marker and Get Stream Markers.


Insights & Analytics: Added three new clips fields to game-developer analytics.


Getting Started with the New Twitch API: When registering your app, the app name must not include “Twitch” (as an exact or fuzzy match), or registration will fail.


Extensions (several docs): Added pop-out Extensions. Start reading here in Required Technical Background (this links to relevant info elsewhere in the doc set).

Extensions Reference: Added Send Extension Chat Message endpoint and Helper: Feature Flags (JS helper functions).


Insights & Analytics: Added Twitch Quarterly Insights (fact sheet for games).


Building Extensions: Due to requirements recently communicated to us by Apple, Extensions support on iOS devices (including the ability to test on iOS) is now restricted to Apple Developer Program members. See “Mobile Support.”

  • If you have released a mobile extension: Your extension no longer appears on iOS. Twitch will contact you soon about adding iOS support.
  • If you develop a new mobile extension for iOS, please set up an Apple developer account (if you do not already have one), then contact Twitch ( to add iOS support.

Extensions Reference: In Helper: Extensions, added new property (arePlayerControlsVisible) to the onContext JS helper function.


Insights & Analytics: Added V2 of extension analytics.

New Twitch API Reference: Updated the Get Extension Analytics endpoint for V2.

New Twitch API: Webhooks Reference: Added new webhook, Extension Analytics.


Chatbots & IRC: Twitch Tags: Marked some parameters as deprecated (subscriber, turbo, and user_type). Use the badges parameter instead.


New Twitch API Reference: Added Get Webhook Subscriptions endpoint.


Designing Extensions: Added more guidance for all extensions and panel extensions.


Apps & Authentication: GuideGetting Tokens: OAuth, & Getting Tokens: OIDC: Added token_type parameter (required value = bearer) in several places.


Bits in Extensions: New document.

Extensions Guidelines & Policies: Added Bits in Extensions requirements.


Twitch API v5 Channel Feed Reference: Changed (deprecated) most endpoint responses.


Getting Started with Extensions, Building Extensions: Added information about the Twitch Developer Rig “local mode” (for local testing against mock, non-production endpoints).

Extensions Guidelines & Policies: Added a note about which versions of Android and iOS must be supported by mobile extensions.

Extensions Reference: Added two new fields to the onContext JS helper function (isMuted, volume).

Apps & Authentication: Split this large document into several smaller docs, to make it easier to read and find information.


Insights & Analytics: Added V2 of game analytics.

New Twitch API Reference: Updated the Get Game Analytics endpoint, to enable selection of report version and date/time range.

Chatbots & IRC Guide: Updated the information on “Connecting to Twitch IRC.”


Extensions Reference: Expanded the definition of onPositionChanged JS helper function.

Building Extensions: In “Local Test,” added information about the new Invite Only tab, for seeing allowlisted extensions in the Extensions Manager.

New Twitch API Reference: Added three endpoints: Get User Extensions, Get User Active Extensions, Update User Installed Extensions.

Apps & Authentication: Added new scopes, for new endpoints.

Embedding Twitch: Everything: For the layout parameter, changed the valid value from video-and-chat to video-with-chat.

Twitch API v5: In “Which API Version Can You Use?” indicated that there is no scheduled deletion date for v5.


Embedding Video & Clips: In setVideo, added a new Timestamp parameter.

Drops Guide: In “Next: Notify the Viewer about Drops,” added GUID to URLs.


Having Extensions Reviewed: Before you submit an extension for review, you now select a category under which your extension will be shown in the Extension Manager and upload an image for “discovery” purposes. 3/7/19 update: This document was deleted; information is in Extensions Life Cycle Management.


Getting Started docs:

Extensions Reference: Changes to Send Extension PubSub Message (messages can be sent globally), listen and send JS Helper functions, and Example JWT Payload.

New Twitch API: Webhooks Reference: Added two webhooks (User Changed, Game Analytics).

Insights & Analytics: New doc, with information on both game developer analytics and extensions developer analytics. (Replaces the Game Developer Analytics doc.)


Embedding Twitch and Chatbots & IRC: These large documents were spit into several smaller docs, to make it easier to read and find information.

Extensions Reference: The onVisibilityChanged JS helper function now works with component extensions.


Getting Started with Extensions: In “Procedure for Non-Twitch Partners/Affiliates,” the last step of beginning the onboarding process was changed.


New Twitch API Reference:

  • In Create Clip, an optional query string parameter was added, has_delay. This adds a delay before the clip is captured to account for the brief delay between the broadcaster’s stream and the viewer’s experience of that stream.

Extensions: The Extensions Guide was split into several shorter docs. Look in the Extensions doc category.


Updated Organizations documentation. 


Embedding Video and Clips: In “Interactive Frames for Live Streams and VODs” > “Optional Parameter,” the default of the parameter playsinline parameter was changed to true.

Extensions Guide: Video-component extensions were added. Broadcasters can activate up to six extensions at a time: 3 panel, 1 video overlay (full screen), and 2 video component (smaller).

Extensions Reference: Info was added about video-component extensions (new JS Helper function, onPositionChanged).

New Twitch API Reference: In Get Clip, 4 query params were added (broadcaster_id, game_id, before, after).


Embedding Video and Clips: In “Events Emitted by and Defined by the Player,” a new  Twitch.Player.PLAYBACK_BLOCKED event was added.

New Twitch API Reference: A “Resource” column was added to the summary table of endpoints, then endpoints in the doc were re-ordered to match the table (so endpoints for the same resource are in the same part of the doc).


Apps & Authentication Guide: See new wording in “Validating Requests.”

Embedding Video and Clips: In “Interactive Frames for Live Streams and VODs” > “Events Emitted by and Defined by the Player,” a new PLAYING event was added and the definition of the PLAY event was changed.

Extensions Guide: In “Appendix B: Guidelines and Practices,” the policy for audio was revised: “Extensions can include audio only if they include controls which allow viewers to adjust the volume, and by default, these controls are set to off/muted.” 5/2/18 update: Now that the Extensions Guide is split up, this information is in Extensions Guidelines & Policies.

Extensions Reference: Changes related to the introduction of dynamic anchors. Search for “anchor” in the doc.