Base URL
Assigned during onboarding, with separate hosts for staging and production. The playground on each page lets you set it.
Authentication
Every request carries three headers:hex(HMAC-SHA512(apiPath|timestamp|data, secretKey)). The signature is validated on every call, and a timestamp more than 5 minutes old is rejected.
Signing, in six languages
Algorithm, worked examples and copy-paste clients — all checked against the same test vector.
Endpoints
List games
GET /api/v1/games — the catalogue provisioned for your account.Obtain game launch URL
GET /api/v1/games/{gameSlug} — mint a URL for one player, one session.Create campaign
POST /api/v1/free-rounds/campaigns — define a free rounds offer.Create bonus code
POST /api/v1/free-rounds/campaigns/codes — attach a campaign to one player.Search campaigns
POST /api/v1/free-rounds/campaigns/search — paginated campaign lookup.Conventions
Full detail in API conventions.
Caching
Responses carryETag, Last-Modified and Cache-Control. Send If-None-Match or If-Modified-Since and get a 304 Not Modified instead of the payload when nothing has changed.
This matters most for the game catalogue: it is the largest response, it changes rarely, and it should be polled on a schedule rather than fetched per page render. See Caching and performance.