Authenticates the player for real-play mode. Validates player identifiers and sets up a session for gameplay.
POST /v1/authenticate
Headers: X-HMAC-Signature, X-Request-ID
Request
Request Parameters
|
Field |
Required/Optional |
Data Type |
Description |
|---|---|---|---|
|
launchToken |
Required |
string |
JWT used to authorize the game session. |
|
provider |
Required |
string |
Identifier for the game provider, normally the studio name. |
|
game |
Required |
string |
Identifier for the game being launched. |
|
ip |
Required |
string |
IPv4 address of the player. |
|
platform |
Required |
enum |
Type of platform. Possible values: |
Request Example
{
"launchToken": "eyJhbG9hshdgjh38Gsjsk3jdl",
"provider": "gameprovider",
"game": "fantasyquest",
"ip": "1.2.3.4",
"platform": "mobile"
}
Response
Response Parameters
|
Field |
Required/Optional |
Data Type |
Description |
|---|---|---|---|
|
playerId |
Required |
string |
Unique identifier for the player. |
|
playerToken |
Required |
string |
Token for this player/game session. Must be sent as |
|
brand |
Required |
string |
Player’s brand identifier. For test users excluded from billing, the value will be |
|
balance |
Required |
decimal |
Current balance of the player, in player’s currency. |
|
balanceInfo |
Required |
object |
Object containing ISO currency code and currency multiplier. |
|
sessionInfo |
Required |
object |
Object with URLs and game-specific session information. |
|
freeGameInfo |
Optional |
array |
List of free games available to the player for this game. |
Response Example
{
"playerId": "44-12345-67890",
"playerToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV",
"brand": "12345",
"balance": 1500.50,
"balanceInfo": {
"currency": "usd",
"currencyTruncation": 1
},
"sessionInfo": {
"lobbyUrl": "https://operator.example/lobby",
"depositUrl": "https://operator.example/deposit",
"gameConfig": {
"maxExposure": 100000,
"minBet": 1,
"maxBet": 500,
"defaultBet": 10
}
},
"freeGameInfo": [
{
"instanceId": 1,
"offerId": 99,
"offerName": "Sample Free Spins",
"instanceInfo": {
"canBeRejected": false,
"nearestCostPerBet": 5,
"numberOfRoundsRemaining": 3,
"numberOfRoundsAwarded": 10,
"instanceStartDateUtc": "2025-05-23T11:54:37Z",
"instanceEndDateUtc": "2025-05-25T13:34:37Z"
}
}
]
}
balanceInfo object
|
Field |
Required/Optional |
Data Type |
Description |
|---|---|---|---|
|
currency |
Required |
string |
Lowercase ISO 4217 currency code for the balance (e.g., "usd"). Cryptocurrency or virtual currency codes are also supported where relevant. |
|
currencyTruncation |
Required |
integer |
A value of 1 means the reported balance is the actual currency amount. If set to a higher number, such as 1000, the balance has been scaled down for display (for example, 1 VND shown to the player represents 1000 VND in actual currency). Games always display balances in player currency; the multiplier is provided for accurate financial reporting on the game provider side. |
sessionInfo object
|
Field |
Required/Optional |
Data Type |
Description |
|---|---|---|---|
|
lobbyUrl |
Optional |
string |
URL to return the player to the lobby. |
|
depositUrl |
Optional |
string |
URL for the deposit flow. |
|
gameConfig |
Optional |
object |
Object containing game configuration details. See |
gameConfig object
This object can change depending on the game type - for example, Buy Features might have different properties.
|
Field |
Required/Optional |
Data Type |
Description |
|---|---|---|---|
|
maxExposure |
Optional |
decimal |
Maximum allowed exposure for game. |
|
minBet |
Optional |
decimal |
Minimum allowed bet for game. |
|
maxBet |
Optional |
decimal |
Maximum allowed bet for game. |
|
defaultBet |
Optional |
decimal |
Default bet for game. |
freeGameInfo object
|
Field |
Required/Optional |
Data Type |
Description |
|---|---|---|---|
|
instanceId |
Required |
integer |
Unique identifier for the free game instance. |
|
offerId |
Required |
integer |
Unique identifier for the free game offer. |
|
offerName |
Required |
string |
Name for this free game offer. |
|
instanceInfo |
Required |
object |
Details about the free game instance. |
instanceInfo object
|
Field |
Required/Optional |
Data Type |
Description |
|---|---|---|---|
|
canBeRejected |
Required |
boolean |
Indicates if this free game set can be rejected by the player. |
|
nearestCostPerBet |
Required |
decimal |
Closest cost-per-bet for this offer, per round. |
|
numberOfRoundsRemaining |
Required |
integer |
Rounds left to play. |
|
numberOfRoundsAwarded |
Required |
integer |
Total rounds awarded. |
|
instanceStartDateUtc |
Required |
string |
Available time, as ISO 8601 UTC datetime string (e.g. "2025-05-25T13:34:37Z"). |
|
instanceEndDateUtc |
Required |
string |
Expiry, as ISO 8601 UTC datetime string (e.g. "2025-05-25T13:34:37Z"). |