Obtain a user access token with channel:read:ads for schedule reads, or channel:manage:ads for snooze operations, matching the broadcaster's account
GET https://api.twitch.tv/helix/channels/ads?broadcaster_id={id} to retrieve next_ad_at, last_ad_at, duration, snooze_count, and snooze_refresh_at fields
To delay the next automatic mid-roll ad, POST to https://api.twitch.tv/helix/channels/ads/schedule/snooze?broadcaster_id={id}; this pushes the next ad back by 5 minutes
Note that a broadcaster must wait at least 8 minutes between running consecutive ads; enforce this in your bot logic before triggering manual ads
Cache the snooze_count and snooze_refresh_at values to inform the broadcaster how many snoozes remain before the next refresh
Known gotchas
The snooze endpoint only affects automatic mid-roll scheduling; it does not apply to manually triggered ads via POST /channels/ads
The broadcaster_id query parameter must match the user ID in the access token; mismatches cause a 401 even if the token has the correct scope
Ad schedule data reflects Twitch's server-side schedule and may differ from what the broadcaster sees in the dashboard by a few seconds due to propagation latency
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp