Developer API
A one-way WebSocket feed of your board's events for overlays, chat tools and streamer.bot.
The NextQuest WebSocket API pushes live events from your boards to tools you run yourself. Use it to show a new suggestion on stream, post a chat message when a vote lands, or update an overlay when a game moves to Playing.
The API is one-way. Your tool listens. It cannot add games, accept suggestions, move cards or change settings through the socket. The server ignores everything you send after you authenticate, except close frames and the keepalive described in WebSocket connection.
Note
The API is in beta, like the rest of NextQuest. Event names and fields can change. Check Event reference after each release if your tool depends on a field.
What you can build
- A browser-source overlay that shows suggestions and vote counts as they arrive.
- A streamer.bot action that posts to Twitch chat when a viewer suggests a game. See Examples › streamer.bot.
- A small script that logs every vote or move to a file.
What the API does not cover
Events cover suggestions, votes, games on a board, boards and sections. These changes send no event:
- Renaming a board.
- Changing which section is the intake.
- Anything the Twitch bot does.
Quick start
- Open Dashboard, then API, and select Enable API.
- Copy the 64-character key. NextQuest shows it once, on your first enable or after Regenerate.
- Connect to
wss://<host>/api/ws, where<host>is the NextQuest host you use in the browser. - Within 10 seconds, send this text frame, with your key in place of the placeholder:
{"type":"authenticate","apiKey":"YOUR_64_CHARACTER_KEY"}
- Events now arrive as JSON text frames. Frames with no content are keepalives. Ignore them.
Your streamer account is the only one the key can listen to. Each streamer has one live connection.
Where to go next
- Authentication covers keys, close codes and limits.
- WebSocket connection covers keepalive, one connection per streamer and reconnecting.
- Event reference lists all 15 event types with fields and examples.
- Examples has a JavaScript client and a streamer.bot setup.
- Troubleshooting helps if the socket will not connect.