Skip to main content

Backend integration

Game API introduction

note

Partner - side which integrates games.

Provider - side which provides games (Aviatrix).

Current document describes methods implemented by provider. Methods allow the partner to launch the game and to retrieve the game round results.

Game API methods

good to know

All POST requests contain the X-Auth-Signature HTTP header required to authenticate the host. That allows to refuse IP whitelisting during integration process. Otherwise, it deprives the provider of the ability to scale quickly (horizontally) without notifying the platform.

tip

Ask your integration manager for the base URL.

/game/url

The method is used to generate a game launch URL with the specified parameters.

Example of the request

Attention

Request headers specified in the example are required: Accept, Content-Type, X-Auth-Signature

POST /game/url HTTP/1.1
Content-Type: application/json
Accept: application/json
X-Auth-Signature: <signature>

{
"cid": "someplatform",
"productId": "nft-aviatrix",
"sessionToken": "5fc0cbd8-6328-43a5-a016-c075950d5393",
"lang": "en",
"lobbyUrl": "https://example.com",
"isDemo": false,
"promoCode": "ABCD2025",
"hideExitButton": false
}
ParameterDescriptionTypeRequirementsExplanation
cidunique brand identifierstringmandatoryidentifier can be the same for all environments within the brand
productIdbrand game identifierstringmandatorycurrent identifiers: nft-aviatrix, second-chance, aviatrix-fruits
sessionTokentoken with user sessionstringmandatory when isDemo=falsetoken must be generated by the brand for further requests from server part of provider. Expected length: 1-255 symbols. Not required for demo mode
langlanguage codestringoptionalformat code ISO 639-1. Default value is en
lobbyUrllobby urlstringoptionalneeded for redirects to brand homepage
isDemodemo mode flagboolmandatory for demo modeneeded to enable the demo mode of the game. Required parameter for demo mode
promoCodepromotional codestringoptionalneeded for direct opening of the promo code entry form. If a value is passed (promoCode=promocode1&…), a modal window will open, and the input will be filled. If the parameter is empty (promoCode=&…), the entry form will open with an empty input value.
hideExitButtoncontrols the visibility of the menu exit buttonstringoptionalcontrols the visibility of the menu exit button, overriding its display if enabled in the config

Example of the response from the server

HTTP/1.1 200 OK
{
"url": "https://domain.com?cid=somebrand&productId=nft-aviatrix&sessionToken=qwerty12345&lang=en&lobbyUrl=https://example.com"
}
ParameterDescriptionTypeExplanation
urlgame launch URLstringcomplete URL for launching the game with parameters

/game/list

The method is used to display the list of games available for a brand.

Example of the request

Attention

Request headers specified in the example are required: Accept, Content-Type, X-Auth-Signature

POST /game/list HTTP/1.1
Content-Type: application/json
Accept: application/json
X-Auth-Signature: <signature>

{
"cid": "someplatform"
}
ParameterDescriptionTypeRequirementsExplanation
cidunique brand identifierstringmandatoryidentifier can be the same for all environments within the brand

Example of the response from the server

HTTP/1.1 200 OK
{
"games": [
{
"productId": "nft-aviatrix",
"name": "Aviatrix",
"rtp": "97.00"
}
]
}
ParameterDescriptionTypeExplanation
gameslist of gamesarrayin the response present games that are available for the specified brand
productIdbrand game identifierstringcurrent identifiers: nft-aviatrix, second-chance, aviatrix-fruits
namebrand game namestringavailable languages: en
rtppercentage return to playerstringwill return to the player in the long run

/game/round

The method is used to get info about a round or a bet results. The response is application/json by default; to request an HTML page a header ACCEPT should be provided with value text/html

Example of the request for any game

Attention

Request headers specified in the example are required: Accept, Content-Type, X-Auth-Signature

POST /game/round HTTP/1.1
Content-Type: application/json
Accept: application/json
X-Auth-Signature: <signature>

{
"cid": "someplatform",
"playerId": "john",
"productId": "nft-aviatrix",
"roundId": "2028207"
}
ParameterDescriptionTypeRequirementsExplanation
cidunique brand identifierstringmandatoryvalue from URL parameters of games provider during integration
playerIduser identifierstringmandatoryvalue from request /playerInfo
productIdbrand game identifierstringmandatorycurrent identifiers: nft-aviatrix, second-chance, aviatrix-fruits
roundIdround identifierstringmandatory if betId is missingvalue from request /bet
betIdbet identifierstringmandatory if roundId is missingvalue from request /bet

Example of a response from the server for Aviatrix

HTML

Game Round

JSON
HTTP/1.1 200 OK

{
"roundId": "3838216",
"roundOdd": 4.19,
"finishedAt": "2024-10-18T08:38:02Z",
"bets": [
{
"id": "af5ec231-42dd-4c3d-5eaf-ebe859da69da",
"currency": "EUR",
"betAmount": 100,
"winAmount": 140,
"odds": 1.40
},
{
"id": "c4d3312c-69da-475c-af5e-be8e59dadd42",
"currency": "EUR",
"betAmount": 100,
"winAmount": 152,
"odds": 1.52
}
]
}

Parameter details

ParameterDescriptionTypeExplanation
roundIdround identifierstringvalue from request /game/round
roundOddround coefficientdoublethe odds the round finished with
finishedAtround timestamptimestampformat: yyyy-MM-dd’T’HH:mm:ss.SSSZ
betsuser's betsarrayall user's bets or requested by betId one
bet.idbet identifierstringid of a placed bet
bet.currencybet currencystringISO-4217-3 format. currency in which the user made a bet
bet.oddswin coefficientdoublecoefficient of bet settled on. odds = 0 for no winning
bet.betAmountbet amountintegeruser bet amount in the format minor currency unit (given the cents, i.e. the number multiplied by 100)
bet.winAmountwin amountintegeruser win amount in the format minor currency unit (given the cents, i.e. the number multiplied by 100)

Example of a response from the server for Aviatrix Fruits

HTML

Slots Game Round

JSON
HTTP/1.1 200 OK

{
"roundId": "699252",
"finishedAt": "2026-05-08T12:18:10Z",
"bets": [
{
"id": "8a36e6cd-882d-4595-82c2-d9ed77e15a6e",
"currency": "EUR",
"betAmount": 1000,
"winAmount": 5000,
"odds": 5
}
],
"reels": [
[
"c",
"c",
"c",
"g",
"f"
],
[
"f",
"c",
"d",
"e",
"g"
],
[
"f",
"d",
"d",
"g",
"f"
]
],
"winLines": [
{
"line": 1,
"symbol": "C",
"count": 3,
"winAmount": 5000
}
]
}
Parameter details
ParameterDescriptionTypeExplanation
roundIdround identifierstringvalue from request /game/round
finishedAtround timestamptimestampformat: yyyy-MM-dd’T’HH:mm:ss.SSSZ
betsuser's betsarrayall user's bets or requested by betId one
bet.idbet identifierstringid of a placed bet
bet.currencybet currencystringISO-4217-3 format. currency in which the user made a bet
bet.oddswin coefficientdoublecoefficient of bet settled on. odds = 0 for no winning
bet.betAmountbet amountintegeruser bet amount in the format minor currency unit (given the cents, i.e. the number multiplied by 100)
bet.winAmountwin amountintegeruser win amount in the format minor currency unit (given the cents, i.e. the number multiplied by 100)
reelsfinal combinationarraysize: 5 reels x 3 symbols
winLineswinning linesarrayempty array in case of lost
winLines.linewinning line numberintegerorder number
winLines.symbolwinning line symbolstringcurrent identifiers: SC, A, B, C, D, E, F, G
winLines.countwinning line symbols counterintegervalues range: 3-5
winLines.winAmountwinning line win amountintegercurrency is specified in bet.currency parameter