# Game Studio API > Game engines and third-party RGS connect to the hizi.io platform through this API. It covers game launches, round management, freeplays and certified RNG. Part of the hizi documentation at https://docs.hizi.io. The index of every section is https://docs.hizi.io/llms.txt. ## Game Studio API - [Game Studio API](https://docs.hizi.io/game-studio-api/): Game engines and third-party RGS connect through this API for game launches, round management and certified RNG. - [Basics](https://docs.hizi.io/game-studio-api/basics.html): What API V2 is for - a direct third-party engine integration, an RGS-to-RGS integration, and the certified RNG call. Includes the integration models and what each one needs. - [Game configuration](https://docs.hizi.io/game-studio-api/game-configuration.html): Configuring the game backend settings in the hizi.io backoffice. - [Game Launch](https://docs.hizi.io/game-studio-api/game-launch.html): Defining the frontend index document for a game, and what the platform does at launch. - [Freeplays](https://docs.hizi.io/game-studio-api/freeplays.html): How the RGS assigns, revokes and reports the freeplays an operator grants. - [External Game Engines](https://docs.hizi.io/game-studio-api/external-game-engines.html): Host an external game engine. Use the template, configure the hizi app, and check jurisdiction restrictions. ## API Calls - [Calls provided by API V2](https://docs.hizi.io/game-studio-api/calls-provided.html): The calls the RGS provides - gamestart, win and end, plus wagering wins, spin-event tracking and duplicate prevention. - [Calls to be implemented by games](https://docs.hizi.io/game-studio-api/calls-to-implement.html): The calls your engine must listen for and answer - game information, health, and automatic closing of rounds. - [Data structures](https://docs.hizi.io/game-studio-api/data-structures.html): The wire types published by `@hoelle/apiv2-definitions`, grouped into request bodies, replies, and shared/nested types. - [Handling Lost Responses and Retry Scenarios](https://docs.hizi.io/game-studio-api/retries.html): Recovering a transactional call whose response was lost - which calls deduplicate a retry (`voidGameRound`) and which do not (`addWin`, `startGameRound`, `wagerWin`, `collectWin`, `endGameRound`). ## Reference - [Appendix - Signing a POST request sent to the RGS](https://docs.hizi.io/game-studio-api/signing.html): Signing a request - the headers, the HMAC, and a worked Node example. ## OpenAPI Reference - [Game Studio API Reference](https://docs.hizi.io/game-studio-api/reference/): Generated reference for every Game Studio API call, callback and data structure, rendered from the OpenAPI 3.0 specification. ## API reference: game-launch - [connect](https://docs.hizi.io/game-studio-api/reference/connect.html): `GET /connect` - Establish the game session and exchange the short-life token for a long-life token - [reconnect](https://docs.hizi.io/game-studio-api/reference/reconnect.html): `GET /reconnect` - Re-establish the session using the long-life token - [disconnect](https://docs.hizi.io/game-studio-api/reference/disconnect.html): `GET /disconnect` - Signal that the player closed or left the game ## API reference: round-lifecycle - [startGameRound](https://docs.hizi.io/game-studio-api/reference/startGameRound.html): `POST /startGameRound` - Start a gameround and debit the bet - [startGameOrAddBet](https://docs.hizi.io/game-studio-api/reference/startGameOrAddBet.html): `POST /startGameOrAddBet` - Place a bet, starting the gameround or adding to the open one - [endGameRound](https://docs.hizi.io/game-studio-api/reference/endGameRound.html): `POST /endGameRound` - Close a gameround and collect any open winnings - [getGameRoundInfo](https://docs.hizi.io/game-studio-api/reference/getGameRoundInfo.html): `POST /getGameRoundInfo` - Get information about an open gameround - [getGameRoundHistoryInfo](https://docs.hizi.io/game-studio-api/reference/getGameRoundHistoryInfo.html): `POST /getGameRoundHistoryInfo` - Get historical information about a closed gameround - [voidGameRound](https://docs.hizi.io/game-studio-api/reference/voidGameRound.html): `POST /voidGameRound` - Void the debit of an open gameround - [collectWin](https://docs.hizi.io/game-studio-api/reference/collectWin.html): `POST /collectWin` - Collect part or all of the open winnings - [addWin](https://docs.hizi.io/game-studio-api/reference/addWin.html): `POST /addWin` - Add an uncollected (open) win to a gameround - [wagerWin](https://docs.hizi.io/game-studio-api/reference/wagerWin.html): `POST /wagerWin` - Wager part or all of the open winnings - [getUncollectedAmount](https://docs.hizi.io/game-studio-api/reference/getUncollectedAmount.html): `POST /getUncollectedAmount` - Get the amount of uncollected (open) winnings - [addSpinCounterGameState](https://docs.hizi.io/game-studio-api/reference/addSpinCounterGameState.html): `POST /addSpinCounterGameState` - Award or consume a spin counter (e.g. free spins) inside a round - [getAvailableSpinCounter](https://docs.hizi.io/game-studio-api/reference/getAvailableSpinCounter.html): `POST /getAvailableSpinCounter` - Get the current value of a spin counter ## API reference: session-and-lookups - [getStatus](https://docs.hizi.io/game-studio-api/reference/getStatus.html): `GET /status` - Check API status - [testPing](https://docs.hizi.io/game-studio-api/reference/testPing.html): `POST /testPing` - Echo a test payload to verify communication and payload signature - [getTokenForGameRound](https://docs.hizi.io/game-studio-api/reference/getTokenForGameRound.html): `POST /getTokenForGameRound` - Get a fresh token for an open gameround (janitor / autoclose use) - [getTokenData](https://docs.hizi.io/game-studio-api/reference/getTokenData.html): `POST /getTokenData` - Resolve a token into its token data - [getPlayerData](https://docs.hizi.io/game-studio-api/reference/getPlayerData.html): `POST /getPlayerData` - Read the stored player data for a game - [setPlayerData](https://docs.hizi.io/game-studio-api/reference/setPlayerData.html): `POST /setPlayerData` - Store player data for a game - [getLastGameRounds](https://docs.hizi.io/game-studio-api/reference/getLastGameRounds.html): `POST /getLastGameRounds` - Get a list of recently closed gamerounds - [getOperatorSettings](https://docs.hizi.io/game-studio-api/reference/getOperatorSettings.html): `GET /getOperatorSettings` - Get the operator-specific game settings - [getBalance](https://docs.hizi.io/game-studio-api/reference/getBalance.html): `POST /getBalance` - Get the player's balance ## API reference: certified-rng - [getRandomResult](https://docs.hizi.io/game-studio-api/reference/getRandomResult.html): `POST /getRandomResult` - Get random integers or doubles from the hizi.io certified RNG ## API reference: freeplays - [connect](https://docs.hizi.io/game-studio-api/reference/connect.html): `GET /connect` - Establish the game session and exchange the short-life token for a long-life token - [startGameRound](https://docs.hizi.io/game-studio-api/reference/startGameRound.html): `POST /startGameRound` - Start a gameround and debit the bet - [getGameConfiguration](https://docs.hizi.io/game-studio-api/reference/getGameConfiguration.html): `GET /getGameConfiguration` - Implemented by you: return the game configuration for a currency ## API reference: calls-to-implement - [getCertifiedFiles](https://docs.hizi.io/game-studio-api/reference/getCertifiedFiles.html): `GET /certifiedfiles` - Implemented by you: return the certified components and their hashes - [getGameConfiguration](https://docs.hizi.io/game-studio-api/reference/getGameConfiguration.html): `GET /getGameConfiguration` - Implemented by you: return the game configuration for a currency - [getHealth](https://docs.hizi.io/game-studio-api/reference/getHealth.html): `GET /health` - Implemented by you: liveness probe - [getGameResult](https://docs.hizi.io/game-studio-api/reference/getGameResult.html): `POST /getGameResult` - Implemented by you: render a gameround result as HTML - [doGetGameHistory](https://docs.hizi.io/game-studio-api/reference/doGetGameHistory.html): `POST /doGetGameHistory` - Implemented by you: return in-game history of game events - [doAutoClose](https://docs.hizi.io/game-studio-api/reference/doAutoClose.html): `POST /doAutoClose` - Implemented by you: auto-close a gameround left open