Documentation Index
Fetch the complete documentation index at: https://docs.ticktock.bet/llms.txt
Use this file to discover all available pages before exploring further.
Tenant API key
Every REST and WebSocket call carries a tenant API key issued from the Client Portal. The key is scoped — what fields you see depends on which scopes are attached.REST
WebSocket
Browsers can’t set custom headers on the WS upgrade, so the key rides as a query parameter:AMQP
Provisioned per tenant on request — see the Messaging Feed page.Verify your key
The first call to make on any new key:Sport allowlist
Each key declares which sport namespaces it can access. Today onlycs2. When future sports launch (Dota 2, soccer, …) at /{sport}/v1/*, only keys with that sport in their sport_allowlist reach those endpoints.
Error responses
| Status | Meaning |
|---|---|
401 | Missing X-API-Key header (REST) or api_key query param (WS) |
403 | Key invalid, deactivated, lacks the required scope, or sport not in sport_allowlist |
404 | Resource not found |
406 | Accept header negotiation failed (neither JSON nor XML accepted) |
429 | Rate limit exceeded |
Rate limiting
Default 600 req/min per tenant key (configurable per contract). WebSocket connections aren’t rate-limited — the server still applies fairness on a per-tenant basis. When exceeded:Key rotation
Rotate from the Client Portal. Two modes:- Rotate — issue a fresh secret, keep the same scopes. Old key invalidated immediately.
- Revoke — disable the key. No replacement issued.