Reference
What your app can call
Velora publishes 803 endpoints, but only these 72 accept a third-party OAuth token. The rest are first-party surfaces and will refuse your token whatever scopes it holds.
This list is generated from the API source at build time, so it cannot drift from what the server actually enforces. If an endpoint is not here, your app cannot call it — and if you think it should be able to, check whether a scope covers it before assuming it is a bug.
Managing your own application
These endpoints manage the app itself rather than a streamer’s channel — bot identities, command sync, and app-level configuration. They act on your application, not on a user.
/api/developer/apps/:clientId/bot/:botId/avatarno scope required/api/developer/apps/:clientId/bot/availableno scope required/api/developer/apps/:clientId/bot/check-name/:botNameno scope required/api/developer/apps/:clientId/bot/commands/syncbot:commands/api/developer/apps/:clientId/bot/configureno scope required/api/developer/apps/:clientId/bot/connectionsno scope required/api/developer/apps/:clientId/bot/connections/:connectionIdno scope required/api/developer/apps/:clientId/bot/createno scope required/api/developer/apps/:clientId/bot/currentno scope required/api/developer/apps/:clientId/bot/disconnectno scope required/api/developer/apps/:clientId/bot/identityno scope required/api/developer/apps/:clientId/bot/instancesno scope required/api/developer/apps/:clientId/bot/selectno scope required/api/developer/subscriptionssubscriptions:read/api/developer/subscriptions/countsubscriptions:readActing on behalf of a streamer
These are the endpoints your app calls with a user’s OAuth token — reading their stream, sending chat, redeeming channel points. Everything here acts as the person who authorised you, so the scope you hold is exactly the permission you have.
/api/integrations/beam/bootstrapno scope required/api/integrations/beam/chat/statuschat:read/api/integrations/beam/emoteschat:read/api/integrations/beam/emotes/channel/:usernameno scope required/api/integrations/beam/emotes/globalno scope required/api/integrations/beam/heartbeatno scope required/api/integrations/beam/ingeststreams:key:read/api/integrations/beam/streamstreams:write/api/integrations/oauth/bot/availableuser:readCheck if authenticated bot user is available and operational
/api/integrations/oauth/bot/currentbot:readGet current bot config for the authenticated user\
/api/integrations/oauth/bot/customizebot:writeRemove custom bot name, revert to default (45-day reservation)
/api/integrations/oauth/bot/customizebot:writeSet custom bot name for the authenticated user\
/api/integrations/oauth/channel-points/balancechannel:points:read/api/integrations/oauth/channel-points/balance/deductchannel:points:balanceTake channel points from a viewer on your channel
/api/integrations/oauth/channel-points/balance/grantchannel:points:balanceGive a viewer channel points on your channel
/api/integrations/oauth/channel-points/redeemchannel:points:redeem/api/integrations/oauth/channel-points/rewardschannel:points:readList channel point rewards on your channel
/api/integrations/oauth/channel-points/rewardschannel:points:writeCreate a channel point reward on your channel
/api/integrations/oauth/channel-points/rewards/:rewardIdchannel:points:writeDelete a channel point reward on your channel
/api/integrations/oauth/channel-points/rewards/:rewardIdchannel:points:writeUpdate a channel point reward on your channel
/api/integrations/oauth/channel-roleschannel:read/api/integrations/oauth/channel-roleschannel:roles:write/api/integrations/oauth/channel-roles/:memberId/:roleTypechannel:roles:write/api/integrations/oauth/chat/channels/:channelId/messageschat:write/api/integrations/oauth/chat/channels/:channelId/moderatechat:moderate/api/integrations/oauth/chat/clearchat:moderate/api/integrations/oauth/chat/settingsstream:read/api/integrations/oauth/chat/settingsstream:write/api/integrations/oauth/giveawayschannel:interactive:writeThe current giveaway on your channel, or null
/api/integrations/oauth/giveaways/:giveawayId/drawchannel:interactive:writeStart a giveaway (replaces an open one). The channel must be live.
/api/integrations/oauth/giveaways/:giveawayId/endchannel:interactive:writeDraw the next winner (closes the giveaway once every winner is drawn)
/api/integrations/oauth/giveaways/activechannel:readThe current giveaway on your channel, or null
/api/integrations/oauth/goalschannel:read/api/integrations/oauth/goals/:idchannel:interactive:write/api/integrations/oauth/goals/:id/adjustchannel:interactive:write/api/integrations/oauth/goals/:id/resetchannel:interactive:writeStart a new goal period now, optionally from a given value
/api/integrations/oauth/meuser:readGet authenticated user information
/api/integrations/oauth/pollschannel:interactive:writeThe current poll on your channel, or null
/api/integrations/oauth/polls/:pollId/endchannel:interactive:writeStart a poll (replaces an open one). The channel must be live.
/api/integrations/oauth/polls/activechannel:readThe current poll on your channel, or null
/api/integrations/oauth/predictionschannel:interactive:writeStart a prediction. The channel must be live, with no other prediction open or locked.
/api/integrations/oauth/predictions/:id/cancelchannel:interactive:writeCancel and refund every bet
/api/integrations/oauth/predictions/:id/lockchannel:interactive:writeStop taking bets
/api/integrations/oauth/predictions/:id/resolvechannel:interactive:writePick the winning outcome and pay out
/api/integrations/oauth/predictions/activechannel:readThe current prediction on your channel (open, locked, or settled in the last 2 minutes), or null
/api/integrations/oauth/stream/categoriesstream:readList available stream categories
/api/integrations/oauth/stream/infostream:readGet current stream information
/api/integrations/oauth/stream/infostream:writeUpdate stream title, category, or tags
/api/integrations/oauth/stream/key/regeneratestream:keyGenerate a new stream key
/api/integrations/oauth/stream/setupstream:keyGet stream key and ingest URLs for broadcasting
/api/integrations/oauth/stream/tagsstream:readList the tag vocabulary and the rules for setting tags
/api/integrations/oauth/test/eventsno scope required/api/integrations/oauth/test/events/selfno scope required/api/integrations/oauth/test/events/typesno scope required/api/integrations/oauth/timerschannel:read/api/integrations/oauth/timers/:id/:actionchannel:interactive:writestart | pause | resume | end | reset a timer
/api/integrations/oauth/timers/:id/add-timechannel:interactive:writeAdd (or remove, with a negative number) seconds
Generated from api-live controllers guarded by DeveloperOauthGuard. Not sure which surface fits what you are building? Start here.