New Shield Mode endpoints and EventSub subscription type are now in open beta

This Wednesday, Twitch launched Shield Mode; a new feature for creators and their moderators to pre-define multiple safety settings that can be activated with one action should higher protections be necessary at any moment. We immediately saw a UserVoice suggestion and some comments on Twitter inquiring about third-party access to this new protection measure that would allow creators to initiate Shield Mode in their custom streaming workflows and developers to implement additional functionality that could be activated as a result.

With that said, we’re excited to launch open beta Twitch API endpoints and EventSub subscription types for this new safety feature within the same week of its rollout.

New Twitch API Endpoints

New EventSub Subscription Types

New Scopes

  • moderator:read:shield_mode - View a broadcaster’s Shield Mode status.
  • moderator:manage:shield_mode - Manage a broadcaster’s Shield Mode status.

Improvements With Your Feedback

We encourage you to try out these endpoints during the open beta period and provide any feedback should you encounter any issues or if there are suggestions before they are locked in as “generally available.” To provide feedback, please add new suggestions to the API category on UserVoice.

How do I get started?

The new endpoints and subscriptions types are publicly available in an open beta. Visit the documentation links above to start implementing Shield Mode functionality today! Once all UserVoice feedback is considered, this functionality will become “generally available,” meaning no further updates or changes can be expected unless formally announced here on the forums.

If you have any questions or want to share how you’ll use these endpoints, please feel free to comment below.


…Jon it’s been 2 days and the endpoints are out?

huge props :clap:


The documentation for Update Shield Mode Status is incorrect

Documented PUT body


Correct PUT body


Tested and confirmed

iProdigy additionally noticed that the documentation indicates a header

Client-Type: application/json

which should be changed to

Content-Type: application/json