Skip to content

Chatters — API endpoints

  • https://chatters.streamercatalyst.com

The StreamerCatalyst dashboard calls the session endpoints same-origin through https://streamercatalyst.com/m/chatters/* (for example /m/chatters/api/channels/:id/config reaches /api/channels/:id/config here). That proxy forwards the session cookie over a Cloudflare service binding and never forwards /internal/*.

Path Method Auth Description
/c/:login/commands GET Public Public command list page for a channel.
/api/random GET API key Random chatter picker (?apikey=, ?filter=, ?n=).
/api/fmk GET API key F/M/K picker (?apikey=, ?filter=).
/api/chatters GET API key Chatter list (?apikey=, ?filter=, ?format=json).
/api/channels/:id/config GET/PUT Session cookie Per-channel Chatters configuration.
/api/channels/:id/apikey GET Session cookie The channel’s API key for the bot command endpoints above; POST …/apikey/regenerate replaces it.
/api/channels/:id/commands GET/POST Session cookie List or create custom commands.
/api/channels/:id/commands/:commandId PUT/DELETE Session cookie Update or delete a custom command.
/api/channels/:id/commands/generate POST Session cookie Draft a command with AI.
/api/channels/:id/commands/import POST Session cookie Bulk command import; …/import/preview then …/import/apply is the two-step form.
/api/channels/:id/import/streamelements/* POST Session cookie StreamElements account import (preview, then apply). The StreamElements token is never stored.
/api/channels/:id/utility-commands GET/PUT Session cookie Built-in command configuration and aliases.
/api/channels/:id/auto-chats GET/POST Session cookie List or create scheduled auto-chat messages.
/api/channels/:id/auto-chats/:autoChatId PUT/DELETE Session cookie Update or delete an auto-chat; POST …/resync re-syncs its schedule.
/api/channels/:id/quotes GET/POST Session cookie Quote database.
/api/channels/:id/quotes/:quoteId PUT/DELETE Session cookie Edit or delete a quote. The id is the quote’s row id, not the per-channel quote number viewers see.
/api/channels/:id/regulars GET/POST Session cookie Regulars list; DELETE …/regulars/:userId removes one.
/api/channels/:id/counters GET Session cookie Counter names; …/counter-entries (GET/PUT/DELETE) reads and edits their values.
/api/channels/:id/bot-identity GET/PUT Session cookie Who sends the bot’s chat messages: your account, the shared bot, or a bot account you own (GET …/bot-identity/authorize links one).
/api/channels/:id/shoutout-queue GET/DELETE Session cookie Pending shoutouts; DELETE …/shoutout-queue/:entryId drops one.
/api/channels/:id/title-grants GET/POST Session cookie Viewers granted the right to set the stream title from chat; DELETE …/title-grants/:grantId revokes one.
/api/channels/:id/usage-stats GET Session cookie Command usage; …/usage-stats/top-commands, …/activity, …/top-chatters and …/chatters cover the rest of the activity views.
/internal/eventsub POST Service binding (internal) EventSub fan-out receiver (internal).
/internal/billing/downgrade POST Service binding (internal) Tier-downgrade handler (internal).
  • Session cookie endpoints require an active StreamerCatalyst session (set at login via the platform Worker). A channel-scoped route (/api/channels/:id/…) answers only for the session’s own channel, and a read-only admin masquerade may read but not change anything.
  • API key endpoints accept a 64-hex-char API key via the ?apikey= query parameter.
  • Public endpoints require no authentication.
  • Service binding endpoints are for other StreamerCatalyst Workers, called over Cloudflare service bindings with a shared internal token. They are not a public API.