Appearance
Operator API Reference
This page renders every call, callback and schema of the Operator API from the OpenAPI 3.0 specification. Each operation has its own page. Each page shows the parameters, request and response schemas, examples and code samples for that operation.
The prose documentation under Operator API is the normative source. If this reference page disagrees with the prose, the notes in the spec and the prose take priority.
Server-to-server API between the hizi.io RGS (remote game server) and a casino operator (or aggregator) backend — game launch, player management, wallet transactions, free plays, discounts, backoffice reporting and health checks.
Two directions in one document
The protocol is bidirectional, and this document describes both halves. Use the tags to tell them apart:
- Operator → hizi.io (tags
Operator → hizi.io,Free Plays,
Backoffice,Health & Certified Hash) — endpoints hizi.io
implements and the operator calls. They live under the RGS base URL
([api-endpoint-url], supplied by hizi.io support). - hizi.io → Operator (tag
hizi.io → Operator) — endpoints the
operator implements and hizi.io calls (the wallet/callback API). Each
of those operations carries its ownserversentry pointing at the
operator's base URL, which is configured in the hizi.io backoffice.
Only getGameURL is mandatory for the operator to call; on the callback side getBalance and doTransactions are mandatory to implement, while logEvent, doGameRoundReport, doGameRoundResult and reportAnimationEnd are optional and only sent when enabled for the operator account.
Transport rules
- HTTPS only — plain HTTP is not supported. *
GETcalls pass their parameters as URL-encoded query parameters,POST
calls send a JSON body withContent-Type: application/json. - Character set is always UTF-8; responses are
application/json. * IP whitelisting may be in place in both directions. * CORS policies may apply.
Amounts are always 1/100 of the base currency
Every monetary value — bets, wins, balances, stakes, discounts — is an integer expressed as 1/100 of the base currency (a fixed ×100 factor), never a decimal: €10.00 is 1000, €1.50 is 150. This is a fixed 1/100 convention, not the currency's ISO minor unit (JPY and CLP have none, a few currencies use 1/1000) — hizi always expects 1/100 of the base currency. See the Amount schema.
Authentication
Every call in both directions is authenticated with three request headers — X-H-AUTH-ID, X-H-AUTH-SIG and X-H-TIMESTAMP — modelled here as three apiKey security schemes that must all be present. The signature is a base64-encoded SHA-256 HMAC over a #-joined list of request fields; the exact field list differs per operation and is given in each operation's description. See the hiziAuthSignature security scheme for the algorithm.
Errors
A call is successful only if it returns HTTP 200 and carries no X-H-ERROR-ID response header. A 200 with X-H-ERROR-ID present must be treated exactly like a 400. On a non-200 response the body may additionally carry an errorCode object. The full error-code catalogue is in the ErrorCode.id description and, machine-readable, in the top-level x-error-codes extension.
Not covered by this document
- Appendix A — Events. The browser-side
postMessageprotocol between
the game iframe and the operator lobby (spin,turbo,roundStarted,
balance, …) is not an HTTP API and therefore cannot be expressed in
OpenAPI. It is documented separately at
https://docs.hizi.io/operator-api/appendix-a-events. - Appendix C — Game settings are not endpoints; they are modelled as the
GameSettingsandGameVariablesschemas, passed togetGameURL. - Appendix E — Discounts has no endpoint of its own; it is the
DiscountInfoschema returned alongside a balance bygetBalanceand
doTransactions. - Endpoints documented as "work in progress" have no published request or
response shape and are deliberately omitted rather than guessed at:
getGameHealth,getGameRoundState,forceCloseGameRound,
backoffice/getGameCriticalFiles,registerFreeroundTemplate,
getFreeroundTemplate,removeFreeroundTemplate. Contact hizi.io
support for details.
Contact
External Documentation
Operator API documentation (normative source for this spec)Servers
https://{apiEndpointUrl}hizi.io RGS endpoint, used for every Operator → hizi.io call (including the backoffice, free-play and health endpoints). The concrete host is supplied by hizi.io support and differs per environment.
Operations
Operator → hizi.io
- POSTGet a game launch URL for a player and game
/getGameURL
- POSTRegister (or update) a player in the hizi.io database
/registerPlayer
- GETQuery the information stored for a player
/getPlayerDetails
- POSTBlock or unblock a player for all hizi.io games
/setPlayerBlock
- GETList open real-money gamerounds for a player
/getOpenGameRounds
- GETList open real-money gamerounds for a game
/getOpenGameRoundsByGame
- GETGet the details of a single gameround
/getGameRoundDetails
- GETList real-money gamerounds for a player and game
/getGameRoundReport
- GETGet an HTML representation of a gameround result
/getGameRoundResult
- POSTReplay all transactions of a closed gameround to the operator
/reconcileTransactions
- POSTVoid the initial debit of an open gameround
/voidGameRound
hizi.io → Operator
- GET(Operator implements) Get a player's balance
/getBalance
- POST(Operator implements, optional) Receive the details of a closed round
/doGameRoundReport
- POST(Operator implements, optional) Receive the end-of-animation signal
/reportAnimationEnd
Discounts
- GET(Operator implements) Get a player's balance
/getBalance
Free Plays
- POSTAssign a package of free plays for a game and stake to a player
/assignPlayerFreerounds
- POSTRevoke a previously granted free-play package
/revokePlayerFreerounds
- GETQuery the free-play packages available to a player
/getPlayerFreerounds
Backoffice
- GETGet the list of games available to the operator
/backoffice/getGameList
- GETGet the configuration of a game for a currency
/backoffice/getGameConfiguration
- GETGet the list of known currencies and their multipliers
/backoffice/getCurrencyList
- POSTQuery statistical data on a daily basis
/backoffice/getStats
- POSTQuery statistical data about tickets / free plays
/backoffice/getTicketStats
Health & Certified Hash
- GETHealth of a game engine
/gameapi/{gameCode}/health
- GETCertified file hashes / version of a game engine
/gameapi/{gameCode}/certifiedfiles
- GETHealth of the Fortuna RNG service
/rngFortuna/health
- GETCertified file hashes of the Fortuna RNG service
/rngFortuna/certifiedfiles
- GETGame information document for Swiss regulation
/game-swiss-info.json