0% found this document useful (0 votes)
2K views270 pages

Pragmatic Play API Integration Guide

The document is a comprehensive API specification for Pragmatic Play, detailing various APIs including Seamless Wallet, Balance Transfer, and Game History APIs. It includes version control, integration methods, error codes, and specific features for regulated markets and different game types. The latest update is from July 2025, and the document is marked as strictly confidential for intended recipients only.

Uploaded by

Justin
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views270 pages

Pragmatic Play API Integration Guide

The document is a comprehensive API specification for Pragmatic Play, detailing various APIs including Seamless Wallet, Balance Transfer, and Game History APIs. It includes version control, integration methods, error codes, and specific features for regulated markets and different game types. The latest update is from July 2025, and the document is marked as strictly confidential for intended recipients only.

Uploaded by

Justin
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Integration API specification

Strictly Confidential - for intended purposes and recipients only!

Latest update: July, 2025


API version 3.233

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Table of Contents
Version Control..............................................................................................................................................................................8
I. API Overview............................................................................................................................................................................11
1.1 Seamless Wallet API..........................................................................................................................................................11
1.2 Balance Transfer API.........................................................................................................................................................12
1.3 Integration API..................................................................................................................................................................12
1.4 Data feeds.........................................................................................................................................................................12
1.5 Player ID............................................................................................................................................................................13
1.5.1 Seamless Wallet (Authenticate method)...................................................................................................................13
1.5.2 Balance Transfer (StartGame method)......................................................................................................................13
1.6 Play session.......................................................................................................................................................................13
Life cycle of Unfinished rounds..........................................................................................................................................13
1.7 Transaction reference.......................................................................................................................................................13
II. Integration API.........................................................................................................................................................................14
2.1 GetCasinoGames...............................................................................................................................................................14
2.1.1 Game icons................................................................................................................................................................18
2.2 GetLobbyGames................................................................................................................................................................20
2.3 CloseSession......................................................................................................................................................................22
2.4 CancelRound.....................................................................................................................................................................23
2.5 HealthCheck......................................................................................................................................................................24
2.6 Auto-finalization of Unfinished Rounds............................................................................................................................25
For Seamless Wallet API.....................................................................................................................................................25
For Balance Transfer API.....................................................................................................................................................25
2.7 Replay link.........................................................................................................................................................................26
2.8 Error codes........................................................................................................................................................................27
III. Seamless Wallet API...............................................................................................................................................................28
General description.................................................................................................................................................................28
Bonus Wallet feature..............................................................................................................................................................28
3.1 Game opening...................................................................................................................................................................29
3.1.1 Explicit launch URL (deprecated)...............................................................................................................................29
3.1.2 GameURL API method...............................................................................................................................................30
3.2 Hash calculation................................................................................................................................................................34
3.3 Data types.........................................................................................................................................................................35
3.4 Authenticate......................................................................................................................................................................38
3.5 Balance..............................................................................................................................................................................41

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.6 Bet.....................................................................................................................................................................................42
3.7 Result.................................................................................................................................................................................45
3.8 BonusWin..........................................................................................................................................................................48
3.9 JackpotWin........................................................................................................................................................................50
3.10 EndRound........................................................................................................................................................................53
3.11 Refund.............................................................................................................................................................................56
3.12 GetBalancePerGame.......................................................................................................................................................58
3.13 PromoWin.......................................................................................................................................................................60
3.14 SessionExpired................................................................................................................................................................62
3.15 Adjustment......................................................................................................................................................................63
3.16 RoundDetails...................................................................................................................................................................65
3.17 Error codes......................................................................................................................................................................66
IV. Balance Transfer API..............................................................................................................................................................67
4.1 Game opening...................................................................................................................................................................67
4.2 Hash calculation................................................................................................................................................................67
4.3 Data types.........................................................................................................................................................................68
4.4 CreatePlayer......................................................................................................................................................................69
4.5 Transfer.............................................................................................................................................................................70
4.6 GetTransferStatus.............................................................................................................................................................71
4.7 GetBalance........................................................................................................................................................................72
4.8 StartGame.........................................................................................................................................................................73
4.9 TerminateSession..............................................................................................................................................................75
4.10 TransferTransactions.......................................................................................................................................................76
4.11 Error codes......................................................................................................................................................................77
V. Games JavaScript API..............................................................................................................................................................78
5.1 Game Events Interception................................................................................................................................................78
5.2 Events................................................................................................................................................................................79
5.3 Triggers..............................................................................................................................................................................81
VI. Variable Free Spins API...........................................................................................................................................................82
6.1 Hash calculation................................................................................................................................................................82
6.2 Data types.........................................................................................................................................................................83
6.3 Create Free Spins..............................................................................................................................................................84
6.4 Cancel Free Spins..............................................................................................................................................................87
6.5 GetPlayersFSB...................................................................................................................................................................88
6.6 Add players........................................................................................................................................................................90
6.7 Add player.........................................................................................................................................................................91
6.8 Remove players.................................................................................................................................................................93

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

6.9 Create Player Free Spins...................................................................................................................................................94


6.10 Get Bet Scales..................................................................................................................................................................97
6.11 Error codes......................................................................................................................................................................99
VII. Game History API................................................................................................................................................................100
7.1 Hash calculation..............................................................................................................................................................100
7.2 Data types.......................................................................................................................................................................101
7.3 GetPlayedGames.............................................................................................................................................................102
7.4 GetGameRounds.............................................................................................................................................................103
7.5 OpenHistory....................................................................................................................................................................105
7.6 GetRoundStatus..............................................................................................................................................................106
7.7 OpenHistoryExtended.....................................................................................................................................................108
7.8 Error codes......................................................................................................................................................................109
VIII. Data feeds and reports.......................................................................................................................................................110
Time points.......................................................................................................................................................................110
Using timepoints for past periods....................................................................................................................................110
Data Feed URL..................................................................................................................................................................111
Data formats.....................................................................................................................................................................111
Data types.............................................................................................................................................................................112
8.1 Environment list..............................................................................................................................................................114
8.2 Game Rounds..................................................................................................................................................................115
8.3 In-game transactions.......................................................................................................................................................118
8.4 Failed Transactions..........................................................................................................................................................120
8.5 Active Jackpots (replacement of previous version)........................................................................................................121
8.6 Jackpot Winners (replacement of previous version)......................................................................................................124
8.7 Jackpot Winnings............................................................................................................................................................126
8.8 Daily Totals......................................................................................................................................................................129
8.9 Player’s Incomplete Rounds............................................................................................................................................131
8.10 Canceled Rounds...........................................................................................................................................................133
IX. Promotions API.....................................................................................................................................................................135
9.1 Tournament Winners......................................................................................................................................................135
9.2 Tournament Active..........................................................................................................................................................138
9.3 Tournament Prizes..........................................................................................................................................................142
9.4 Tournament Leaderboard...............................................................................................................................................145
9.5 Prize Drop Winners.........................................................................................................................................................147
9.6 Active Prize Drops...........................................................................................................................................................150
9.7 Prize Drop Prizes.............................................................................................................................................................155
9.8 Prize Drop Latest Wins....................................................................................................................................................158

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

9.9 Promo Details..................................................................................................................................................................161


9.10 Error codes....................................................................................................................................................................162
X. Business Statistics API...........................................................................................................................................................163
Hash calculation................................................................................................................................................................163
10.2 Players daily report.......................................................................................................................................................163
10.3 Error codes....................................................................................................................................................................165
XI. Diagrams...............................................................................................................................................................................166
11.1 Flow diagram of opening casino game for Seamless Wallet API..................................................................................166
11.2 Flow diagram of playing casino game Seamless Wallet API.........................................................................................167
XII. Reconciliation.....................................................................................................................................................................169
12.1 Reconciliation process..................................................................................................................................................169
Bet transaction.................................................................................................................................................................169
Refund transaction...........................................................................................................................................................169
Winning transactions........................................................................................................................................................169
PromoWin.........................................................................................................................................................................169
EndRound.........................................................................................................................................................................169
12.2 Reconciliation mechanism............................................................................................................................................170
XIII. Reality Check......................................................................................................................................................................171
13.1 Server side implementation..........................................................................................................................................171
Reality Check Warning......................................................................................................................................................171
Reality Check Response....................................................................................................................................................172
13.2 Client side implementation...........................................................................................................................................173
XIV. Custom messages...............................................................................................................................................................174
14.1 Custom messages syntax..............................................................................................................................................174
14.2 Action types..................................................................................................................................................................175
14.3 Link types......................................................................................................................................................................175
14.4 Custom messages API...................................................................................................................................................176
XV. Regulated Markets..............................................................................................................................................................177
15.1 Responsible gaming - Sweden......................................................................................................................................177
Login time.........................................................................................................................................................................177
Links and logos to self-assessment tests..........................................................................................................................177
Set player’s country..........................................................................................................................................................177
Displaying of totals...........................................................................................................................................................177
15.2 Checksums API..............................................................................................................................................................177
15.3 Launch games from internal lobby for Italian regulated market.................................................................................181
15.4 Portuguese Regulated Market - Slot Machine and RNG Table Game Reporting.........................................................182
Introduction......................................................................................................................................................................182

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Slot Machine and RNG Table Game Reporting API..........................................................................................................182


API specification...............................................................................................................................................................183
Error codes........................................................................................................................................................................184
Examples...........................................................................................................................................................................184
15.5 South Africa RoundDetails............................................................................................................................................185
API specification...............................................................................................................................................................185
Error codes........................................................................................................................................................................185
15.6 Promo campaigns requirements for regulated markets..............................................................................................186
XVI. Integration with demo games............................................................................................................................................187
XVII. Bingo Integration API........................................................................................................................................................188
Bingo Game API.....................................................................................................................................................................188
Definitions.............................................................................................................................................................................188
List of definitions for the OPERATOR:...................................................................................................................................188
17.1 Bingo room Launching..................................................................................................................................................188
Room opening...................................................................................................................................................................188
Bingo game launch URL (deprecated)..............................................................................................................................188
Bingo gameURL API method.............................................................................................................................................189
Hash calculation................................................................................................................................................................192
"My Offers" page launch..................................................................................................................................................193
Mini-games.......................................................................................................................................................................194
17.2 Bingo integration API for OPERATOR side....................................................................................................................195
Nickname ........................................................................................................................................................................195
Free Spins Bonus Prizes....................................................................................................................................................197
17.3 Bingo integration API for PROVIDER side.....................................................................................................................198
Hash calculation................................................................................................................................................................198
RoomList V2......................................................................................................................................................................199
JackpotWinners................................................................................................................................................................202
ChangeNickname..............................................................................................................................................................204
Bingo Player History.........................................................................................................................................................205
Bingo Round History.........................................................................................................................................................207
Error Codes.......................................................................................................................................................................209
17.4 Free tickets API..............................................................................................................................................................211
ActiveGameConfigs...........................................................................................................................................................211
CreateFreeTickets.............................................................................................................................................................213
CancelFreeTickets.............................................................................................................................................................214
ActiveFreeTickets..............................................................................................................................................................215
XVIII. Live Casino Integration.....................................................................................................................................................217

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

18.1 Live Casino Dynamic Games Access..............................................................................................................................217


DGA Overview...................................................................................................................................................................217
WebSocket data feed.......................................................................................................................................................217
Data feeds.........................................................................................................................................................................217
JavascriptAPI.....................................................................................................................................................................218
Data Format......................................................................................................................................................................219
18.2 Flow of placing and sending bets for Seamless Wallet API..........................................................................................250
18.3 Games Full-Screen.........................................................................................................................................................251
18.4 Predefined filters in Live Casino Lobby categories.......................................................................................................252
For Seamless Wallet API...................................................................................................................................................252
For Balance Transfer API...................................................................................................................................................252
18.4.1 Filter Values...........................................................................................................................................................253
XIX. Free Chips API (Multicurrency feature is coming soon )....................................................................................................256
19.1 Hash calculation............................................................................................................................................................256
19.2 Data types.....................................................................................................................................................................257
19.3 Create Free Chips..........................................................................................................................................................258
19.4 Cancel Free Chips..........................................................................................................................................................260
19.5 Get Players FC...............................................................................................................................................................261
19.6 Add players....................................................................................................................................................................263
19.7 Add player.....................................................................................................................................................................264
19.8 Remove players.............................................................................................................................................................266
19.9 Get Chip Values.............................................................................................................................................................267
19.10 Error codes..................................................................................................................................................................269

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Version Control
Date Author Version Changes description
22-Feb -21 Sergiy B. 3.139 Added optional roundDetails parameter in 3.11 EndRound
25-Feb -21 Sergiy B. 3.140 Added section 15.3 Launch games from internal lobby for Italian regulated market
added optional parameters chosenBalance, previousToken, launchingType in 3.4 Authenticate
request
added optional parameter totalBalance in 3.6 Balance, 3.14 GetBalancePerGame responses
Added optional parameter dataType in 15.2 Checksums API
09-Mar-21 Sergiy B. 3.141 XVIII DGA API – remove table times from examples
3.10 jackpotWin – adding specprizeType for Bingo Physical prizes
17.3 – added special prize description to Roomlist and SessionGameInfo
21-Apr-21 Sergiy B. 3.146 Added section 15.5 SA RoundDetails
22-Apr-21 Sergiy B. 3.147 Added events and triggers in XIX. Games JavaScript API
Separated events and triggers per product
30-Apr-21 Sergiy B. 3.148 Added note for FRB with periodOfTime in 6.3 Create Free Rounds, 6.7 Create Player Free Rounds
14-May-21 Sergiy B. 3.149 Added section 8.6 Jackpot Winners; added level “G” in 8.5 Active Jackpots
17-May-21 Sergiy B. 3.150 Added section 15.6 Spanish certification requirements; added promo to 3.1 game launch
09-Jun-21 Sergiy B. 3.152 Added extraInfo in 3.4 authenticate. Added error and description in responses for all methods of III
Seamless Wallet API
30-Jun-21 Sergiy B. 3.154 Added dataType parameter to 3.15 promoWin
15-Jul-21 Sergiy B. 3.155 Added jackpotDetails to 3.10 jackpotWin
23-Jul-21 Sergiy B. 3.157 Added DataFeeds method 8.9 Canceled Rounds
23-Jul-21 Sergiy B. 3.158 Added ctlgroup parameter to 3.1 Game opening; Added extraInfo parameter to 4.8 Start Game;
Added options: addRoundDetails to 8.2 Game Rounds
03-Aug-21 Sergiy B. 3.159 Added dataType parameter to 10.1 Player’s daily totals
25-Aug-21 Dmitriy M. 3.160 Added roundDetails parameter to the 8.2 Game Rounds section
07-Sep-21 Dmitriy M. 3.162 Added 3.15 Adjustment API method
4-Dec-21 Dmitriy M. 3.166 added Sweet Bonanza DGA example, added addJPContributionAmount option for Datafeeds
8-Dec-21 Dmitriy M. 3.167 Added GetFeatures option for getCasinoGames API method
22-Dec-21 Dmitriy M. 3.168 Added validBetAmount parameter to the Adjustment API method, other minor fixes
13-Jan-22 Dmitriy M. 3.169 Minor adjustments, new CJP tournament parameters
31- Jan -22 Dmitriy M. 3.170 New parameters for the IT jurisdiction (aamsTicket, aamsSessionId) for authenticate calls
19-Feb-22 Dmitriy M. 3.171 Added addBalance option for the Datafeeds, other minor updates.
06-Apr-22 Dmitriy M. 3.172 added partialWinStatus option to round status
03-May-22 Dmitriy M. 3.173 Added new type for the FreeRoundsBonusAPI/v2/ - F (Free Bonus Feature)
28-May-22 Dmitriy M. 3.174 Added new optional API /[Link]
30-May-22 Dmitriy M. 3.175 Added Bingo DataFeeds and new roundDetails features for [Link]
28-July-22 Dmitriy M. 3.176 Added a possibility to re-use bonusCode for the same player
02-Aug-22 Sergiy B. 3.177 Added FLEXIBLE Free Tickets type to Free tickets API \ CreateFreeTickets
14-Aug-22 Dmitriy M. 3.178 Removed Simple FRB API (deprecated). Added New game event bigWinLevel.
13-Sep-22 Belets E. 3.179 5.2 Events – added bigWinLevel parameter
25-Oct-22 Sergiy B. 3.180 3.9 jackpotWin - added jackpotDetails and progressive\non-progressive warn for slots
02-Nov-22 Belets E. 3.181 3.13 PromoWin – added gameId parameter
09-Nov-22 Sergiy B. 3.182 15.2 Checksums API – added example of response with full path to critical files
17-Nov-22 Belets E. 3.183 3.13 PromoWin – added roundId parameter
01-Dec-22 Belets E. 3.184 3.1.2 GameURL API method – added rci, rce, rcHistoryUrl, rcCloseUrl, promo, ctlgroup parameters

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

06-Dec-22 Belets E. 3.185 Added sections – 9.2 Promo Details


21-Dec-22 Belets E. 3.186 8.2 Game Rounds added - /gamerounds/adjusted/
28-Dec-22 Belets E. 3.187 6.7 Remove players added requestID parameter
11- Jan -23 Belets E. 3.188 Added baseWin, freeSpinCount, freeSpinWin to 3.7 (Result) / 3.10 (EndRound)
24- Jan -23 Belets E. 3.189 Added sections – 15.7 Auto-finalization of Unfinished Rounds
13-Mar-23 Belets E. 3.190 Minor changes, added two parameters to example for BACCARAT
17-Mar-23 Belets E. 3.191 Value addBonusBetWin is added to the options parameter in sections 8.2 and 8.9
04-Apr-23 Belets E. 3.192 Added sections – 6.7 Add player
05-May-23 Belets E. 3.193 8.3 In-game transactions / added type: V – Partial win transaction (closes the round)
15-May-23 Belets E. 3.194 3.13 BonusWin – added remainAmount parameter.
17.1 Added sections – How to Access Bingo Client and Display "My Offers" by Default.
1.1 – 1.2 – added DGA parameter.
07-June-23 Belets E. 3.195 Added includeCanceledBets parameter to 10.2 Players daily report
20-June-23 Belets E. 3.196 Removed - 3.1.1 Explicit launch URL
10-Aug-23 Belets E. 3.197 Updated Method 8.6 Jackpot Winners (new version)
Value FREE_BONUS_FEATURE is added to the features parameter in sections 2.1
Values finalizedRoundsSeparated / finalizedRoundsHidden is added to the options parameter in
sections 8.2 / Other minor changes.
16-Aug-23 Belets E. 3.198 Updated Method 8.5 Active Jackpots (new version)
29-Aug-23 Belets E. 3.199 Value CB is added to the campaignType parameter in sections 3.13 / Other minor changes.
01-Sep-23 Belets E. 3.200 Added Boom City, Vegas Bingo, Snakes And Ladders, Mega baccarat, Powerup Roulette, Black
Jack/Private BJ DGA examples
06-Nov-23 Belets E. 3.201 Removed – 16 Integration with demo games.
Added playMode parameter to 4.8 StartGame.
20-Nov-23 Belets E. 3.202 Added new section 2.5 Auto-finalization of Unfinished Rounds (SW/BT)
Added externalPlayerId parameter to 3.1.2 Players daily report / Other minor changes.
12-Dec-23 Belets E. 3.203 Added new section 2.2 GetLobbyGames
21-Dec-23 Belets E. 3.204 Added new section 4.10 TransferTransactions / Other minor changes.
23-Feb-24 Belets E. 3.205 6.3 Create Free Rounds – added expirationPeriod / validityPeriod parameters
6.11 Added error codes 37#1 – 37#5 / Other minor changes.
14-Mar-24 Belets E. 3.206 9.1 Tournament Winners – added options (addWinTime/winEventTime) parameters.
3.9 JackpotWin – added balanceBeforeWin/balanceAfterWin parameters.
Added section 9.5 Prize Drop Winners / Added note for 8.5 Active Jackpots
Renamed the method from [Link] Free Rounds API to VI. Variable Free Spins API and its
contents: Free Rounds>Free Spins / FRB>FSB/etc. / Other minor changes
22-Mar-24 Belets E. 3.207 Added sections: 9.2 Tournament Active / 9.3 Tournament Prizes / 9.4 Tournament Leaderboard

23-Apr-24 Belets E. 3.208 15.2 Checksums API – added options > gameRelatedOnly parameter. / 9.6 Promo Details - added
options > CB – Cashback parameter / Added note for 9.1 – 9.6 / Other minor changes.
13-May-24 Belets E. 3.209 Added section - 8.7 Jackpot Winnings / Other minor changes.
30-May-24 Belets E. 3.210 Added section - 8.1 Environment list (Balance Transfer API) / Added note/host to sections 8.1-8.10,
9.1 / Other minor changes.
19-June-24 Belets E. 3.211 Added extraInfo:jurisdictionMaxBet parameter to 3.4 Authenticate / Other minor changes.
05-July-24 Belets E. 3.212 Added section - Bingo gameURL API method / Other minor changes.
09-July-24 Belets E. 3.213 Updated the Data Format subsection in section 18.1
19-July-24 Belets E. 3.214 The auto-finalization feature has been updated. The update affected sections: 1.1 / 1.2 / 1.6 / 2.6
31-July-24 Belets E. 3.215 4.8 StartGame - added jurisdiction parameter.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

06-Sep-24 Belets E. 3.216 3.1.2 GameURL API method / 4.8 StartGame - added lobbyFilter parameter / Added section - 18.4
Predefined filters in Live Casino Lobby categories

19-Sep-24 Sergii O. 3.217 3.9 jackpotWin - added instanceId parameter / Other minor changes.
11-Oct-24 Belets E. 3.218 Added section – 2.7 Replay link, 2.8 Error codes / Added note for 6.4, 6.8 / Other minor changes
15-Nov-24 Belets E. 3.219 Added section – XIX. Free Chips API (19.1-19.10);
2.1 GetCasinoGames – added options>GetFcDetails parameter/ added – fcAvailable parameter
29-Nov-24 Sergii O. 3.220 Updated section – 2.1.1 Game icons and other minor changes.
06-Dec-24 Sergii O. 3.221 Updated the Get Chip Values and Create Free Chips subsections in the XIX. Free Chips API
09-Dec-24 Sergii O. 3.222 Added section – 2.8 Standalone Slots Lobby
18-Dec-24 Sergii O. 3.223 Updated section – 2.8 Standalone Slots Lobby and other minor changes.
20-Dec-24 Belets E. 3.224 3.3 Data Types – new jurisdictions added (HU/MX/X2/BR/SK/PE/AB)
Added section – 9.6 Active Prize Drops / 9.7 Prize Drop Prizes / 9.8 Prize Drop Latest Wins
17-Jan-25 Sergii O. 3.225 Updated the 2.8 Standalone Slots Lobby section
12-Mar-25 Sergii O. 3.226 Updated section – 2.1 GetCasinoGames and other minor changes.
10-Apr-25 Sergii B. 3.227 Removed section – 2.8 Standalone Slots Lobby
25-Apr-25 Belets E. 3.228 18.1 Live Casino Dynamic Games Access – updated the block with game types in the Data feeds
section
Added - 6.11 Error codes / 37#6 Bad request: playerList' size should be less or equals to 5000
and other minor changes.
30-May-25 Belets E. 3.229 Added note for [Link] Chips API / 3.15 Adjustment – added roundDetails / bonusCode
parameters.
Value MR is added to the campaignType parameter in sections 3.13 and other minor changes.
23-June-25 Sergii B. 3.230 Added section – Bonus Wallet feature
07-Jul-25 Sergiy B 3.232 Updated section XIX Free Chips API with multicurrency support
30-Jul-25 Sergii O. 3.233 Updated sections – 9.3 Tournament Prizes, 9.4 Tournament Leaderboard, 9.10 Error codes
and other minor changes.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

I. API Overview
Casino Game API supports different types of games: video slots, video poker, keno, etc. and API should not be changed if
Casino Operator needs to add more games to their portfolio.
As soon as new game is available, it is added to Game Library with game symbols. Casino Operator will use provided symbol
for StartGame method during opening specific game and Bet requests will be also sent using this symbol. Game Library will
be provided to Casino Operator together with integration package or resent when new games are available.
Using this Casino Game API Casino Operator is able to integrate both types of games: web version for desktop devices and
mobile version.
Platform provides the set of games built in HTML5 technology.

1.1 Seamless Wallet API


Operator should provide the Seamless Wallet Integration API on their side. Pragmatic Play will call the methods when
players make a bet or get a win and their balance should be updated.

Method/Section Description Status

2.6 Autofinalization This feature allows to resolve and complete incomplete rounds with age that exceed 30 Required
Feature days (or a shorter time, if desired) from the start of the round.

Authenticate This method authenticates player by secure token. Required


Casino Operator generates one-time secure token and sends it with the URL for opening
Pragmatic Play game. See “11.1 Flow diagram of opening casino game ”
Balance Returns the balance of a player. Required

Bet Checks if the player has enough funds and subtracts money from player’s balance. Returns Required
the value of updated balance.
Refund Refunds player’s balance. This method will be used for cancellation of a bet in the case the Required
game cannot be finished.
Result Adds winning amount to player’s balance. Returns the value of updated balance. Required

BonusWin Notifies the Casino Operator that free spins are over and player’s balance should be Required
increased with bonus amount.
JackpotWin Using this method a Pragmatic Play system will notify Casino Operator about Jackpot Required
winning.
PromoWin Notifies the Casino Operator that tournament campaign is over and player’s cash balance Required
should be increased with amount in promoWin.
EndRound Notifies the Casino Operator that the game round is over, for transactions finalization Optional
purpose.
SessionExpired Notifies the Casino Operator that player’s game session has expired in PragmaticPlay Optional
system due to inactivity or game client closing.
GetBalancePerGame Returns the balance of a player per game. Optional

Adjustment Using this method the Pragmatic Play system will send to Casino Operator the amount Optional
player's balance to be adjusted with.
Live Casino Dynamic DGA is a data transfer system that will provide our operators with game table data to Required
Games Access populate thumbnails on their website.
*this functionality is required to be implemented (in Asia market the requirement needs to
be discussed with AM)

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

1.2 Balance Transfer API


Operator can use this API for game opening and transferring funds to player’s balance in the Pragmatic Play system.
Method/Section Description Status

2.6 Autofinalization This feature allows to resolve and complete incomplete rounds that do not exceed Required
Feature 30 days (or a shorter time, if desired) from the start of the round.

CreatePlayer This method allows registering a new player on Pragmatic Play side. Required

Transfer This method transfers funds in to player’s balance (i.e. deposit) and out of the Required
player’s balance (i.e. withdrawal) within Pragmatic Play system
GetBalance Using this method Casino Operator can get the current balance of the player in the Required
Pragmatic Play system
StartGame Casino Operator should call this method before opening the game in player’s Required
browser. Secure one-time token is generated on the Pragmatic Play side. As the
result of this method Casino Operator will get an URL to the requested game.
TerminateSession Using this method Casino Operator can terminate the current player session and kick Required
him out all games

Live Casino Dynamic DGA is a data transfer system that will provide our operators with game table data Required
Games Access to populate thumbnails on their website.
*this functionality is required to be implemented (in Asia market the requirement
needs to be discussed with AM)

1.3 Integration API


Integration API offers generic methods that allow Operators to create a game lobby, get statistics and close player sessions
forcefully.
Method Description Status

GetCasinoGames Using this method Casino Operator can retrieve the list of games available for Optional
integration.
May be used for automatic building games lobby at casino website.
CloseSession This method terminates active game sessions of the player. Optional

1.4 Data feeds


Reporting API on the Pragmatic Play side provides a set of data feeds for downloading play sessions, failed transactions and
recent information about jackpots.
Method Description Status

Play Sessions This data feed returns play sessions that was played during specified period. Optional

Failed Transactions Casino Operator can get the list of Refund and Result transactions that was not Optional
processed even after multiple attempts made by the Pragmatic Play server.
Active Jackpots Provides information about open jackpots per casino brand. Optional

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Jackpot Winnings Provides a list of last winnings of the specified jackpot. Optional

1.5 Player ID
1.5.1 Seamless Wallet (Authenticate method)
Player ID (userId parameter) is unique identifier of the user within Casino Operator system. Before sending to Pragmatic
Play any gaming related request Casino Operator should authenticate a player using Authenticate method. If player is new
and its account does not exist in the Pragmatic Play system it will be created automatically on the base of the data sent by
Casino Operator server in the Authenticate response. If player account already exists in the Pragmatic Play database it will
be updated with the response data if necessary. Player id received in the Authenticate response will be sent with all
subsequent requests to Casino Operator.

1.5.2 Balance Transfer (StartGame method)


Player ID is unique identifier of the user within Pragmatic Play system. Before sending to Pragmatic Play any gaming related
request Casino Operator should register a player using CreatePlayer method, get player id and save it somewhere inside
own system. Then this player id will be sent with all subsequent requests to both Casino Operator and Pragmatic Play.
Please note: this type of game opening remains in the API for compatibility with the previous versions of the interface.
Option 2 is more standard and preferred way to open games for integrated systems.

1.6 Play session


Play session is a game round in which bet and wins are combined together. Each round can contain several bets, win and
refunds of the bets.
Play sessions (Rounds) that trigger free spins or any bonus feature remain open until the player has completed all the
actions required for such a feature. Until then, the game session is incomplete and can remain open for a long time or
forever.

Life cycle of Unfinished rounds

Important!

To resolve and complete unfinished rounds, operators must integrate Autofinalization feature (section 2.6 Auto-
finalization of Unfinished Rounds) Autofinalization completes rounds older than 30 days by default.

1.7 Transaction reference


Transaction reference is unique transaction id within Pragmatic Play system. Transaction reference used for bets and wins
has to be different.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

II. Integration API


This is a simple API for Casino Operator to retrieve some data from Pragmatic Play system and send some events to
Pragmatic Play. API is an HTTP listener, which listens POST requests coming to an URL with the request mappings below.
All responses are in JSON format.

URL of the HTTP service will be provided by Pragmatic Play for the production and test environments and looks
like:

[Link] service domain}/IntegrationService/v3/http/CasinoGameAPI

Integration simple HTTP Service is securely protected, hence please be sure:


- player’s browser (end) must NOT be used as initiator of requests to the service;
- proper IPs are supplied to Pragmatic Play for whitelisting

2.1 GetCasinoGames
Request path: POST /getCasinoGames/
Using this method Casino Operator will get the list of casino games available for the integration.
Request parameters
Name Description Status

secureLogin User name for authentication in the Casino Game API service Required
options List of settings (String). By including it, operator can get additional information about game. Optional
Possible values are:
 GetFrbDetails
 GetLines
 GetDataTypes
 GetFeatures
 GetFcDetails
 GetStudio
 FilterStudio=<studio_name>, for example
FilterStudio=PP - for Pragmatic Play games
or
FilterStudio=FP - for Fat Panda games
hash Hash code of the request. Required

Response parameters
Name Type Description

gameList CasinoGame The list of CasinoGame objects for transferring casino games details (see data type description
below)
error String(10) 0 - if the request was successfully processed or error code in other case.

description String(250) Description of the error for troubleshooting purposes.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Type: CasinoGame
Name Type Description

gameID String(20) Symbolic unique identifier of the game provided by Pragmatic Play.
Example: vs7monkeys, vs50amt, rla, wra, bjb
gameName String(100) Name of the game.
Example: “Lucky Dragons”, “Hot Safari”
gameTypeID String(20) Symbolic unique identifier of the game.
Example: “vs”, “rl”, “vp”.

typeDescription String(100) Short description of the game type.


Example: “Video Slot”, “Roulette”, “Video Poker”.

technology String(30) Short description of the technologies in which the game is available, comma separated.
Possible values are:
 html5 - HTML5 games
technologyID String(10) Technologies in which the game is available, comma separated. Possible values are:
 H5 - HTML5 games
platform String(30) Platform for which the game can be opened. Possible values, comma separated:
 MOBILE – if game should be opened on mobile devices
 WEB – if game will be opened on desktop devices
demoGameAvailable Boolean If true, a demo version of the game is available.

aspectRatio String(10) Describes the proportional relationship between the width and the height of the game.
Example: “4:3”, “16:9”
gameIdNumeric Long The numeric value of gameID

jurisdictions List List of supported jurisdictions

frbAvailable Boolean If true, a free spins bonus of the game is available.


This field is optional and will appear in response in cases where request contains GetFrbDetails in
options list

fcAvailable Boolean If true, a free chips bonus of the game is available.


This field is optional and will appear in response in cases where request contains GetFcDetails in options
list
variableFrbAvailable Boolean If true, a variable free spins bonus of the game is available
This field is optional and will appear in response in cases where request contains GetFrbDetails in
options list

lines Integer
Bet multiplier: value that multiplies base bet to determine total bet.
This field is optional and will appear in response in cases where request contains GetLines in options list

features List List of supported in-game features


This field is optional and will appear in response in cases where request contains GetFeatures in options
list

Possible values:

1. BUY - in-game Buy feature


2. ANTE - ante bet supporting
3. SUPER_SPIN - super spin support
4. FREE_BONUS_FEATURE - instant bonus support
dataType String(3) Type of game portfolio

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Available options:
RNG - Main portfolio games (video slots, classic slots etc.)
LC - Live Casino portfolio
VSB - Virtual sports betting portfolio
This field is optional and will appear in response in cases where request contains GetDataTypes in
options list
studio String(10) Studio the game belongs to. Available options:
 PP - Pragmatic Play games
 FP - Fat Panda games
This field is optional and will appear in response in cases where request contains GetStudio in options list

Example of HTTP request:


POST /IntegrationService/v3/http/CasinoGameAPI/getCasinoGames/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&hash=da77af8d0ba97eaa033682466b87f569&options=GetFeatures,GetFrbDetails,Get-
Lines,GetDataTypes,GetFcDetails

Example of JSON response:


{
"error": "0",
"description": "OK",
"gameList": [
{
"gameID": "vs20olympgate",
"gameName": "Gates of Olympus",
"gameTypeID": "vs",
"typeDescription": "Video Slots",
"technology": "html5",
"platform": "MOBILE,WEB",
"demoGameAvailable": true,
"aspectRatio": "16:9",
"technologyID": "H5",
"gameIdNumeric": 1605284987,
"jurisdictions": [
"RS",
"X1",..
"ON"
],
"frbAvailable": true,
"variableFrbAvailable": true,
"lines": 20,
"dataType": "RNG",
"features": [
"ANTE",
"BUY"
],
"fcAvailable": false
},

...,

{
"gameID": "vs20doghouse",
"gameName": "The Dog House",
"gameTypeID": "vs",
"typeDescription": "Video Slots",
"technology": "html5",
"platform": "MOBILE,WEB",
"demoGameAvailable": true,
"aspectRatio": "16:9",
"technologyID": "H5",
"gameIdNumeric": 1547739735,
"jurisdictions": [

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"GR",
"DE",..
"ON"
],
"frbAvailable": true,
"variableFrbAvailable": true,
"lines": 20,
"dataType": "RNG",
"features": [],
"fcAvailable": false
}
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

2.1.1 Game icons


Links to game icons were updated. See new paths below. It is recommended to use new links further.
Old URLs (with /rec and /square attributes, like game_pic/rec/339/[Link]) keep working. They still lead to
the same game and size non-branded icons as before, according to specified parameters. For icons of new types and
sizes, the new version of links should be used.

Operator can use the URL below to get icons for the games:
http(s)://{[Link]}/gs2c/common/lobby/v1/apps/slots-lobby-assets/{gameID}/{gameID}_{size}
_{branding}_{language}.{filetype}
GameID is a symbolic unique identifier of the game within the Pragmatic Play. Example: ‘vs25ultwolgol’.
Size should be specified as <width>x<height>. Example: ‘200x200’.
Branding defines the branding of an icon (see comparison of branded and non-branded icons below). The following options
exist:
 B – branded icon
 NB – non-branded icon
Language defines the language of an icon (see comparison of English and Chinese icons below). The following options exist:
 No parameter – default language (English)
 ZH – Chinese
Filetype defines the file extension. For the same size of an icon, several filetypes can exist, such as jpg, png.
The following icons can be received:
Size Branded English Non-branded English Non-branded Chinese

138x138 png, jpg png, jpg

160x115 png, jpg png, jpg

168x112 png, jpg png, jpg

188x83 png png

200x200 png png

216x160 jpg jpg jpg

260x350 png png png

325x234 png png

339x180 png png png

366x160 jpg jpg jpg

667x414 png png png

800x600 jpg, webp, avif jpg, webp, avif

1000x1000 jpg, webp, avif jpg, webp, avif

1200x800 jpg, webp, avif jpg, webp, avif

*Icons in bold (old sizes) exist for most games. Please note that other icon sizes and types may not be available for all games. If a game
icon does not exist but is required, AM can request it additionally.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of HTTP request:


For branded English:
GET gs2c/common/lobby/v1/apps/slots-lobby-assets/vs25ultwolgol/vs25ultwolgol_260x350_B.png
HTTP/1.1

For non-branded English:


GET gs2c/common/lobby/v1/apps/slots-lobby-assets/vs25ultwolgol/vs25ultwolgol_260x350_NB.png
HTTP/1.1

For non-branded Chinese:


GET gs2c/common/lobby/v1/apps/slots-lobby-assets/vs25ultwolgol/vs25ultwolgol_260x350_NB_ZH.png
HTTP/1.1

Host: {[Link]}
Cache-Control: no-cache

Example of response for different icon types:

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

2.2 GetLobbyGames
Request path: POST /CasinoGameAPI/getLobbyGames
Using this method Casino Operator will get the list of casino games configured in Back office for the slots lobby.
This method returns all games (configured in the "All Games" category) and the other categories available for slot lobbies
are "Hot Games" and "New Games".
Request parameters

Name Description Status

secureLogin User name for authentication in the Casino Game API service Required
categories List of games (String). Possible values are: Required
 all – games from All Games category
 new – games from New Games category
 hot – games from Hot Games category
*If multiple values are to be used, they are specified separated by commas.
country ISO Country code. Possibility to get games available (not blocked) for the specific Optional
country.
hash Hash code of the request. Required

Response parameters

Name Type Description

error String Request error code, 0 is success

description String Error description

gameID String Symbolic unique identifier of the game provided by


Pragmatic Play. Example: vs7monkeys, vs50amt, rla, wra,
bjb

gameIdNumeric Number The numeric value of gameID


gameName String Name of the game. Example: “Lucky Dragons”, “Hot
Safari”
gameTypeID String Symbolic unique identifier of the game. Example: “vs”,
“rl”, “vp”.
jurisdictions Array Supported jurisdictions
lines Number Number of lines
frbAvailable Boolean if true, a free spins bonus of the game is available.
demoGameAvailable Boolean If true, a demo version of the game is available.
features class [Link] List of supported features.
Possible values:
- BUY - in-game Buy feature
- ANTE - ante bet support

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

- SUPER_SPIN - super spin support


- FREE_BONUS_FEATURE - instant bonus support
sortingOrder Number Sorting order
[Link] Array The list of games included in New Games category. It will
be returned if 'new' category is sent in the request
[Link] Array The list of games included in Hot Games category. It will
be returned if 'hot' category is sent in the request
Example of HTTP request:
POST /IntegrationService/v3/http/CasinoGameAPI/getLobbyGames/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=ext_test1&categories=all,new,hot&country=ES&hash=99ff2beefd8b04926e821e6b3496c45c

Example of JSON response:


{
"error": "0",
"description": "OK",
"games": {
"all": [
{
"gameID": "vs20hotzone",
"gameIdNumeric": 1669710633,
"gameName": "African Elephant",
"gameTypeID": "vs",
"jurisdictions": [
"BG",
"EE",..
"X1"
],
"lines": 20,
"frbAvailable": true,
"variableFrbAvailable": true,
"features": [
"FREE_BONUS_FEATURE",
"BUY"
],
"demoGameAvailable": true,
"sortingOrder": 1
},
…,
"hot": [
{
"gameID": "vs20dhdice",
"gameIdNumeric": 1664444273,
"gameName": "The Dog House Dice Show",
"gameTypeID": "vs",
"jurisdictions": [
"BE",
"MT",..
"BY"
],
"lines": 20,
"frbAvailable": true,
"variableFrbAvailable": true,
"features": [],
"demoGameAvailable": true,
"sortingOrder": 1
}
]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

2.3 CloseSession
Request path: POST /closeSession/
This method terminates active game sessions of the player. Operator has the option to remove player’s history, so that the
incomplete game rounds cannot be finished by another player (usually this is relevant for terminals). To close only game
session for specific game Operator may send game id parameter in the request.

Request parameters
Name Description
secureLogin User name for authentication in the Casino Game API service
externalPlayerId Id of the player within the Operator system.
gameId Id of the game. This is optional parameter, which has to be sent by Operator if only the session for
specific game should be closed.
clearHistory Specifies whether to clear the history of the round or not.
May have the following values:
1 – history should be removed, so that the last game round cannot be completed anymore
0 – last game round can be completed
hash Hash code of the request.

Example of HTTP request:


POST /IntegrationService/v3/http/CasinoGameAPI/closeSession/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&externalPlayerId=421&gameId=vs7monkeys&clearHistory=1&hash=5fd31717ba4-
da9e78ac19730212925c2

Example of JSON response:


{
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

2.4 CancelRound
Request path: POST /cancelRound/
CancelRound method initiates a refund request, which the Pragmatic system will send to the Operator’s remote wallet.
After successful refund call the game round will be marked as Canceled in the Pragmatic system.
This method Operator can use any time they want to close player’s round forcefully, due to a retention policy on the
Operator’s system or according to requirements for regulated markets.

For BT integration, a round can only be canceled if it is not older than 24 hours.

Request parameters

Name Description
secureLogin User name for authentication in the Casino Game API service
externalPlayerId Id of the player within the Operator system.
gameId Id of the game. This is required parameter.
roundId Id of the game round to be canceled (play session id).
hash Hash code of the request.

Example of HTTP request:


POST /IntegrationService/v3/http/CasinoGameAPI/cancelRound/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&externalPlayerId=421&&gameId=vs7monkeys&roundId=123456&hash=5fd31717ba4-
da9e78ac19730212925c2

Example of JSON response:


{
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

2.5 HealthCheck
HealthCheck method can be used by operators to check if PragmaticPlay provider API service or Game server are live and
ready.
API service HealthCheck
Request path:
GET [Link]

Game server HealthCheck


Request path:
[Link]

Frequency of calling HealthCheck should not be more than 1 call per minute for any particular brand.

Response statuses
HTTP Status Description
200 API service is available to use
Not 200 Any other HTTP status means some issues with API service. Not ready to use.

Example for API Service HealthCheck


Example of HTTP request:
GET /IntegrationService/v3/http/CasinoGameAPI/health/heartbeatCheck HTTP/1.1
Host: [Link]

Example of JSON response:


HTTP Status: 200 OK

Response body:
{
"error": "0",
"description": "OK"
}

Example for Game server HealthCheck


Example of HTTP request:
GET /gs2c/livetest HTTP/1.1
Host: [Link]

Example of response:
HTTP Status: 200 OK

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

2.6 Auto-finalization of Unfinished Rounds

Important!
To automatically complete unfinished rounds on both the PragmaticPlay and operator side, the Autofinalization
function is required for integration.

Unfinished rounds – round with in-game free spins, or in-game bonus features, which was started by player but wasn’t
completed during game session.
Unfinished rounds can be caused by following player’s actions during gameplay:
 Player hit or bought in-game free spins and closed the game without finishing them.
 Player hit in-game bonus game feature and closed game without finishing it.
 Player started round in RNG table game (like American Blackjack) and closed game without completing the round.

Pragmatic Play has the following rules regarding non-finished game rounds:
1. All non-finished players’ rounds are stored in PP system.
[Link] an operator has specific jurisdiction requirements or internal logic, the finalization procedure is acti-
vated for their brands. Meaning, all non-finished rounds are finalized after a specific period of time. The
period of time is configured based on jurisdiction requirements or the operator’s logic.

For Seamless Wallet API


[Link] are finalized according to the following logic:
a. If a player does not play the round at all before closing the game, PP sends a refund request to the
operator and closes the round (irrelevant to slots).
b. If a player plays the round (for example, makes several free spins) and won in any free-spin, PP
sends an actual win to the operator and closes the round.
c. If a player plays the round (for example, makes several free spins) and hasn’t won in any free-
spin), PP closes the round. (In case if EndRound is enabled for Operator – the Endround request
for this round will be sent)
In case the player makes a spin and wins additional free spins or other bonus features (including
bonus buy), it counts as a spin and the money is not refunded.

For Balance Transfer API


3. Rounds are finalized according to the following logic:
a. If a player does not complete a round before the game closes, PP returns the bet amount to the
player's balance and closes the round.
b. If a player has played a round (e.g. made several freespins) and won in any freespin, PP credits a
partial amount of the winnings to the player's balance and closes the round.
c. If a player plays the round (for example, makes several free spins) and hasn’t won in any free-
spin), player's balance is not affected. PP closes the round.
In case the player makes a spin and wins additional free spins or other bonus features, it counts as
a spin and the money is not refunded.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

2.7 Replay link


Request path: ReplayAPI/getSharedLink
Using this method Casino Operator will get a link to replay the player's round.

Important: Replay Link for a round can be obtained only if the round is not older than 31 days.

Important: For 1 casino, no more than 1 request per second can be sent.
If the server is unavailable or overloaded, send a retry.

Request parameters
Name Type Description Status
secureLogin String API user name (secureLogin value) for authentication in Pragmatic Required
Play API.
hash String Hash code of request. Required
roundId Number Unique identifier of the game round. Required

externalPlayerId String Id of the player within the Operator system. Required

Response parameters (JSON)


Name Type Description

error String Error code.


description String Description of the error for troubleshooting.
url String URL to replay the player’s round.

Example of HTTP request:


GET /IntegrationService/v3/http/ReplayAPI/getSharedLink/?
externalPlayerId=1234666303&secureLogin=username&roundId=5015066750001&hash=90a1575b0d6d972a-
cac432d4c9fcb0b96 HTTP/1.1
Host: [Link]
Cache-Control: no-cache

Example of JSON response:


{ "error" : 0,
"description" : "OK",
"url" : "[Link]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

2.8 Error codes


Below table contains the error HTTP statuses that should be returned, in case of issues on request processing
HTTP Description
status
0 OK
1 Unauthorized - Incorrect secure login or calculated hash.
2 Empty mandatory field.
3 Invalid parameter value.
4 Round not found. The requested roundId is not found in the system.
5 There is no replay for this round for some reason.
17 Player not found
99 Request limit has been exceeded. Try later please..
100 Internal error. Try later please

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

III. Seamless Wallet API


General description
This is a simple API for Pragmatic Play gaming platform to connect to player's wallet. API is an HTTP listener, which listens
application/x-www-form-urlencoded POST requests.
In POST requests can be sent either HTTP Header:
- Content-Type: application/x-www-form-urlencoded
- Content-Type: application/x-www-form-urlencoded; charset=UTF-8
For application/x-www-form-urlencoded, the body of the HTTP message sent to the Seamless Wallet API is essentially one
giant query string where name/value pairs are separated by the ampersand (&), and names are separated from values by
the equals symbol (=). An example of this would be (please see request examples for each call below):
parameter1=value1&parameter2=value2
All responses should be in JSON format (please see response examples for each call below).

URL of the Seamless Wallet API should be provided by Casino Operator for the production and test environments.

Bonus Wallet feature


PragmaticPlay supports the 'Bonus Wallet' Feature, which allows Operators to split bet amount to “Real” and “Bonus”
parts, which will be displayed in PragmaticPlay’s Backoffice summaries, respectively. This can be managed using the 'bonus'
and 'usedPromo' parameters.

- bonus: Represents the player's available bonus balance in wallet API methods responses.
- usedPromo: Indicates the amount of bonus funds used for a specific bet, in “Bet” API method response

For example, if a player has the following balance:


Cash: 100
Bonus: 100
When placing a 10-unit bet, the operator may respond with one of the following outcomes:

cash: 90, bonus: 100, usedPromo: 0 -> The bet was fully covered by real funds.
cash: 100, bonus: 90, usedPromo: 10 -> The bet was fully covered by bonus funds.
cash: 95, bonus: 95, usedPromo: 5 -> The bet was split, using 5 real and 5 bonus funds.

Both bonus and usedPromo parameters are required in the wallet API responses. However, if the operator does not use the
player's bonus wallet, zero values should be returned for both parameters.
Winnings for rounds in which parts of the bonus wallet were used for bets will be divided in the PragmaticPlay back office
into real/bonus parts in the same proportions as were used for bets in this round

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.1 Game opening


Operator can form a valid launch URL using 3.1.2 GameURL API method

Operator can allow or decline player to participate in promo campaigns (incl. FSB, Tournament and Prize Drop
campaigns). Two way are possible:
1. By sending extraInfo / promoAvailable parameter in authenticate response (It has higher priority)
2. By sending promo parameter in launch URL (It has lower priority)
It is strongly recommended to use extraInfo / promoAvailable parameter in authenticate response!

Logic of promo parameter application for promo campaigns (incl. FSB, Tournament and Prize Drop campaigns)
 Public promo campaigns: parameter value is applied for all players;
 Private promo campaigns with include list: Player which is in include list will be able to participate
regardless of parameter value. Rest of players are unable to participate;
 Private promo campaigns with exclude list: Player which is in exclude list will not be able to participate
regardless of parameter value. Rest of players participate depending on parameter value

3.1.1 Explicit launch URL (deprecated)

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.1.2 GameURL API method

Value of externalPlayerId parameter, passed in GameURL API request, must be identical to value of userId parameter,
which Operator returns in response to Authenticate API request. Otherwise game launch will be failed for the Player

Operators should use this method to obtain the URL for launching RNG, LC and VSB products.
The specification for launching bingo products is described in section 17.1 Bingo room Launching.

Request path: POST /game/url


Using this method Operator can receive a valid launch URL to requested game.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
symbol Id of the game within the Pragmatic Play system. Required
language Language on which the game should be opened. Required
token Secure one-time token is generated by OPERATOR for specific player. (Not Required
required if playMode=DEMO)
externalPlayerId Unique identifier of the player within the Casino Operator system. Required
Parameter value is case-sensitive.
Example: joe1001, 2644987, playerABC*, playerAbc*
* playerABC and playerAbc – are two different player accounts within
Pragmatic Play system
currency Player's ISO 4217 currency code. Examples: 'EUR' or 'USD'. Optional
platform Platform for which the game should be opened Optional
technology H5 (for all games and devices) Optional
stylename Unique identifier of the OPERATOR at PROVIDER side (not for all integration Optional
protocols)
cashierUrl URL for opening the cashier on Casino Operator site when a player has no Optional
funds
lobbyUrl URL for returning to Lobby page on Casino Operator site. This link is used for Optional
Back to Lobby (Home) button in mobile version of games
country Country of the player. 2-letter Country code, ISO 3166-1 alpha-2. Required
Examples: GB, GI, DK, ES, IT, PT
rci The reality check interval, in minutes. Optional
rce The reality check elapsed time, in minutes. Optional
rcHistoryUrl a link to the player’s game history. Optional
For an iframe, the following example should be used:
rcHistoryUrl=javascript:[Link]='{[Link]
rcCloseUrl a link to the page on the Operator’s website, to which the player will be Optional
redirected if they choose to close the game.
For an iframe, the following example should be used:
rcCloseUrl=javascript:[Link]='{[Link]

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

promo Indicates if player is allowed to participate promo campaign (incl. FSB, Optional
Tournament and Prize Drop campaigns). Possible values: “y”; “n” (Logic of
this parameter application is described in note below)
ctlgroup Identification for specific table limits group (is applicable for Live Casino Optional
portfolio only)
playMode If parameter not exist or value is REAL – return real game launch URL, if Optional
value is DEMO – return demo game launch URL.
jurisdiction Jurisdiction of the player. Optional
*Within this method is used only for playMode=DEMO.
minimode 1 or 0 Enable or disable mini mode open game Optional
operatorGameHistoryUrl URL to open game history page on Operator’s side Optional
lobbyFilter When requesting a URL for LC game: Optional
Filter values which will be predefined when user will open Live (only for LC
Casino lobby category. Possible values available in section 18.4 Predefined portfolio AND
filters in Live Casino Lobby categories Standalone
Slots Lobby)
When requesting a URL for Standalone Slots lobby:
Category that will be opened in the Standalone Slots Lobby by default
when it is launched.
Possible options:
 forYou – For You category will be opened when launching the
lobby;
 allSlots – All Slots category will be opened when launching the
lobby;
 DDW – Drops and Wins category will be opened when launching
the lobby.
If no option or incorrect value is sent in the ‘lobbyFilter’ parameter, the
‘For you' category will be opened by default.
hash Hash code of the request. Required

Response parameters
Name Description
gameURL Link to the game to be open on the Pragmatic Play side. This link will contain special
parameters which should remain as is.

Example of HTTP request:


POST /IntegrationService/v3/http/CasinoGameAPI/game/url/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
secureLogin=ext_test1&symbol=vs50aladdin&language=en&currency=EUR&platform=WEB&technology=H5&token=
dsgfssdf5g4dfg&stylename=ext_test1&cashierUrl=[Link]
[Link]
layerAbc

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of JSON response:


{
"error": "0",
"description": "OK",
"gameURL":"[Link]
key=token%3Ddsgfssdf5g4dfg%60%7C%60symbol%3Dvs50aladdin%60%7C%60technology%3DH5%60%7C%60platform%3D
WEB%60%7C%60language%3Den%60%7C%60currency%3DEUR%60%7C%60cashierUrl%3Dhttp%3A%2F%[Link]%
2Fcashier%2F%60%7C%60lobbyUrl%3D%20http%3A%2F%[Link]%2Flobby%2F&ppkv=2&stylename=ext_tes
t1&country=USAA&isGameUrlApiCalled=true"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Below table contains the error codes that the Pragmatic Play system will return in the response to GameURL API calls.
Code Description Further action recommendations

Error reason should be checked in relevant support


1 Internal error. Try later please.
channel.

Incorrect secure LOGIN and secure


password combination
2 Verify request values
(will be returned also if the hash code
validation is failed)
One or several input parameters is
7 Verify request values
not set or set incorrectly.
Required field is empty: {0} is Check missing and required parameters
14
required

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.2 Hash calculation


Hash code is calculated with following formula:
From request post parameters, all parameters are taken (except hash) and appending to string:
1. Sort all parameter by keys in alphabetical order.
2. Append them in key1=value1&key2=value2.
3. Append secret key, e.g.: key1=value1&key2=value2SECRET.
4. Calculate the hash by using MD5.
5. Compare with hash parameter. In the case of failure Casino Operator should send the error code 5.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.3 Data types


Parameter Type Description
userId String(100) Unique identifier of the user within Casino Operator system.
Parameter value is case-sensitive.
Example: joe1001, 2644987, playerABC*, playerAbc*
* playerABC and playerAbc – are two different player accounts within Pragmatic Play system
currency String(3) Player's ISO 4217 currency code. Example: EUR, USD
country String(2) Country of the player. 2-letter Country code, ISO 3166-1 alpha-2.
Examples: GB, GI, DK, ES, IT, PT
jurisdiction String(2) Jurisdiction of the player. Available
values are:
o EE – Estonia
o AT – Austria
o SE – Sweden
o AL – Alberta
o SK – Slovakia
o BR – Brazil
o CO – Colombia
o BS – Bahamas
o GG – Guernsey (Alderney)
o BG – Bulgaria
o GE – Georgia
o BE – Belgium
o BY – Belarus
o CH – Switzerland
o RS – Serbia
o CZ – Czech Republic
o IM – Isle of Man
o DK – Denmark
o GR – Greece
o UK – United Kingdom
o DE – Germany
o IT – Italy
o NL – The Netherlands
o IE – Ireland
o NO – Norway
o ES – Spain
o X1 – Buenos Aires City
o PT – Portugal
o X2 – Buenos Aires Province
o RO – Romania
o ZA – South Africa
o MT – Malta
o UA – Ukraine
o MX – Mexico
o 99 – Unregulated market
o PE – Peru
o ON – Ontario
o PH – Philippines
o HR – Croatia
o LT – Lithuania
o HU – Hungary
o LV – Latvia
cash Decimal (10, 2) Player's real balance.
Example: 100.00
bonus Decimal (10, 2) Player's promo balance.
Example: 100.00
amount Decimal (10, 2) Amount of the bet or win.
Example: 1.00
dataType String(3) Type of portfolio
Available options:
RNG - Main portfolio games (video slots, classic slots etc.)
LC - Live Casino portfolio
VSB - Virtual sports betting portfolio
totalBalance Decimal (10, 2) Full player’s balance on casino side, used for menu of balance choosing during
switch of games
Example: 1.00
chosenBalance Decimal (10, 2) Amount of money player wants to spend in the game (for in-game lobby switch
for Italian regulated market)
launchingType String(1) Type of game launch (for in-game lobby switch for Italian regulated market)
Possible values:

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

 “N” – normal launch


 “L” – from in-game lobby”
previousToken String(100) Value if the token that was received from operator for the game that should be
closed (for in-game lobby switch for Italian regulated market)
extraInfo String (Valid JSON)
win Decimal (10, 2) Amount of win, which can be optionally sent in endRound calls.
Example: 1.00, 0.0
roundId Long Identification for the player's round.
jackpotId Long Identification for the jackpot.
jackpotContribution Decimal (10, 6) Amount of the contribution to the jackpot
jackpotDetails String (Valid JSON) Detailed contribution amounts for multi-tier jackpots
Examples:
For slots:
"jackpotDetails":"{"64":{"contribution":0.28,"contributionBaby":0.1},"62":
{"contribution":0.28,"contributionBaby":0.2}}"
For bingo: {"Jackpots":{"2312":{"Contribution":5.0},"2313":
{"Contribution":5.0},"2314":{"Contribution":5.0}}}

*[Link] – 10, 16 (limited only by decimal datatype)


gameId String (20) Identifier of the game.
Example: vs25queenofgold, vs50aladdin, cs5triple8gold, bjma, rla, vpa
The list of available games may be obtained by Casino Operator by calling GetCasinoGames
method of CasinoGameAPI of Integration simple HTTP Service.

language String(2) Language code in ISO 639-1 standard (e.g. en, fr, it).

reference String (32) Unique reference of the transaction.


sessionId String (100) Game session ID on Pragmatic Play side
token String (100) Authentication token of the player generated by the Casino Operator system.
Token is passed to Pragmatic Play as a game launch request parameter or as a
authenticate response parameter afterwards.
providerId String (32) Game provider identifier.
May be provided by Casino Operator. Otherwise default is used.
transactionId Varchar (32) Unique ID of the transaction within Casino Operator system.
timestamp Long Date and time when the transaction is processed on the Pragmatic Play side
(Unix epoch time in milliseconds, for example : 1470926696715)
roundDetails String(4000) Additional information about the current game round, such as “gamble”, “spin”,
“bonus” - comma separated. The value could be changed depending on the
gameplay of the round.
Examples:
 “spin” – default bet
 “spin,bonusBuy” – bet with purchased bonus
 “spin,anteBet” – on Ante bet
 “spin,superSpin” – on Super Spins
 “type:main,desc:Tie” – Live casino Example 1
 "type:bets,desc:[{"c":"Even","a":"3.0"},{"c":"0G","a":"3.0"},
{"c":"Red","a":"3.0"}]" – Live casino Example 2
 “type:bets,desc:[{"c":"5","a":"100"},
{"c":"8","a":"100"}],countOfFreeChips:20” – Live casino Example 3
The countOfFreeChips parameter indicates the number of free chips used for placing bets.
This parameter is sent exclusively for rounds played with free chips.

bonusCode String Bonus unique identifier within the Operator system. Max length of this
parameter depends on requestId. The sum of their length has to be 252

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

symbols or less.
requestId String Unique identifier of FSB credit request (for specific player). It has to be passed to
re-use the same bonusCode value again for the player. Max length of this
parameter depends on bonusCode. The sum of their length has to be 252
symbols or less.
platform String(10) The platform type (channel) on which the game is played.
Possible values:
 “MOBILE” – mobile device
 “WEB” – desktop device
error Integer Error code.
description String (100) Response status short description.
usedPromo Decimal (10, 2) Part of bet amount which is taken from bonus balance
ipAddress String (32) IP address of the player
campaignId String Id of the campaign.

In case of CJP call, campaignId is going to have value X:Y where both X and Y are
long numbers.
Examples: 3672:11
campaignType String(3) Type of the campaign
promoWinAmount Decimal (10, 2) Prize amount that the player is awarded with during a promotional campaign
promoWinReference String (100) Unique reference of the promotional transaction.
promoCampaignID Long Id of the promotional campaign.
promoCampaignType String(1) Type of the promotional campaign.
specPrizeAmount number number of FSB which was won by player in bingo game
Examples: 120.0; 35
specPrizeCode String (100) unique FSB bonus code within PP system
specPrizeType String(100) Type of free special prize
Possible values:
 “FRB” – For Bingo FRB-as-prize
 “Text value” – for Bingo Jackpot physical prizes.
This value is sent URL – encoded. For example “CITRO%C3%8BN%20C5”

balanceBeforeWin Decimal (10, 2) balanceBeforeWin is calculated either by won tier only or by all JP tiers
depending on the option selected.
*For a more detailed description, please see 3.9 JackpotWin.
balanceAfterWin Decimal (10, 2) balanceAfterWin is calculated either by won tier only or by all JP tiers depending
on the option selected.
*For a more detailed description, please see 3.9 JackpotWin.
lobbyFilter String(100) Filter values which will be predefined when user will open Live Casino lobby
category. Possible values available in section 18.4 Predefined filters in Live
Casino Lobby categories.
instanceId String Instance id of the won tier.
*For a more detailed description, please see 3.9 JackpotWin.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.4 Authenticate
Request path: POST /[Link]
When the game is opening Pragmatic Play receives with URL security token generated by Casino Operator. Using this token
Pragmatic Play will ask Casino Operator for player authentication and get the player’s balance.

Important: Token from Authenticate response can be used in subsequent wallet requests for other games, launched
from the inside of game or bingo client.

Pragmatic Play can send subsequent authenticate requests with the same token, when player:
- opens new casino game from built-in mini lobby
- opens bingo room from bingo lobby
- opens live casino game from live casino lobby
Sending additional Authenticate requests for inner opening is optional and is not handled by the Pragmatic Play by
default. In case Casino Operator need to receive additional authorization for inner opening - they should ask the
Pragmatic Play’s Technical Support for configuration.
Operator should accept additional authenticate requests with active token for player.

Request parameters

Name Description Status


hash Hash code of the request. Required
token Token of the player. Required
providerId Game Provider identifier. Required
gameId Id of the game. Optional
The field is optional and is not handled by the Pragmatic Play by default. In case Casino Operator
need individual bet limits to be applied when the game opens they should ask the Pragmatic Play’s
Technical Support for configuration.

This field is going to be included automatically in case of enabled “Dynamic Bet Scales” feature
(related to the betLimits parameter in response)
ipAddress IP address of the player. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator needs
this parameter to be sent with request they should ask the Pragmatic Play’s Technical Support for
additional configuration.
chosenBalance Amount of money player wants to spend in the game (for in-game lobby switch for Optional
Italian regulated market)
The field is optional and is not handled by the Pragmatic Play by default. In case Casino Operator
need individual bet limits to be applied when the game opens they should ask the Pragmatic Play’s
Technical Support for configuration
launchingType Type of game launch (for in-game lobby switch for Italian regulated market) Optional
Possible values:
- “N” – normal launch
- “L - from in-game lobby”
The field is optional and is not handled by the Pragmatic Play by default. In case Casino Operator
need individual bet limits to be applied when the game opens they should ask the Pragmatic Play’s
Technical Support for configuration

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

previousToken Value if the token that was received from operator for the game that should be Optional
closed (for in-game lobby switch for Italian regulated market)
The field is optional and is not handled by the Pragmatic Play by default. In case Casino Operator
need individual bet limits to be applied when the game opens they should ask the Pragmatic Play’s
Technical Support for configuration

Response parameters
Name Description Status
userId Identifier of the user within the Casino Operator’s system. Required
currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required
token Token/session of the player. Can be configured to be returned in all other API calls Optional
so Operator has control over it across playing process.
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
country Country of the player. Optional
jurisdiction Jurisdiction of the player. Please see the 3.3 Data types section for more details. Optional
betLimits An optional element. How this is used is supplier specific, for example it might
constitute a further restriction on limits already in place on the game. Structure of Optional
the element:
defaultBet – the default bet value
defaultTotalBet – the default total bet value (in the game currency)
minBet – the minimal individual bet amount
maxBet – the maximal individual bet amount
maxTotalBet – the maximum total bet amount (in the game currency)
minTotalBet – the minimum total bet amount (in the game currency)
optionally for in-game buy feature:
extMinTotalBet – the minimum total bet amount for in-game buy feature
(in the game currency)
extMaxTotalBet - the maximum total bet amount for in-game buy feature
(in the game currency)
If extMinTotalBet and extMaxTotalBet are not included in response, default values
for in-game buy feature will be used
The field is optional and is not handled by the Pragmatic Play by default. In case Casino Operator
need individual bet limits to be applied when the game opens, they should ask the Pragmatic Play’s
Technical Support for configuration.
An optional element set of additional parameters for different purposes like
jurisdiction requirements fulfillment
Possible values:
• "promoAvailable":"y" - Player is allowed to participate promo campaign*
• "promoAvailable":"n" - Player is not allowed to participate promo campaign*
Example: "extraInfo":{"promoAvailable":"y"}
* - including FSB, Tournament and Prize Drops campaign
extraInfo Optional
Logic of this parameter application is described in note below
• aamsTicket – AAMS ticket value
• aamsSessionId AAMS session ID
aamsTicket and aamsSessionId parameters are used for Italian lobby solution.
Example: "extraInfo":{"aamsTicket":"someaamsticket","aamsSessionId":"someaamssessionid"}
• jurisdictionMaxBet - Max bet limit for bet scale. If the current max bet exceeds
the limit, the bet scale will be reduced to the specified value. The limit should be

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

provided in the player’s currency.


error Response status. Required
description Response status short description. Required

The currency of the player is set up when the player opens a game for the first time, and the player account is cre -
ated in the Pragmatic Play database, with the userId and currency received in the response on the Authentication
request.
Important: Currency cannot be changed after the player account is created.

Logic of extraInfo / promoAvailable parameter application for promo campaigns (incl. FSB, Tournament and
Prize Drop campaigns)
 Public promo campaigns: parameter value is applied for all players;
 Private promo campaigns with include list: Player which is in include list will be able to participate
regardless of parameter value. Rest of players are unable to participate;
 Private promo campaigns with exclude list: Player which is in exclude list will not be able to participate
regardless of parameter value. Rest of players participate depending on parameter value

Example of HTTP request:


POST /[Link] HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

providerId=pragmaticplay&hash=e1467eb30743fb0a180ed141a26c58f7&token=5v93mto7jr

Example of JSON response:


{
"userId": "421",
"currency": "USD",
"cash": 99999.99,
"bonus": 99.99,
"country": "GB",
"jurisdiction": "UK",
"betLimits":
{
"defaultBet": 0.10,
"minBet": 0.02,
"maxBet": 10.00,
"minTotalBet": 0.50,
"maxTotalBet": 250.00,
}
"extraInfo":
{
"promoAvailable": "Y",
"jurisdictionMaxBet":5.00,
}
"error": 0,
"description": "Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.5 Balance
Request path: POST /[Link]
Using this method a Pragmatic Play system will know a current balance of player and will show it in the game.
Request parameters
Name Description Status
hash Hash code of the request. Required
providerId Game Provider identifier. Required
userId Identifier of the user within the Casino Operator’s system. Required
token Token of the player from Authenticate response. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.

Response parameters
Name Description Status
currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required
totalBalance Full player’s balance on casino side, used for menu of balance choosing during Optional
switch of games
Can be used for Italian Regulated market
error Response status. Required
description Response status short description. Required

Example of HTTP request:


POST /[Link] HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

providerId=pragmaticplay&userId=421&hash=b4672931ee1d78e4022faaadf58e37db

Example of JSON response:


{
"currency": "USD",
"cash": 99999.99,
"bonus": 99.99,
"error": 0,
"description":"Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.6 Bet
Request path: POST /[Link]
Using this method Pragmatic Play system will check the player balance on Casino Operator side to ensure they still have the
funds to cover the bet. Amount of the bet must be subtracted from player balance in Casino Operator system.

Important: The call is idempotent, i.e. sending bet again only creates one transaction. For retries actual player's
balance should be returned.

Request parameters
Name Description Status

hash Hash code of the request Required


userId Identifier of the user within the Casino Operator’s system. Required
gameId Id of the game. Required
roundId Id of the round. Required
amount Amount of the bet. Minimum is 0.00. Required
reference Unique reference of this transaction. Required
providerId Game Provider id. Required
timestamp Date and time when the transaction is processed on the Pragmatic Play side Required
(Unix epoch time in milliseconds, for example : 1470926696715)
roundDetails Additional information about the current game round. Required
In case Casino Operator needs additional bet description to be sent (such as bet type and seat
number for live casino or antebet or purchsased bonus for slots), they should ask the Pragmatic
Play’s Technical Support for additional configuration. In this case Operator should accept data type:
String(4000) for roundDetails parameter in current method, Game History API, Data feeds and
reports API.
Examples of roundDetails parameter with enabled bet description:
 “spin” – default bet
 “spin,bonusBuy” – bet with purchased bonus
 “spin,anteBet” – on Ante bet
 “spin,superSpin” – on Super Spins
 “type:main,desc:Tie” – Live casino Example 1
"type:bets,desc:[{"c":"Even","a":"3.0"},{"c":"0G","a":"3.0"},
{"c":"Red","a":"3.0"}]" – Live casino Example 2

bonusCode Id of the bonus in Casino Operator system. Optional*

If requestId has been passed, then this parameter is going to contain both bonusCode
and requestId concatenated with <|> separator.

(*is mandatory in case of FSB API is implemented)


The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
platform The platform type (channel) on which the game is played. Optional
Possible values:
 “MOBILE” – mobile device
 “WEB” – desktop device
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Support for additional configuration.

language Language on which the game was opened. Optional


The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
jackpotContribution Amount of the contribution to the jackpot. If there is a multi-tier jackpot, this field will Optional
contain the total amount of contributions to all jackpots. The field is optional and should
be sent together with jackpotId.
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
jackpotDetails Amounts of the contribution for multi-tier jackpot, separated by tiers (in RNG slots), or Optional
several jackpots (in Bingo game). The field is optional and should be sent together with
jackpotId and jackpotContribution.
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
jackpotId Id of the active jackpot to contribute. The field is optional and should be sent together Optional
with jackpotContribution.
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
token Token of the player from Authenticate response. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
ipAddress IP address of the player. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.

Response parameters
Name Description Status

transactionId Id of the transaction in wallet. Required


currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required
usedPromo Amount was used from the bonus balance. Required
error Response status. Required
description Response status short description. Required

Example of HTTP request:


POST /[Link] HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

roundDetails=spin&reference=585c1306f89c56f5ecfc2f5d&gameId=vs50aladdin&amount=100.0&providerId=pra
gmaticplay&userId=421&roundId=5103188801&hash=4a5d375ac1311b04fba2ea66d067b8e5&timestamp=1482429190
374

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of JSON response:


{
"transactionId": 1482429190474,
"currency": "USD",
"cash": 99899.99,
"bonus": 99.99,
"usedPromo": 0,
"error": 0,
"description": "Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.7 Result
Request path: POST /[Link]
Using this method the Pragmatic Play system will send to Casino Operator the winning result of a bet. The Casino Operator
will change the balance of the player in accordance with this request and return the updated balance.
Result request may contain a prize that the player is awarded with during the game round, if there is an active promotional
campaigns like Prize Drop. Parameters related to the Prize Drop prizes are optional and should be configured by
PragmaticPlay team based on Operator’s request.

Important: The call is idempotent, i.e. sending result again with the same reference number creates only one
transaction. For retries actual player's balance should be returned.

Request parameters
Name Description Status
hash Hash code of the request Required
userId Identifier of the user within the Casino Operator’s system. Required
gameId Id of the game. Required
roundId Id of the round. Required
amount Amount of the win. Required
reference Unique reference of this transaction. Required
providerId Game Provider id. Required
timestamp Date and time when the transaction is processed on the Pragmatic Play side Required
(Unix epoch time in milliseconds, for example : 1470926696715)
roundDetails Additional information about the current game round. Required
Examples of roundDetails parameter with enabled result description:

"roundDetails":"spin,totalBet:200.0,freeSpinCount:18,totalWin:284.0,baseWin:4.
0,freeSpinWin:280.0"
 “spin” – default bet
 “totalBet” – Total bet amount (only for free spin round)
 “totalWin” – Total win amount (only for free spin round)
 “baseWin” – Win on a base spin (optional)
 “freeSpinCount” – Free spin total count (optional)
Calculates as:
freeSpinCount = freeSpinCount + reSpinCount + 1 (if any bonusGame
played)
 “freeSpinWin” – Free spin total win (optional)
Calculates as:
freeSpinWin = freeSpinWin + reSpinWin + gamblingWin +
bonusGamesWins
The fields (baseWin/freeSpinCount/freeSpinWin) is optional and is not sent to the
Casino Operator by default. In case Casino Operator needs this parameters to be
sent with request they should ask the Pragmatic Play’s Technical Support for
additional configuration.
bonusCode Id of the bonus in Casino Operator system. Optional*

If requestId has been passed, then this parameter is going to contain both
bonusCode and requestId concatenated with <|> separator.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

(*is mandatory in case of FSB API is implemented)


The field is optional and is not sent to the Casino Operator by default. In case
Casino Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
platform The platform type (channel) on which the game is played. Optional
Possible values:
 “MOBILE” – mobile device
 “WEB” – desktop device
The field is optional and is not sent to the Casino Operator by default. In case
Casino Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
token Token of the player from Authenticate response. Optional
The field is optional and is not sent to the Casino Operator by default. In case
Casino Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
promoWinAmount Prize amount that the player is awarded with during a promotional Optional
campaign.
The prize drop win amount must be added to the player's cash balance.

The field is optional and will appear only if there is a winning in a campaign.
Please note, that promoWinAmount, promoWinReference,
promoCampaignID and promoCampaignType parameters should appear
together.
promoWinReference Unique reference of this transaction. Optional
The field is optional and will appear only if there is a winning in a campaign.
Please note, that promoWinAmount, promoWinReference, promoCampaignID
and promoCampaignType parameters should appear together.
promoCampaignID Id of the promotional campaign. Optional
The field is optional and will appear only if there is a winning in a campaign.
Please note, that promoWinAmount, promoWinReference, promoCampaignID
and promoCampaignType parameters should appear together.
promoCampaignType Type of the promotional campaign. Available values are: Optional
R – Prize Drop (Cash drop promotion)
The field is optional and will appear only if there is a winning in a campaign.
Please note, that promoWinAmount, promoWinReference, promoCampaignID
and promoCampaignType parameters should appear together.
specPrizes[#].specPrizeAmount number of FSB which was won by player in bingo game (where # - serial number Optional
of prize) (Bingo only)
The field is optional and is not sent to the Casino Operator by default. In case
Casino Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
specPrizes[#].specPrizeCode unique FSB bonus code within PP system (where # - serial number of prize) Optional
The field is optional and is not sent to the Casino Operator by default. In case (Bingo only)
Casino Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
specPrizes[#].specPrizeType Type of free special prize (where # - serial number of prize) Optional
Possible values: (Bingo only)
 “FRB” – free spins bonus
The field is optional and is not sent to the Casino Operator by default. In case
Casino Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Response parameters
Name Description Status
transactionId Id of the transaction in wallet. Required
currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required

error Response status. Required


description Response status short description. Required

Example of HTTP request:


POST /[Link] HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

roundDetails=spin&reference=585c156df89c56f5ecfd99fb&gameId=vs50aladdin&amount=10.0&providerId=prag
maticplay&userId=421&roundId=5103268693&platform=WEB&hash=533c609c6a74b533efb870b806f00732&time-
stamp=1482429805138

Example of JSON response:


{
"transactionId": 1482429805253,
"currency": "USD",
"cash": 99809.99,
"bonus": 99.99,
"error": 0,
"description":"Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.8 BonusWin
Request path: POST /[Link]
Using this method a Pragmatic Play system will send to Casino Operator winning result of all rounds played on Free Spins
Bonus. Casino Operator will change a player balance in appliance with this request and will return an updated balance.

Important: The call is idempotent, i.e. sending result again with the same reference number creates only one
transaction. For retries actual player's balance should be returned

Important: The call is asynchronous and is not linked to the end of the game round.

Request parameters
Name Description Status
hash Hash code of the request Required
userId Identifier of the user within the Casino Operator’s system. Required
amount Amount of the win. Required
Minimum is 0.00 (Zero amount is treated as loss).
reference Unique reference of this transaction. Required
providerId Game Provider id. Required
timestamp Date and time when the transaction is processed on the Pragmatic Play side Required
(Unix epoch time in milliseconds, for example : 1470926696715)
bonusCode Id of the bonus in Casino Operator system. Required
(*is mandatory in case of FSB API is implemented)
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
roundId Id of the last played round in Free Spins Bonus Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
gameId Id of the game for the last played round within Free Spins Bonus Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
token Token of the player from Authenticate response. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
requestId Unique identifier of FSB credit request (for specific player). Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
remainAmount Number of remaining FSB. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
specPrizes[#].specPrizeAmount number of FSB which was won by player in bingo game (where # - serial Optional
number of prize) (Bingo only)
The field is optional and is not sent to the Casino Operator by default. In case Casino

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
specPrizes[#].specPrizeCode unique FSB bonus code within PP system (where # - serial number of prize) Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator needs this (Bingo only)
parameter to be sent with request they should ask the Pragmatic Play’s Technical Support for additional
configuration.
specPrizes[#].specPrizeType Type of free special prize(where # - serial number of prize) Optional
Possible values: (Bingo only)
 “FRB” – free spins bonus
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator needs this
parameter to be sent with request they should ask the Pragmatic Play’s Technical Support for additional
configuration.

Response parameters
Name Description Status
transactionId Id of the transaction in wallet. Required
currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required
error Response status. Required
description Response status short description. Required

Example of HTTP request:


POST /[Link] HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

reference=585d0257f89c56f5ed6b2e37&bonusCode=test_pp_frb1&amount=1.0&providerId=pragmaticplay&userI
d=421&hash=242d4d029c20e6e4692a4b88398f4fdc&timestamp=1482490455354

Example of JSON response:


{
"transactionId": 1482490793341,
"currency": "USD",
"cash": 99710.04,
"bonus": 99.99,
"error": 0,
"description":"Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.9 JackpotWin
Request path: POST /[Link]
Using this method a Pragmatic Play system will notify Casino Operator about Jackpot winning. Operator should handle the
transaction in their system and send the jackpot win transaction id back to the Pragmatic Play.

Important: The call is idempotent, i.e. sending result again with the same reference number creates only one transaction. For
retries actual player's balance should be returned.

Important: Please pay attention that in slot Jackpots, progressive and non-progressive wins are sent together inside the
amount field in jackpotWin method.
Pragmatic Play pays just progressive wins to operator. To receive info on progressive and non-progressive win parts separately,
Operator can ask the Pragmatic Play’s Technical Support to enable optional parameter jackpotDetails in jackpotWin request
In this case jackpotDetails will be sent like this progressive:XX, non-progressive:YY
For example: amount: 150 jackpotDetails: progressive:100, non-progressive:50

Request parameters
Name Description Status
hash Hash code of the request Required
providerId Game Provider id. Required
timestamp Date and time when the transaction is processed on the Pragmatic Play Required
side
(Unix epoch time in milliseconds, for example : 1470926696715)
userId Identifier of the user within the Casino Operator’s system. Required
gameId Id of the game. Required
roundId Id of the game round. Required
jackpotId Id of the jackpot. Required
Detailed information about the won jackpots in the round .
Examples:
Bingo: "jackpotDetails":"{"2701": {"amount":1.00,"prizeType": "monetary"},
"2702":{"amount":2.00,"prizeType": "monetary"}}
jackpotDetails Slots: "{"progressive":130.34375,"non-progressive":3125.0}" Optional

The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
amount Total amount of all jackpot winnings in the round. Required
reference Unique reference of the transaction within the Pragmatic Play system. Required
platform The platform type (channel) on which the game is played. Optional
Possible values:
 “MOBILE” – mobile device
 “WEB” – desktop device
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

token Token of the player from Authenticate response. Optional


The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
balanceBeforeWin balanceBeforeWin is calculated either by won tier only or by all JP tiers Optional
depending on the option selected.
Options list:
 Calculation by tier
balanceBeforeWin = winning amount of the won tier (including
progressive and community wins)
 Calculation by JP
balanceBeforeWin = sum of balances of all tiers (except WON) +
winning amount of the won tier (including progressive and community
wins, except JP baby)

The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
balanceAfterWin balanceAfterWin is calculated either by won tier only or by all JP tiers Optional
depending on the option selected.
Options list:
 Calculation by tier
balanceAfterWin = seed of the new instance of the won tier
 Calculation by JP
balanceAfterWin = sum of balances of all tiers (except WON) + seed of
the new instance of the won tier (except JP baby)

The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
instanceId Instance id of the won tier. The first instance starts from the “1” Optional
identifier.
If several brands or operators participate in the same jackpot, instance
is incremented globally per jackpot, not individually per brand or
operator.
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
specPrizes[#].specPrizeType Text value - name of physical prize (where # - serial number of prize) Optional
(Bingo only)
Possible values:
 “Text value” – for Bingo Jackpot physical prizes.
This value is sent URL – encoded. For example “CITRO%C3%8BN%20C5”

The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.

Response parameters
Name Description Status
transactionId Id of the transaction in wallet. Required
currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

error Response status. Required


description Response status short description. Required

Example of HTTP request:


POST /[Link] HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

reference=585d0b2af89c56f5ed6f0d1f&gameId=vs30catz_jp&amount=55.0&jackpotId=568&providerId=pragmat-
icplay&userId=421&roundId=5109164607&hash=8ef28798d5b3e523528bdb61ada939a7&timestamp=1482492714431

Example of JSON response:


{
"transactionId": 1482492905503,
"currency": "USD",
"cash": 99815.04,
"bonus": 99.99,
"error": 0,
"description":"Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.10 EndRound
Request path: POST /[Link]
Every time a game round is over, the Pragmatic Play system will call EndRound method, so that Operator can finalize the
game round transactions on their side in real time.

If Operator does not need to finalize transactions in real time it is strongly recommended to disable EndRound
functionality on the Pragmatic Play side. Instead, Data Feed API can be used for transaction finalization, in order
to decrease the number of requests to the Operator system and keep traffic between two systems as light as
possible.

Important: EndRound request may be sent more than once. If the game round is already finalized, Operator
should ignore the EndRound request and return the success response.

Request parameters
Name Description Status
hash Hash code of the request Required
userId Identifier of the user within the Casino Operator’s system. Required
gameId Id of the game. Required
roundId Id of the round. Required
providerId Game Provider id. Required
bonusCode Id of the bonus in Casino Operator system. Optional
(The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
platform The platform type (channel) on which the game is played. Optional
Possible values:
 “MOBILE” – mobile device
 “WEB” – desktop device
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.

token Token of the player from Authenticate response. Optional


The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
roundDetails Additional information about the current game round. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.

"roundDetails":"spin,totalBet:200.0,freeSpinCount:18,totalWin:284.0,base
Win:4.0,freeSpinWin:280.0"
 “spin” – default bet
 “totalBet” – Total bet amount

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

 “totalWin” – Total win amount


 “baseWin” – Win on a base spin
 “freeSpinCount” – Free spin total count
Calculates as:
freeSpinWin = freeSpinWin + reSpinWin + gamblingWin +
bonusGamesWins
 “freeSpinWin” – Free spin total win
Calculates as:
freeSpinWin = freeSpinWin + reSpinWin + gamblingWin +
bonusGamesWins
win Win amount in round. Intended to notify Operator about amount won in Optional
round.
This is notification parameter, and should not be used for transaction
within round.

The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
specPrizes[#].specPrizeAmount number of FSB which was won by player in bingo game (where # - serial Optional
number of prize) (Bingo only)
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
specPrizes[#].specPrizeCode unique FSB bonus code within PP system (where # - serial number of prize) Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino (Bingo only)
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
specPrizes[#].specPrizeType Type of free special prize (where # - serial number of prize) Optional
Possible values: (Bingo only)
 “FRB” – free spins bonus
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.

Response parameters
Name Description Status
cash Real balance of the player. Required
bonus Bonus balance of the player. Required
error Response status. Required
description Response status short description. Required

Example of HTTP request:


POST /[Link] HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

gameId=vs50hercules&providerId=pragmaticplay&userId=421&roundId=5103579948&platform=WEB&hash=0755b1
f739655f4d394b20575a7570df

Example of JSON response:

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

{
"cash": 99764.99,
"bonus": 99.99,
"error": 0,
"description": "Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.11 Refund
Request path: POST /[Link]
Pragmatic Play system may use this method to rollback a bet transaction on the Casino Operator side, in order to reverse
the transaction and adjust player’s balance. When receive a Refund request Operator have to return money back to player’s
balance.

Important: The call is idempotent, i.e. sending refund for existing bet again only creates one transaction.

Important: If bet transaction is not found then nothing should happen on the Casino Operator side and success (0)
or specific error code for this situation should be returned.

Request parameters
Name Description Status
hash Hash code of the request Required
userId Identifier of the user within the Casino Operator’s system. Required
reference Reference from the original bet transaction. Required
providerId Game Provider id. Required
platform The platform type (channel) on which the game is played. Optional
Possible values:
 “MOBILE” – mobile device
 “WEB” – desktop device
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.

amount Amount to be refunded. Optional


The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.

gameId Id of the game. Optional

The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.

roundId Id of the round. Optional

The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
timestamp Date and time when the transaction is processed on the Pragmatic Play Optional
side
(Unix epoch time in milliseconds, for example : 1470926696715)
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

roundDetails Additional information about the current game round. Optional


If the Free Chips API is implemented, it will contain the number of free
chips in the refunded round.
*For example, "roundDetails":"countOfFreeChips:10"
The field is optional and is not sent to the Operator by default. If Casino Operator needs this
parameter to be sent with request, they should ask the Pragmatic Play’s Technical Support
for additional configuration, and accept enhanced roundDetails format (please see 3.3 Data
types section).

bonusCode Id of the bonus in Casino Operator system. Optional*


(*is mandatory in case of FSB API or Free Chips API is implemented)

The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
token Token of the player from Authenticate response. Optional

The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.

Response parameters
Name Description Status
transactionId Id of the refund transaction in Casino Operator system. Required
error Response status. Required
description Response status short description. Required

Example of HTTP request:


POST /[Link] HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

reference=585c2692f89c56f5ed083692&providerId=pragmaticplay&userId=421&platform=WEB&hash=0078aaf-
b64b316a05c91124e4411541a

Example of JSON response:


{
"transactionId":"C1482435726839",
"error": 0,
"description":"Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.12 GetBalancePerGame
Request path: POST /[Link]
The method allows Pragmatic Play to get player’s balance available for certain games. This method is applicable to
operators that needs different amount of money to be available in the game client depending on the game type and the
policy within Casino Operator system.
Request parameters
Name Description Status
hash Hash code of the request. Required
userId Identifier of the user within the Casino Operator’s system. Required
providerId Game Provider Id. Required
gameIdList The list of games for which player’s balance should be returned. It is a string contains Required
game id separated by comma.
token Token of the player from Authenticate response. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
platform The platform type (channel) on which the game is played. Optional

Possible values:
 “MOBILE” – mobile device
 “WEB” – desktop device
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.

Response parameters
Name Description Status

gamesBalances The list of player’s balances per game. Contains data structures with the following fields: Required
gameID – id of the game
cash – Real balance of the player
bonus – Bonus balance of the player
totalBalance Full player’s balance on casino side, used for menu of balance choosing during switch Optional
of games
Can be used for Italian Regulated market
error Response status. Required
description Response status short description. Required

Example of HTTP request:


POST /[Link] HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

providerId=....&userId=...&gameIdList=vs20cd,vs20bl,vs7monkeys

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of JSON response:


{ "gamesBalances": [
{"gameID":"vs20cd","cash":25.02,"bonus":0.00},
{"gameID":"vs9c","cash":12.02,"bonus":0.00}
],
"error": 0,
"description": "Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.13 PromoWin
Request path: POST /[Link]
Using this method the Pragmatic Play system will notify Casino Operator about winning that the player is awarded as a
result of a campaign that is finished. Notification is asynchronous and may come to the operator with a short delay after the
campaign is over. Operator should handle the transaction in their system and send promo win transaction id back to the
Pragmatic Play.

Important: The call is idempotent, i.e. sending result again with the same reference number creates only one
transaction. For retries actual player's balance should be returned

Important: This call is also used for notification about the FSB as Prize winnings from prize drops or tournament.

Important: The call is also used for notification about community jackpot winnings. In case Casino Operator
would like to receive the CJP value also (in the campaignType parameter), they should ask the Pragmatic Play’s
Technical Support for additional configuration.

Request parameters
Name Description Status
hash Hash code of the request Required
providerId Pragmatic Play provider id in Operator’s system. Required
timestamp Date and time when the transaction is processed on the Pragmatic Play side Required
(Unix epoch time in milliseconds, for example : 1470926696715)
userId Id of the player within the operator’s system. Required
campaignId Id of the campaign. Required
campaignType Type of the campaign. Available values are: Required
T – Tournament
CJP – Community Jackpot
CB – Cashback
MR – Prize Drop (FR as prize)
amount Prize amount that the player is awarded with. Required
Minimum is 0.00 (Zero amount is treated as loss).
The prize amount must be added to the player's cash balance.
currency Player’s currency. Required
reference Unique reference of the transaction within the Pragmatic Play system. Required

roundId Id of the round (the last round in Tournaments achievement which leads to
changing the scores)
Optional
The field is optional and is not sent to the Casino Operator by default. In case
Casino Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
gameId Symbolic unique identifier of the game. Optional

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

dataType Portfolio type of promo campaign Optional


The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.

Response parameters
Name Description Status
transactionId Id of the transaction in wallet. Required
currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required

error Response status. Required


description Response status short description. Required

Example of HTTP request:


POST /[Link] HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

reference=some_reference&campaignId=123456&amount=200.0&providerId=PragmaticPlay&campaignType=T
&userId=some_userId&timestamp=1547473412242&currency=USD&hash=62918d1ba53bee8225c0f2affcf20603

Example of JSON response:


{
"transactionId": 1482492905503,
"currency": "USD",
"cash": 99815.04,
"bonus": 99.99,
"error": 0,
"description":"Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.14 SessionExpired
Request path: POST /session/expired
Using this method the Pragmatic Play system will notify Casino Operator that player’s session has expired in Pragmatic Play
system due to long inactivity or game closing.
The method is optional and is not sent to the Casino Operator by default. In case Casino Operator needs this method to be
sent, they should ask the Pragmatic Play’s Technical Support for additional configuration
Request parameters
Name Description Status
hash Hash code of the request Required
providerId Pragmatic Play provider id in Operator’s system. Required
sessionId Player’s game session id on Pragmatic Play side Required
playerId Id of the player within the operator’s system. Required
token Token of the player from Authenticate response. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator needs
this parameter to be sent with request they should ask the Pragmatic Play’s Technical Support for
additional configuration.

Response parameters
Name Description Status
error Response status. Required
description Response status short description. Required

Example of HTTP request:


POST /cgAPItest/v3/httpService/session/expired HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded

providerId=PragmaticPlay&sessionId=6fd2d6f3bb8f4c5a9fadf15d81206af2&playerId=123456&hash=c46d5b113e81d30
6831a06765e12067f

Example of JSON response:


{
"error": 0,
"description":"Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.15 Adjustment
Request path: POST /[Link]
Using this method, the Pragmatic Play system will send the Casino Operator the amount of the player's balance to be ad -
justed (in case the request contains a negative amount, the player's balance should be decreased). The Casino Operator will
change the balance of the player in accordance with this request and return the updated balance. In case of negative
amount in request, and insufficient player’s balance Operator should return error code 1 and description “ Insufficient bal-
ance”.

Important: The call is idempotent, i.e. sending result again with the same reference number creates only one
transaction. For retries actual player's balance should be returned.

Important: the request is offline (does not require the player to be online). It is used only for the Live Casino
portfolio.

Request parameters
Name Description Status
hash Hash code of the request Required
userId Identifier of the user within the Casino Operator’s system. Required
gameId ID of the game. Required
Token of the player from Authenticate response (Token which was used in session when
particular round was played).
token The field is optional and is not sent to the Casino Operator by default. In case Casino Operator needs Optional
this parameter to be sent with request they should ask the Pragmatic Play’s Technical Support for
additional configuration.
roundId ID of the round. Required
amount Amount to be adjusted (may have either positive or negative value) Required
reference Unique reference of this transaction. Required
providerId Game Provider ID. Required
validBetAmount Valid bet amount. Required
Date and time when the transaction is processed on the Pragmatic Play side (Unix Required
timestamp
epoch time in milliseconds, for example : 1470926696715)
roundDetails Additional information about the current game round. Optional
If the Free Chips API is implemented, it will contain the number of free chips in the
refunded round.
*For example, "roundDetails":"countOfFreeChips:10"
The field is optional and is not sent to the Operator by default. If Casino Operator needs this parameter
to be sent with request, they should ask the Pragmatic Play’s Technical Support for additional
configuration, and accept enhanced roundDetails format (please see 3.3 Data types section).

Id of the bonus in Casino Operator system. Optional*


(*is mandatory in case of Free Chips API is implemented)
bonusCode The field is optional and is not sent to the Casino Operator by default. In case Casino Operator needs
this parameter to be sent with request they should ask the Pragmatic Play’s Technical Support for
additional configuration.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Response parameters
Name Description Status

transactionId ID of the transaction in wallet Required

currency Currency of the player Required

cash Real balance of the player Required

bonus Bonus balance of the player Required

error Response status Required

description Response status short description Required

Example of HTTP request:


POST /[Link]
HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

reference=60ed801845034f0008cdb819&gameId=rgs1ftest1&validBetAmount=1.75&amount=1.11&providerId=pra
gmaticplay&userId=421&roundId=5103268693&hash=abf5ff527800ee1378c706f2d63aa3c5&timestamp=1626177560
595

Example of JSON response:


{
"bonus": 99.99,
"cash": 99809.99,
"currency": "USD",
"description": "Success",
"error": 0,
"transactionId": 1482429805253
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.16 RoundDetails
Request path: POST /[Link]
Using this method the Pragmatic Play system will send to Casino Operator details of slot machine or RNG table game re-
sults, for particular game round, which then can be sent to the Regulator.

Important: This request is sent only after the EndRound call, hence it has to be enabled and supported.

Request parameters
Name Description Status
hash Hash code of the request Required
userId Identifier of the user within the Casino Operator’s system. Required
roundId ID of the round. Required
providerId Game Provider ID. Required
smResult The details of slot machine or RNG table game result Required
gameCategory Game category Required
betMultiplier Bet multiplier Required

Response parameters
Name Description Status

error Response status Required

description Response status short description Required

Example of HTTP request:


POST /[Link] HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

hash=681c32ea7733fcd01135e5ad48a0a8db&providerId=providerLogin_1&userId=1&roundId=123451&smResult=1
%3A10%3B2%3B9%3B3%3B2%233%3B1%3B2%3B1%3B4%2312%3B12%3B12%3B4%3B1%23R%23S%23VS%23222%23MV%232%2C00%2
3MT%232%23&betMultiplier=50

Example of JSON response:


{
"error": 0,
"description": "Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3.17 Error codes


Below table contains the error codes that should be returned by Casino Operator in the response to Seamless Wallet API
calls.
Code Description Send Reconciliation call
Bet (send Refund) Result/Refund etc.
(send retry)
0 Success. No No
1 Insufficient balance. The error should be returned in the response on the
No Yes
Bet request.
2 Player not found or is logged out. Should be returned in the response on
any request sent by Pragmatic Play if the player can’t be found or is Yes Yes
logged out at Casino Operator’s side.
3 Bet is not allowed. Should be returned in any case when the player is not
No Yes
allowed to play a specific game. For example, because of special bonus.
4 Player authentication failed due to invalid, not found or expired token. Yes Yes
5 Invalid hash code. Should be returned in the response on any request sent
Yes Yes
by Pragmatic Play if the hash code validation is failed.
6 Player is frozen. Casino Operator will return this error in the response of
Yes Yes
any request if player account if banned or frozen.
7 Bad parameters in the request, please check post parameters. Yes Yes
8 Game is not found or disabled. This error should be returned on Bet
request if the game cannot be played by some reason. Bet result request
Yes Yes
with winning amount should be processed as intended, even if the game
is disabled.
50 Bet limit has been reached. The code is relevant for regulated markets. No Yes
100 Internal server error. Casino Operator will return this error code if their
system has internal problem and cannot process the request at the
Yes Yes
moment and Operator logic requires a retry of the request. Request will
follow Reconciliation process
120 Internal server error. Casino Operator will return this error code if their
system has internal problem and cannot process the request and
No No
Operator logic does not require a retry of the request. Request will NOT
follow Reconciliation process
130 Internal server error on EndRound processing. Casino Operator will return
this error code if their system has internal problem and cannot process
the EndRound request, and Operator logic requires a retry of the request. - -
This error code should be used for Endround method only and not for
other methods
210 Reality check warning Yes Yes
310 Player’s bet is out of his bet limits. Should be returned if player’s limits
have been changed, and the bet is out of new limit levels. Game client will
show a proper error message, and ask player to reopen the game. After
No No
game reopening new bet limits will be applied.
The error is relevant for operators that send player’s bet limits in
response on Authenticate request.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

IV. Balance Transfer API


This is a simple API for game Operator to connect to the Pragmatic Play game system. API is an HTTP listener, which listens
POST requests coming to an URL with the request mappings below.
All responses should be in JSON format and should contain error code and error description, which is empty in the case if no
error occurs.

URL of the HTTP service will be provided by Pragmatic Play for the production and test environments and looks
like:

[Link] service domain}/IntegrationService/v3/http/CasinoGameAPI

Balance Transfer HTTP service is securely protected, hence please be sure:


- player’s browser (end) must NOT be used as initiator of requests to the service;
- proper IPs are supplied to Pragmatic Play for whitelisting

It is possible to play only one portfolio at the same time with this API.

4.1 Game opening


After Operator calls StartGame method at Pragmatic Play side he gets an URL for game opening.
The link will look like:
[Link] server domain}/gs2c/[Link]?tc={ticket}&stylename={secureLogin}
where:
game server domain – a domain name for game opening and playing;
ticket – secure one-time token generated by Pragmatic Play.

4.2 Hash calculation


Hash code is calculated with following formula:
From request post parameters, all parameters are taken (except hash) and appending to string:
1. Sort all parameter by keys in alphabetical order.
2. Append them in key1=value1&key2=value2.
3. Append secret key, e.g.: key1=value1&key2=value2SECRET.
4. Calculate the hash by using MD5.
5. Compare with hash parameter. In the case of failure Casino Operator should send the error code 5.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

4.3 Data types


Name Type Description

externalPlayerId String(100) Unique identifier of the player within the Casino Operator system.
Parameter value is case-sensitive.
Example: joe1001, 2644987, playerABC*, playerAbc*
* playerABC and playerAbc – are two different player accounts within
Pragmatic Play system
playerId String(100) Unique identifier of the player within the Pragmatic Play system. May be
used for troubleshooting.
Example: 1000, 2644987
currency String(3) Currency of the player, 3-character ISO 4217 code.
Example: USD, EUR
language String(2) Language code in ISO 639-1 standard (e.g. en, fr, it).
externalTransactionId String(100) Unique identifier of the transaction within Casino Operator system.
Example: 5623489, CHR789452, c0304c72-514f-47a4-8ae1-eb755224391b
transactionId String(100) Unique identifier of the transaction within Pragmatic Play system.
Example: 5623489, CHR789452, c0304c72-514f-47a4-8ae1-eb755224391b
amount Decimal (10, 2) Amount that is transferred in or out of the player’s balance. Can have
positive (deposit) or negative (withdrawal) values.
Example: 20.35, -40.00
balance Decimal (10, 2) Player's current balance. Example: '100.00'.
gameId String(20) Symbolic unique identifier of the game within the Pragmatic Play system.
Example: vs25queenofgold, vs50aladdin, cs5triple8gold, bjma, rla, vpa
The list of available games may be obtained by Casino Operator by calling
GetCasinoGames method of CasinoGameAPI of Integration simple HTTP
Service.
platform String(20) Platform for which the game should be opened.
Available values:
 MOBILE – if game should be opened on mobile devices
 WEB – if game will be opened on desktop devices
If this parameter is not defined for game opening request, desktop version of
the game will be opened by default.
The list of platforms, supported by specific game, can be found in Game
Library.
URL String(250) URL of a certain resource on the Casino Operator or Pragmatic Play website.
LobbyUrl, CashierURL – are the links to Casino Operator’s resources that will
be opened when player clicks “Fund” or “Home” button in the game.
GameURL – is the link for opening a game on Pragmatic Play’s game server.
error Integer 0 - if the request was processed successfully or error code in other case.
description String (250) Description of the error for troubleshooting purpose.
timestamp DateTime Date and time when the transfer is processed on the Pragmatic Play side.

timepoint Long Time point

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

4.4 CreatePlayer
Request path: POST /player/account/create/
Using this method Casino Operator will create player’s account within the Pragmatic Play system. This method should be called
before player is sent to the Pragmatic Play’s games.

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
externalPlayerId Id of the player within the Operator system. Required
currency Currency of the player. Required
hash Hash code of the request. Required

Response parameters
Name Description
playerId Id of the player within the Pragmatic Play system.
* is returned only on first request to create player with the same externalPlayerId.
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/CasinoGameAPI/player/account/create/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&externalPlayerId=test_player&currency=USD&hash=620a4016ae32ea0ef-
bebfe1b3544571c

Example of JSON response:


{
"error": "0",
"description": "OK",
"playerId": 6749178
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

4.5 Transfer
Request path: POST /balance/transfer/
This method transfers funds in to player’s balance (i.e. deposit) and out of the player’s balance (i.e. withdrawal) within
Pragmatic Play system. Positive amount of money indicates fund in and negative amount means fund out transaction.

Important: In cases where transfer call fails due to:


 network error (HTTP status ≠ 200)
 error: 1 (description: “internal error”) in response
Operator should send idempotent retry calls (with the same externalTransactionId).
Recommended actions are specified in 4.11 Error codes

Important: The call is idempotent, i.e. sending it again only creates one transaction.

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
externalPlayerId Id of the player within the Casino Operator system. Required
externalTransactionId Id of the transaction within Casino Operator system. Required
amount Amount to be added to player’s balance (positive value) or to be subtracted Required
from player’s balance (negative value), in player’s currency.
hash Hash code of the request. Required
Response parameters
Name Description
transactionId Id of the transfer transaction within the Pragmatic Play system.
balance Player’s balance after successful transaction.
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/CasinoGameAPI/balance/transfer/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&externalPlayerId=test_player&externalTransactionId=EXT123456789&hash=380720e97
4ae2b775ce933fb73eb8fcf&amount=999.99

Example of JSON response:


{
"error": "0",
"description": "OK",
"transactionId": 1908759,
"balance": 999.99
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

4.6 GetTransferStatus
Request path: POST /balance/transfer/status/
This method returns the status of a particular transaction that transferred the money in or out the player’s balance on the
Pragmatic Play side.

Important: This method will return player’s balance after successful transaction for all transactions that was cre-
ated not earlier than August 3, 2017. For older transactions player’s balance in the response will be null. Descrip-
tion field of the response will contain the following text: "Transaction is older than 3.08.2017".

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
externalTransactionId Id of the transaction within Casino Operator system. Required
externalPlayerId Id of the player within the Casino Operator system. Required
hash Hash code of the request. Required
Response parameters
Name Description
transactionId Id of the transfer transaction within the Pragmatic Play system.
status Status of the transaction:
o ‘Success’ – The transaction was successfully processed
o ‘Not found’ – The transaction was not found (was not processed)
amount Amount added to player’s balance (positive value) or subtracted from player’s balance (negative
value), in player’s currency.
balance Player’s balance after successful transaction.
Note: The field will contain current player’s balance in case the transaction was not processed.
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/CasinoGameAPI/balance/transfer/status/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&externalTransactionId=EXT123456789&hash=380720e974ae2b775ce933fb73eb8fcf

Example of JSON response:


{
"error": "0",
"description": "OK",
"transactionId": 1908759,
"status": "Success",
"amount": "999.99",
"balance": 999.99
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

4.7 GetBalance
Request path: POST /balance/current/
Using this method Operator can get the current balance of the player in the Pragmatic Play system.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
externalPlayerId Id of the player within the Casino Operator system. Required
hash Hash code of the request. Required

Response parameters
Name Description
balance Current player’s balance within the Pragmatic Play system.
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/CasinoGameAPI/balance/current/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

externalPlayerId=test_player&secureLogin=username&hash=405281156fc4cace4d2385a8ead83290

Example of JSON response:


{
"error": "0",
"description": "OK",
"balance": 999.99
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

4.8 StartGame
Request path: POST /game/start/
Using this method Operator can receive a valid URL to requested game. A specific ticket will be generated for player defined
in the request for a particular game. This ticket will be verified on the Pragmatic Play side when player opens a game.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
externalPlayerId Id of the player within the Operator system. Required
gameId Id of the game within the Pragmatic Play system. Required
language Language on which the game should be opened. Required
platform Platform for which the game should be opened Optional
cashierURL Link for opening the cashier on Casino Operator site when a player has no Optional
funds
lobbyURL Link for returning to Lobby page on Casino Operator site. This link is used for Optional
Back to Lobby (Home) button in mobile version of games
playMode If parameter not exist or value is REAL – return real game launch URL, if value Optional
is DEMO – return demo game launch URL.
jurisdiction Jurisdiction of the player. Optional
*Within this method is used only for playMode=DEMO.
hash Hash code of the request. Required
ctlgroup The identification for specific table limits group (is applicable for Live Casino Optional
portfolio only)
lobbyFilter When requesting a URL for LC game: Optional
Filter values which will be predefined when user will open (only for LC
Live Casino lobby category. Possible values available in section 18.4 portfolio AND
Predefined filters in Live Casino Lobby categories Standalone
Slots Lobby)
When requesting a URL for Standalone Slots lobby:
Category that will be opened in the Standalone Slots Lobby by default
when it is launched.
Possible options:
 forYou – For You category will be opened when launching the
lobby;
 allSlots – All Slots category will be opened when launching the
lobby;
 DDW – Drops and Wins category will be opened when launching
the lobby.
If no option or incorrect value is sent in the ‘lobbyFilter’ parameter, the
‘For you' category will be opened by default.

Response parameters
Name Description
gameURL Link to the game to be open on the Pragmatic Play side. This link will contain special
parameters which should remain as is.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of HTTP request:


POST /IntegrationService/v3/http/CasinoGameAPI/game/start/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&externalPlayerId=test_player&gameId=vs50aladdin&language=en&platform=WEB&cashi
erURL=http%3A%2F%[Link]%2F&lobbyURL=http%3A%2F%[Link]%2F&hash=438fea0a68a0e9ab49df756c-
c20eda8f

Example of JSON response:


{
"error": "0",
"description": "OK",
"gameURL":"[Link]
ciynHFWXosjDjgAUPH1A3FSoAM&stylename=username&lang=en"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

4.9 TerminateSession
Request path: POST /game/session/terminate/
Using this method Operator can terminate the current player session and kick him out all games.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
externalPlayerId Id of the player within the Casino Operator system. Required
hash Hash code of the request. Required

Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/CasinoGameAPI/game/session/terminate/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&externalPlayerId=test_player&hash=405281156fc4cace4d2385a8ead83290

Example of JSON response:


{
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

4.10 TransferTransactions
Request path: POST /balance/transfer/transactions

This method returns transfer transactions (deposits and withdrawals) for all players during the period defined by time
point, but not longer than 10 minutes. Data will be returned in CSV format.

Request parameters

Name Description Status


secureLogin User name for authentication in the Casino Game API service Required
timepoint Time point starting from which data will be transferred. If time point is Optional
empty, the new time point will be returned.
(Unix epoch time in milliseconds, for example: 1470926696715)
hash Hash code of the request. Required

Response parameters (CSV)

Name Description
externalPlayerId Unique identifier of the player within the Casino Operator system
timestamp Date and time when the transfer is processed on the Pragmatic Play side.
(Unix epoch time in milliseconds, for example: 1470926696715)
externalTransactionId Unique identifier of the transaction within Casino Operator system.
amount Amount transferred in or out of the player’s balance, in the player’s currency. Can have positive
(deposit) or negative (withdrawal) values.
currency Currency of the player, 3-character ISO 4217 code.

Example of HTTP request:


POST /IntegrationService/v3/http/CasinoGameAPI/balance/transfer/transactions/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&timepoint=1482510713000&hash=405281156fc4cace4d2385a8ead83290

Example of JSON response:


timepoint=1482510979767
externalPlayerId,timestamp,externalTransactionId,amount,currency
421,1482510741000,1482429190474,100.00,USD 422,1482510742000,1482429190475,-200.00,USD

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

4.11 Error codes


Below table contains the error codes that the Pragmatic Play system will return in the response to Balance Transfer API
calls.
Only responses with HTTP Status: 200 should be accepted by operator as valid response
Responses with HTTP Status other than 200 should not be accepted as valid (recommended actions are the same
as for error: 1, description “Internal error. Try later please.”)

For each API account, retry frequency for failed "Transfer" or “GetTransferStatus” method requests, should be not
more than one call per minute and not longer than 1 hour. (after 1 hour Error reason should be checked in
relevant support channel)

Code Description Further action recommendations


Transfer method Other methods
Options:
Transfer call retry
After getting valid response: Error reason should be
Internal error. Try later please. - Transfer success(error code 0 or 8) – no action checked in relevant support
required channel
1
- Transfer failed –Transfer transaction failed,
amount can be returned to player’s wallet
Insufficient funds available to complete
GetBalance request, to get actual balance -
the transaction.

GetTransferStatus method retries


After getting valid response:
- Transfer success (error code 0) – no action
100 “{Error description}. Try later please” required -
(GetTransferStatus method) - Transfer is in progress now – retry with
frequency and period defined in current section
- Internal error – retry with frequency and
period defined in current section
Incorrect secure LOGIN and secure
password combination
2 Verify request values Verify request values
(will be returned also if the hash code
validation is failed)
Game is not found or is not allowed for Error cause should be
6 your system - checked in relevant support
channel
One or several input parameters is not
7 Verify request values Verify request values
set or set incorrectly.
8 Transaction already exists No action required -
17 Player not found Verify request values Verify request values
Currency code is incorrect or
21 - Verify request values
unsupported

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

V. Games JavaScript API


This section describes Pragmatic Games JS API which can be used by operators to take different events like spin started,
ended, entering to bonus game or free spins directly from the game using JavaScript communication. Starting the game
launch, Pragmatic games send different events to the topmost window, so they can be caught and used for different
purposes on operator side – to attract players’ attention, etc.

5.1 Game Events Interception


During lifetime, starting the moment when game is loaded into iframe, game sends different events based on user behavior
to the topmost window. So that, sent events can be intercepted on operator side and used further.
The example of the code which can intercept these events looks like this:
[Link](handler, ["[Link] $Host].join(""));
[Link](handler, ["[Link] $Host].join(""));
Where handler - js custom function for handling the event
XD - the postMessage library
All events are sent in the following format:
Object {
name:<name of the event>
data:<additional data for this event>
};

Example:
Object {
name: "bonusGameStarted"
};

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

5.2 Events
Currently all Pragmatic HTML5 games send events described in the table below.
Video Live
Event Name Description Data Bingo
Slots games
spinStarted Player clicks Spin button and reels started spinning sender:value

*
spinEnded Reels stopped sender:value

*
resultShown Game round result is shown to player and all the animation sender:value

related to the round is completed *
gameRoundStarted Player clicks Spin sender:value
 
*
gameRoundEnded Game round is finished (it comes before resultShown event) sender:value
 
*
bonusGameStarted Bonus game opens for player sender:value

*
bonusGameEnded Player played bonus game, saw result and returned to the sender:value

main game *
freeSpinStarted Free spins started for player sender:value

*
freeSpinEnded Free spins are over, player saw result of the Free Spins and sender:value

returned back to the main game *
gameLoadingStarted Game loading has started sender:value
 
*
gameLoadingEnded Game has finished loading and is available for playing sender:value
 
*
balanceTooLow Player no longer has enough balance to spin with current sender:value
 
selected bet *
notifyCloseContainer Game container is closing because of window closure, sender:value
  
redirect or refreshing *
gameQuit For home/lobby/close/leave sender:value
 
*
openCashier For insufficient funds message/button sender:value
 
*
homeButton For Home Button action in Bingo sender:value

*
RC_SHOWN reality check pop-up message is shown sender:value 
 
*
RC_CONTINUE for continue button action in RC pop-up sender:value 
 
*
RC_QUIT for close button action in RC pop-up sender:value 
 
*
gameReady bingo client is initialized and ready for use ‘gameReady’  

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

gameActive bingo client is reverted to normal mode and player can ‘gameActive’
 
continue play
FRB_STARTED** Free Spins Bonus Session started in game sender:value 
*
FRB_ENDED** Free Spins Bonus session ended in game sender:value 
*
bigWinLevel Player won big win (the higher winnings amount – the higher params: 
level parameter) { level: int
(0,1,2,3...) }
gameChange The player changed the game sender:value 
*

*-value: identifier of game from which event is sent.


Examples: sender: "vs50aladdin"; sender: 401 – for RNG and Live games client (value=gameId)
sender: “bingo” – for Bingo game client
**- Events are optional and not available by default. In case Casino Operator needs this event they should ask the Pragmatic
Play’s Technical Support for additional configuration.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

5.3 Triggers
Triggers are special JS Postmessages which are sent from parent page to game client, in order to apply needed action
Live
Name Description Data RNG Bingo
games
Stop autoplay Is sent to stop Auto Play for our
postMessage('{"type":"Tilt"}','*');  
games from client side.
Update balance postMessage("updateBalance");
Is sent to update balance in cases,
where player’s balance can be or
changed outside of game (for 
example when player deposited or postMessage({event: "refreshBalance"});
playing in another game in parallel)

Pause / Resume Is sent to pause or resume


postMessage("requestPause");
whole game. While it’s paused,

player is not able to continue
postMessage("requestResume");
the game
Mute / Unmute postMessage({event: "setVolume",
params:{muted: true}});
Is sent to turn on or turn off the

sound
postMessage({event: "setVolume",
params:{muted: false}});
Stop game (Bingo) Is sent to inactivate Bingo game
client for player (for example in postMessage('stopGame','*'); 
reality check action)
Restart game (Bingo) Is sent to re-activate Bingo game
postMessage('restartGame','*'); 
client which was stopped before

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

VI. Variable Free Spins API


Free Rounds Bonus (FRB) has been renamed to Free Spins Bonus (FSB).
Note that the change only affects the method name and has no effect on the parameters, content, or API methods
as a whole.

Free Spins Bonus (FSB) (previously Free Rounds Bonus (FRB)) allows the player to play a specified number of free spins in a
game. Free Spins created via Variable Free Spins API may be configured to be played with a certain bet value specified for
each game and currency. During Free Spins game play, bets are not deducted from the player's balance, but all wins are
collected for the Free Spins Bonus in the Pragmatic Play’s system.
After all free spins are played the Pragmatic Play system sends a bonusWin API call to Operator server to add money to the
player's balance. Please note that not all games support FSB.
Free Spins can be awarded to players registered within the Pragmatic Play system using API.
Free Spins Bonus HTTP service is a simple API for game Operator to manage Free Spins. API is an HTTP listener, which listens
POST requests coming to an URL with the request mappings below.
If the Free Spins API is used to create the FSB, then implementing cancel via the API (method 6.4 Cancel Free Spins) is also
mandatory.
All responses should be in JSON format.

URL of the FSB HTTP service will be provided by Pragmatic Play for the production and test environments and
looks like: [Link] service domain}/IntegrationService/v3/http/FreeRoundsBonusAPI/v2/

Free Spins HTTP service is securely protected, hence please be sure:


- player’s browser (end) must NOT be used as initiator of requests to the service;
- proper IPs are supplied to Pragmatic Play for whitelisting

The bonusCode is unique and can be used only one time for same playerId. Please make sure you’ve integrated the
FSB in the proper way and won't reuse/award same bonusCode values in your logic. In case Casino Operator needs
to make the bonusCode reusable they should ask the Pragmatic Play’s Technical Support for additional
configuration.

6.1 Hash calculation


Hash code is calculated with following formula:
From request post parameters, all parameters are taken (except hash) and appending to string:
1. Sort all parameter by keys in alphabetical order.
2. Append them (if the value is not null or empty) in key1=value1&key2=value2.
3. Append secret key, e.g.: key1=value1&key2=value2SECRET.
4. Calculate the hash by using MD5.
5. Compare with hash parameter. In the case of failure Casino Operator should send the error code 5.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

6.2 Data types


Name Type Description
playerId String(100) Id of the player within the Operator system. Examples: 1000, 2644987.
currency String Player's ISO 4217 currency code. Examples: 'EUR' or 'USD'.
gameID String Unique identifier of the game.
rounds Integer Number of free spins
bonusCode String Bonus unique identifier within the Operator system. Max length of this parameter
depends on requestId. The sum of their length has to be 252 symbols or less.
requestId String Unique identifier of FSB credit request (for specific player). It has to be passed to re-use
the same bonusCode value again for the player. Max length of this parameter depends
on bonusCode. The sum of their length has to be 252 symbols or less.
expirationDate, Long Date and time when the bonus will start, expire or until it is valid - timestamp in seconds.
startDate, (Unix epoch time in seconds, for example : 1470926605)
validityDate
periodOfTime number Awarded bonus time in seconds
error Integer Error code.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

6.3 Create Free Spins

Request path: POST /FreeRoundsBonusAPI/v2/bonus/create/

Using this method Operator can create a new Free Spins Bonus with the Pragmatic Play’s games.
In case of a network error Operator can send a repeated Create Free Spins requests. The Pragmatic Play system will not
create new FS bonus if there is an active FS bonus with the same bonus code.
Note:
In cases where Operator creates Free Spins Bonus with periodOfTime and more than one game in gameList,
player will be able to continue FSB only in game, which FSB was started in.
In cases where the operator creates a FSB with the frType=F parameter, only one game can be added to the
gameList.

Note:
To specify Expiration and Validity for FSB, either expirationDate and validityDate (as timestamps in seconds) OR
expirationPeriod and validityPeriod (as {N} minutes) parameters can be specified. If expirationPeriod is
specified, validityPeriod must be specified as well.

Note:
Expiration date is mandatory. It should be sent as timestamp in seconds, and the bonus validity period must not
be longer than 30 days.

1. Total bet for each round is calculated as bet-per-line * number-of-lines.

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
bonusCode Bonus id within the Casino Operator’s system. Should be unique Required
within the brand.
startDate Date and time when free spins bonus will start. Required
*UNIX time in sec

expirationDate Date and time when the free spins will expire. Optional
*UNIX time in sec Should NOT be used when the
expirationPeriod is specified.

validityDate Date and time when the bonus gets invalid and is unavailable for the Optional
player. Doesn’t work when frType is passed. Should be used if
*UNIX time in sec expirationDate is specified.

expirationPeriod Number of minutes (after FSB is created to a player), after which Optional
free spins will expire. Should NOT be used when the
expirationDate is specified.

validityPeriod Number of minutes (after FSB is created to a player), after which the Optional
bonuses will become unavailable. Doesn’t work when frType is Should be used if
passed. expirationPeriod is specified.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

rounds Number of free game rounds awarded. Optional. Should not be used
when periodOfTime or frType
parameter is specified

periodOfTime Awarded bonus time in seconds (please see note) Optional. Should not be used
when rounds or frType
parameter is specified

frType Type of the Free Spins Bonus that the player will be awarded. Optional. Should not be used
Available values are: when rounds or
F – Instant bonus rounds (triggering predefined in-game periodOfTime parameter is
feature) specified

hash Hash code of the request. Required

gameList List of the games associated with the bonus, with bet per line Required
values for each currency. See below VariableFRGame type
description of the objects in the list.
This data must be sent as a JSON in the body of the request.

Type: VariableFRGame
Name Description
gameId Id of the game associated with the free spins bonus.
betValues List of bets per line or total bets with the currency.

Type: VariableFRBetValue
Name Description Status
currency Currency code. Required
betPerLine Value of bet per line in the specified currency, which will be Should not be used when totalBet
applied during free spins option is used
totalBet Value of total bet in the specified currency, which will be Should not be used when betPerLine
applied during free spins option is used

Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/FreeRoundsBonusAPI/v2/bonus/create?bonusCode=Bonus_Code&expira-
tionDate=1540563996&rounds=27&secureLogin=Secure_Login&startDate=1537971996&validityDate=1543242396
&hash=464e9816b531cc78bbdcffc81dd44e18 HTTP/1.1
Host: [Link]
Content-Type: application/json

{
"gameList": [
{

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"gameId": "vs25a",
"betValues": [
{"betPerLine": 0.05, "currency": "USD"},
{"betPerLine": 0.10, "currency": "EUR"},
{"betPerLine": 0.50, "currency": "CNY"}
]
},
{
"gameId": "vs9c",
"betValues": [
{"betPerLine": 0.15, "currency": "USD"},
{"betPerLine": 0.30, "currency": "EUR"},
{"betPerLine": 1.50, "currency": "CNY"}
]
}
]
}

Example of JSON response:


{
"error": "0",
"description": ""
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

6.4 Cancel Free Spins


Request path: POST /FreeRoundsBonusAPI/v2/bonus/cancel/
Using this method Operator can cancel an existing Free Spins Bonus in the Pragmatic Play system. In addition to campaign
cancellation, all related players' bonuses will also be cancelled according to the corresponding logic.

Cancellation logic for bonuses depends on the bonus status.


All not-started bonuses will be cancelled.

If the bonus was started but not finished:


 for free spins and countdown fs, already played spins and awarded wins remain, but the rest of the spins and free
seconds will be cancelled,
 single unfinished rounds, such as instant bonuses or free spin rounds, will not be cancelled, so the player can
finish them and receive wins later.

Finished, cancelled, or expired bonuses will not be affected (the player’s win and bonus status remain).

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
bonusCode Bonus id within the Operator system. Should be unique within the brand. Required
hash Hash code of the request. Required

Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/FreeRoundsBonusAPI/v2/bonus/cancel HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&bonusCode=421&hash=39554fed4f41132eb8fe75e9a7ba3df6

Example of JSON response:


{
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

6.5 GetPlayersFSB
Request path: POST /FreeRoundsBonusAPI/getPlayersFRB/
Using this method Casino Operator system can get from the Pragmatic Play system all Free Spins Bonus that are awarded to the
particular player.

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
playerId Id of the player within the Operator system. Required
hash Hash code of the request. Required

Response parameters
Name Description
bonuses List of information about all active FSB that were awarded to the player. See below FSB type
description of the objects in the list.
error Error code.
description Description of the error for troubleshooting.

Type: FRB
Name Description
currency Currency of the player.
gameIDList List of symbolic unique identifiers of the game that the FS is awarded for, comma separated.
Example: vs25a, vs9c, vs20s.
rounds Number of free game rounds awarded.
roundsPlayed Number of rounds already played.
bonusCode Bonus id within the Operator system. Should be unique within the brand.
expirationDate Date and time when the free spins will expire.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of HTTP request:


POST /IntegrationService/v3/http/FreeRoundsBonusAPI/getPlayersFRB HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&playerId=421&hash=b623382e6dd3219d63b7ed1979408856

Example of JSON response:


{
"error": "0",
"description": "OK",
"bonuses": [
{
"currency": "USD",
"gameIDList": "vs20bl",
"rounds": 10,
"roundsPlayed": 0,
"bonusCode": "421_frb1",
"expirationDate": "2016-12-24 00:00",
},
{
"currency": "USD",
"gameIDList": "vs20bl",
"rounds": 10,
"roundsPlayed": 0,
"bonusCode": "421_frb2",
"expirationDate": "2016-12-24 00:00",
}
]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

6.6 Add players


Request path: POST /FreeRoundsBonusAPI/v2/players/add/
Using this method Operator can add players to the existing Free Spins Bonus. Free spins bonus will be available to both existing
and future players, whether they are already registered with PP system or not yet.

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
bonusCode Bonus id within the Operator system. Should be unique within the brand. Required
playerList List of player id to add to the existing Free Spins Bonus, comma separated. Required
This data must be sent as a JSON in the body of the request.
*The maximum player list size value is 5000 in a batch.
requestId Unique identifier of FSB credit request (for specific player). It has to be passed to Optional
re-use the same bonusCode value again for the player.
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
hash Hash code of the request. Required

Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/FreeRoundsBonusAPI/v2/players/add/?secureLogin=ext_test1&bonus-
Code=421&hash=908ea6c3335602d153e490871b376c77 HTTP/1.1
Host: [Link]
Content-Type: application/json

{
"playerList": ["449986","450013","450509","437070"]
}

Example of JSON response:


{
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

6.7 Add player


Request path: POST FreeRoundsBonusAPI/v2/bonus/player/add
Using this method Operator can add one player to the existing Free Spins Bonus and override such parameters as periodOfTime,
rounds, expirationDate or validityDate. Free spins bonus will be available to both existing and future players, whether they are
already registered with PP system or not yet.

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
bonusCode Bonus id within the Operator system. Should be unique within the Required
brand.
playerId Player ID in Casino Operator’s system. Required
[Link] Date and time when the bonus will expire (in seconds). Optional
[Link] Date and time util the bonus will be valid (in seconds). Optional
[Link] The number of rounds for number-of-spins FSB. Optional.
Should not be used
when periodOfTime
parameter is specified.
[Link] The number of seconds for time-limited FSB. Optional.
Should not be used
when rounds
parameter is specified.
requestId Unique identifier of FSB credit request (for specific player). It has to be Optional
passed to re-use the same bonusCode value again for the player.
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
hash Hash code of the request. Required

Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/FreeRoundsBonusAPI/v2/bonus/player/add?secureLogin=username&bonus-
Code=422_frb&requestId=req125&playerId=123456&hash=26a4f62a8cde581ed5645cbd115f28b0 HTTP/1.1
Host: [Link]
Content-Type: application/json

For number-of-spins FSB:


{
"config": {
"expirationDate": 1470926605,

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"validityDate": 1470926605,
"rounds": 1234
}
}
For time-limited FSB:
{
"config": {
"expirationDate": 1470926605,
"validityDate": 1470926605,
"periodOfTime": 1234
}
}
For a player without a specific configuration:
{
"config": {

}
}

Example of JSON response:


{
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

6.8 Remove players


Request path: POST /FreeRoundsBonusAPI/v2/players/remove/
Using this method Operator can remove players from the existing Free Spins Bonus and cancel free spins awarded to them.

Cancellation logic for bonuses depends on the bonus status.


All not-started bonuses will be cancelled.

If the bonus was started but not finished:


 for free spins and countdown fs, already played spins and awarded wins remain, but the rest of the spins and free
seconds will be cancelled,
 single unfinished rounds, such as instant bonuses or free spin rounds, will not be cancelled, so the player can
finish them and receive wins later.

Finished, cancelled, or expired bonuses will not be affected (the player’s win and bonus status remain).

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
bonusCode Bonus id within the Operator system. Should be unique within the brand. Required
playerList List of player id to remove from the existing Free Spins Bonus, comma Required
separated.
requestID Unique identifier of FSB credit request (for specific player) which was sent Optional
during adding of player.
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
hash Hash code of the request. Required

Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:

POST /IntegrationService/v3/http/FreeRoundsBonusAPI/v2/players/remove HTTP/1.1


Host: [Link]
Content-Type: application/json
Cache-Control: no-cache

secureLogin=username&bonusCode=421&hash=39554fed4f41132eb8fe75e9a7ba3df6

{
"playerList": ["449986","450013","450509","437070"]
}

Example of JSON response:


{
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

6.9 Create Player Free Spins


Request path: POST /FreeRoundsBonusAPI/v2/bonus/player/create/
Using this method Operator can create a new Free Spins Bonus with the Pragmatic Play’s games for player
In case of a network error Operator can send a repeated Create Free Spins requests. The Pragmatic Play system will not
create new RF bonus if there is an active FS bonus with the same bonus code.

Note:
In cases where Operator creates Free Spins Bonus with periodOfTime and more than one game in gameList,
player will be able to continue FSB only in game, which FSB was started in.

In cases where the operator creates a FSB with the frType=F parameter, only one game can be added to the
gameList.

Note:

2. Expiration date is mandatory. It should be sent as timestamp in seconds, and the bonus validity period must
not be longer than 30 days.
3. Total bet for each round is calculated as bet-per-line * number-of-lines.

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API Required
service
bonusCode Bonus id within the Casino Operator’s system. Should Required
be unique within the brand.
startDate Date and time when free spins bonus will start. Required
*UNIX time in sec
expirationDate Date and time when the free spins will expire. Required
*UNIX time in sec
validityDate Date and time when the bonus gets invalid and is Optional
unavailable for the player. Doesn’t work when frType
is passed.
*UNIX time in sec

rounds Number of free game rounds awarded. Optional. Should not be used when
periodOfTime or frType parameter is
specified

periodOfTime Period of bonus time in seconds (please see note) Optional. Should not be used when
rounds or frType parameter is
specified

frType Type of the Free Spins Bonus that the player will be Optional. Should not be used when
awarded. Available values are: rounds or periodOfTime parameter is
F – Instant bonus rounds (triggering specified
predefined in-game feature)

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

playerId Player ID in Casino Operator’s system. Required

currency Player currency. Required


hash Hash code of the request. Required
gameList List of the games associated with the bonus, with bet Required
per line values for each currency. See below
VariableFRGame type description of the objects in the
list.
This data must be sent as a JSON in the body of the
request.
requestId Unique identifier of FSB credit request (for specific Optional
player). It has to be passed to re-use the same
bonusCode value again for the player.
The field is optional and is not sent to the Casino Operator by
default. In case Casino Operator needs this parameter to be sent
with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.

Type: VariableFRGame
Name Description
gameId Id of the game associated with the free spins bonus.
betValues List of bets per line or total bets with the currency.

Type: VariableFRBetValue
Name Description Status
currency Currency code. Required

betPerLine Value of bet per line in the specified currency, which will be applied Should not be used when totalBet
during free spins option is used
totalBet Value of total bet in the specified currency, which will be applied during Should not be used when betPerLine
free spins option is used

Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/FreeRoundsBonusAPI/v2/bonus/player/create/?bonusCode=some_bomnus_-
code123&expirationDate=1597921169&rounds=27&secureLogin=some_secureLogin&startDate=1597835415&cur-
rency=USD&playerId=392&hash=2b7e7dc8ef0ecd2dcd9c89b9f79fbae1 HTTP/1.1
Host: [Link]
Content-Type: application/json

{
"gameList": [
{
"gameId": "vs25a",
"betValues": [

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

{"betPerLine": 0.05, "currency": "USD"},


{"betPerLine": 0.10, "currency": "EUR"},
{"betPerLine": 0.50, "currency": "CNY"}
]
},
{
"gameId": "vs9c",
"betValues": [
{"betPerLine": 0.15, "currency": "USD"},
{"betPerLine": 0.30, "currency": "EUR"},
{"betPerLine": 1.50, "currency": "CNY"}
]
}
]}

Example of JSON response:


{
"error": "0",
"description": ""
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

6.10 Get Bet Scales


Request path: POST /IntegrationService/v3/http/CasinoGameAPI/getBetScales
Using this method Operator can receive available bet per line and total bet scale values for games per currency

Important: To avoid excessive traffic and load on both PragmaticPlay and Operator system, it is recommended to
send in request games and currencies list which are needed for Free Spins Bonus creation. This API
method is designed only for the games that support FSB.

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
gameIDs List of game IDs, in cases where it is sent, bet scales will be returned only for Optional
sent game list
currencies List of currencies, in cases where it is sent, bet scales will be returned only for Optional
sent currencies list
hash Hash code of the request. Required

Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.
gameList List of the games, with relevant game and bet scale list. See below betScaleList type description of
the objects in the list.
This data must be sent as a JSON in the body of the request.

Type: betScaleList
Name Description
currency Symbolic code of currency. Example: “USD”, “EUR”
betPerLineScales List of possible bets per line
totalBetScales List of possible total bets

Example of HTTP request:


POST /IntegrationService/v3/http/CasinoGameAPI/getBetScales/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&hash=d249eef6f9264213586f3e94b7daba40&gameIDs=vs20cd&currencies=USD,EUR

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of JSON response:


{
"description": "OK",
"error": "0",
"gameList": [
{
"betScaleList": [
{
"betPerLineScales": [
1.0,
2.0,
3.0,
4.0,
5.0
],
"currency": "USD",
"totalBetScales": [
20.0,
40.0,
60.0,
80.0,
100.0
]
},
{
"betPerLineScales": [
1.0,
2.0,
3.0,
4.0,
5.0
],
"currency": "EUR",
"totalBetScales": [
20.0,
40.0,
60.0,
80.0,
100.0
]
}
],
"gameID": "vs20cd"
}
]}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

6.11 Error codes


The table below contains the error codes that the Pragmatic Play system will return in the response to Variable Free Spins
API calls.
Code Description

0 Request was successfully processed.


1 Authentication failed. Incorrect secure login and secure password combination.
2 Validation failed. Empty mandatory field '{field name}'.
3 Game(s) are not supported: {list of the game id}.
4 Game(s) do not support Free round bonus: {list of the game id}
5 Bonus code already exists.
6 The requested Free Round bonus is not found in the system.
7 Free round bonus is canceled.
8 Free round bonus is closed or started to play.
9 Currency code '{ISO code}' is incorrect or unsupported.
10 Player does not have active Free round bonuses.
11 Free round bonus cannot be created. Expiration date limit (30 days) has been exceeded.
12 Free round bonus cannot be created. Expiration date is in the past.
14 Bonus code already exists with another parameters.
19 Free round bonus is expired.
37 Bad request: periodOfTime and rounds cannot be used in same time
37#1 Bad request: Either dates (expirationDate and validityDate) or periods (expirationPeriod and
validityPeriod) should be specified.
37#2 Bad request: If expirationPeriod is specified validityPeriod must be specified as well.
37#3 Bad request: Expiration period limit ({X} days) has been exceeded.
37#4 Bad request: The difference between Validity period and Expiration period should not exceed the limit
({Y} days).
37#5 Bad request: Expiration period exceeds the Validity period.
37#6 Bad request: playerList' size should be less or equals to 5000
38 Bet per line less than 0.01 after total bet conversion (totalBet / number of slot lines)
39 Bet per line less than 0.01
44 Package is not found or cancelled.
45 Package is expired.
46 Player already registered in package with same bonusCode.

1000 Internal server error. Pragmatic Play will return this error code if their system has internal problem and
cannot process the request.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

VII. Game History API


History API provides game rounds played by the player, with their details. Operator can get a list of games played, game
rounds that the player has played during a particular day and hour, and the screen of the game at the end of the game
round.
History HTTP service is a simple API for game Operator to get player’s game history. API is an HTTP listener, which listens
POST requests coming to an URL with the request mappings below.
All responses should be in JSON format.

URL of the history HTTP service will be provided by Pragmatic Play for the production and test environments and
looks like:

[Link] service domain}/IntegrationService/v3/http/HistoryAPI/

History HTTP service is securely protected, hence please be sure:


- player’s browser (end) must NOT be used as initiator of requests to the service;
- proper IPs are supplied to Pragmatic Play for whitelisting

IMPORTANT!
For RNG games portfolio, all Game History API methods are supported
For LC, VSB portfolio only 7.7 OpenHistoryExtended and 7.6 GetRoundStatus methods are supported

7.1 Hash calculation


Hash code is calculated with following formula:
From request post parameters, all parameters are taken (except hash) and appending to string:
1. Sort all parameter by keys in alphabetical order.
2. Append them (if the value is not null or empty) in key1=value1&key2=value2.
3. Append secret key, e.g.: key1=value1&key2=value2SECRET.
4. Calculate the hash by using MD5.
5. Compare with hash parameter. In the case of failure Casino Operator should send the error code 5.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

7.2 Data types


Name Type Description
secureLogin String (32) User name for authentication in the Casino Game API service. Should be provided
by the Pragmatic Play.
playerId String(100) Id of the player within the Operator system. Examples: 1000, 2644987.
gameId String (32) Symbolic unique identifier of the game within the Pragmatic Play system. Example:
vs25queenofgold, vs50aladdin, cs5triple8gold, bjma, rla, vpa
Casino Operator can get the list of all available games by a call of GetCasinoGames
method of Integration API.
language String(2) Language code in ISO 639-1 standard (e.g. en, fr, it).

roundId Long Identification for the player's round.


currency String(3) Player's ISO 4217 currency code. Examples: 'EUR' or 'USD'.
cash Decimal (10, 2) Player's real balance. Example: '100.00'.
bonus Decimal (10, 2) Player's promo balance. Example: '100.00'.
betAmount Decimal (10, 2) Amount of the bet. Example: '1.00'.
winAmount Decimal (10, 2) Amount of the win. Example: '5.25'.
roundDetails String(4000) Additional information about the current game round, such as “Free spin”,
“Bonus”, etc.
datePlayed DateTime Date when the round was played
timeZone TimeZone Time zone of the user.
Example: GMT, GMT+8, GMT+04:00
error Integer Error code.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

7.3 GetPlayedGames
Request path: POST /GetPlayedGames/
Using this method Casino Operator can get a list of the games played by the player during the day.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
playerId Id of the player within the Casino Operator system. Required
datePlayed Date, based on the time zone of the user. Required
timeZone Time zone of the user. Required
Example: GMT, GMT+8, GMT+04:00
hash Hash code of the request. Required

Response parameters
Name Description
games List of games played. See below GamePlayed type description of the objects in the list.

Type: GamePlayed
Name Description
gameId Symbolic unique identifier of the game.
gameName Name of the game.
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/HistoryAPI/GetPlayedGames/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&playerId=421&datePlayed=2016-12-
23&timeZone=GMT+00:00&hash=980d06d3361f1e21a2f1550c6806ef52

Example of JSON response:


{
"error": "0",
"description": "OK",
"games": [
{
"gameId": "vs30catz_jp",
"gameName": "The Catfather Part II"
},
{
"gameId": "vs50aladdin",
"gameName": "3 Genie Wishes"
}
]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

7.4 GetGameRounds
Request path: POST /GetGameRounds/
Using this method Casino Operator can get a list of the game rounds played by the player during the certain day and (optionally)
the specific hour.

Important: In case the hour parameter is absent in the request, it will default to 0.

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
playerId Id of the player within the Casino Operator system. Required
datePlayed Date when the game rounds were played, based on time zone of the user. Required
timeZone Time zone of the user. Required
Example: GMT, GMT+8, GMT+04:00
gameId Symbolic unique identifier of the game. Required
hour Ordinal number of time in a day. Optional
Example: 0,1,2,..,22,23
hash Hash code of the request. Required

Response parameters
Name Description
rounds List of game rounds played. See below GameRound type description of the objects in the list.
error Error code.
description Description of the error for troubleshooting.

Type: GameRound
Name Description
dateTime Date and time when the round was played, based on time zone of the user.
The value is returned in Pragmatic Play’s server time zone (UTC/GMT+0).
gameId Symbolic unique identifier of the game.
gameName Name of the game.
roundId Unique identifier of the game round.
currency Player’s currency.
betAmount Bet amount.
winAmount Win amount.
balance Player’s balance at the end of the round.
roundDetails Additional information about the game round, such as “Free spin”, “Bonus”, etc.
memberId Unique id for player on the Pragmatic Play side.

casinoID Unique id for brand on the Pragmatic Play side.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

detailsUrl This parameter is not currently used and should be ignored by operators
roundStatus Status of the game round. May have the following values:
o In progress – game round was started but not finished yet by the player
o Completed – game round has been completed by the player

Example of HTTP request:


POST /IntegrationService/v3/http/HistoryAPI/GetGameRounds/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&playerId=421&datePlayed=2016-12-
23&timeZone=GMT+00:00&gameId=vs50aladdin&hour=10&hash=0179f75a37274337f9aefe2c3108db0f

Example of JSON response:


{
"error": "0",
"description": "OK",
"rounds": [
{
"dateTime": "2016-12-23 05:50:35.0",
"gameId": "vs50aladdin",
"gameName": "3 Genie Wishes",
"roundId": "5108924498",
"currency": "USD",
"betAmount": "0.0",
"winAmount": "0.05",
"balance": "99711.59",
"roundDetails": "Free spin",
"memberId": 6638030,
"detailsUrl": "pragmaticplay"
} , … ,
{
"dateTime": "2016-12-23 05:54:28.0",
"gameId": "vs50aladdin",
"gameName": "3 Genie Wishes",
"roundId": "5108946371",
"currency": "USD",
"betAmount": "2.5",
"winAmount": "0.0",
"balance": "99710.04",
"roundDetails": null,
"memberId": 6638030,
"detailsUrl": "pragmaticplay"
}
]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

7.5 OpenHistory
Request path: POST /OpenHistory/
Using this method Casino Operator can get a link to the page with the game details at the end of the round. The method returns
URL that contains round id and a one-time password that the game server will use for validation of the request, for the security
reason.

Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
playerId Identifier of the player within the Casino Operator system. Required
roundId Unique identifier of the game round. Required
hash Hash code of the request. Required

Response parameters
Name Description
url URL for opening the game screen page.
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/HistoryAPI/OpenHistory/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&playerId=421&roundId=5108924498&hash=361527d01b040fd0c5fb68dcc204b707

Example of JSON response:


{
"error":"0",
"description": "OK",
"url":"[Link]
lzlALnwtoZygNWTMB7SqAApl8ERLysn7Xp26p0&playSessionId=5108924498"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

7.6 GetRoundStatus
Request path: POST /GetRoundStatus/
Method returns the current status of a particular game round. Using this method Casino Operator can check game rounds
recorded on their side and cancel open bets returning money to the player’s balance.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
roundId Id of the game round. Required
gameId Id of the game. Required
options List of settings (String). By including it, operator can get additional Optional
information about round. Possible values are:
 partialWinStatus

hash Hash code of the request. Required

Response parameters
Name Description
roundId Id of the game round.
betAmount Amount of the bet.
winAmount Amount of the winnings.
roundStatus Status of the game round. May have the following values:
o In progress – game round was started but not finished yet by the player
o Completed – game round has been completed by the player
o Canceled – game round has been closed automatically by the game round finalization
process
o CompleteInProcess – game round is marked as Completed in the db; BetResult or
EndRound requests is in asynchronous transaction queue and the system tries to send it
to Operator
o CancelInProcess – game round is marked as Canceled in the db; Refund is in
asynchronous queue and being sent to Operator.
o "Partial win" – status for rounds which were finalized by system with partial winning
(status will be sent in case when operator included partialWinStatus in options request
parameter)
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/HistoryAPI/GetRoundStatus/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&roundId=5108924498&gameId=vs50aladdin&hash=8567449f06333293030e8f80ec89d3fa

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of JSON response:


{
"description": "OK",
"roundId": 5108924498,
"betAmount": "0.0",
"winAmount": "0.0",
"roundStatus": "Canceled"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

7.7 OpenHistoryExtended
Request path: POST /OpenHistoryExtended/
Using this method Casino Operator can obtain detailed information about played game round, including free spin sessions.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
playerId Id of the player within the Operator system. Required
gameId Id of the game. Required
roundId Unique identifier of the game round. Required
language Language of report page Optional
hash Hash code of the request. Required

Response parameters
Name Description
url Report page URL.
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /IntegrationService/v3/http/HistoryAPI/OpenHistoryExtended/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&playerId=123123&gameId=vs7monkeys&roundId=111222&hash=5fd31717ba4-
da9e78ac19730212925c2

Example of JSON response:


{
"error": "0",
"description": "OK"
"url":"[Link] server domain}/gs2c/[Link]?
playSessionId=111222&stylename=username&hash=9cf3e7442c8ea5e95c22d123500ad56e"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

7.8 Error codes


The table below contains the error codes that the Pragmatic Play system will return in the response to Game History API
calls.
Code Description

0 Request was successfully processed.


1 Authentication failed. Incorrect secure login and secure password combination.
2 Request validation failed. Type mismatch for value.
4 Round not found. The requested roundId is not found in the system.
1000 Internal server error. Pragmatic Play will return this error code if their system has internal problem and
cannot process the request.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

VIII. Data feeds and reports


Data feeds let Casino Operator to download information about in-game money transactions for all game rounds played and
jackpot winnings.
In order to receive DataFeeds data for casino, Operator should follow the flow below:
1. Call /environments API method with relevant secureLogin identifier for casino
2. In response PragmaticPlay will return a list of environment and direct API domains (single or multiple environment
domains can be returned)
3. Operator should call DataFeeds API method from each Environment, using the relevant API domain
4. In case of multiple domains are returned in Environment API response, Operator should aggregate DataFeeds
received from different environments, on their side

Data of the feeds related to large number of records (like transactions) will be requested using time point and sent to the
Operator in CSV format.

For each API account, frequency of any particular "Data feeds and reports" method requests, should be not more
than one call per minute.

Also, the data can be extracted no later than the last month.

Any "Data feeds and reports" method should be requested only with dataType parameter value, which is
available for Operator. Available dataType values can be received from 2.1 2.1 GetCasinoGames method

Time points
Time point is a timestamp starting from the server time when data is requested for the first time. If the request is sent
without a time point, the system returns a time point, which should be sent with the next request.
Whenever a request with the time point is sent, data from the moment of timepoint to the current moment will be
transferred, along with the new time point. This new time point should be used for the next request, and so on.
Using such a mechanism, no data will be lost. If clients haven’t received response from the Pragmatic Play with the new time
point, they will be able to re-send the request with the same time point, until requested data is received.

Data can be loaded by small portions for periods of time not longer than 10 minutes.

Using timepoints for past periods


If Operator needs to get data for a longer period they can send a number of subsequent requests setting up a starting
timepoint and then using timepoints that the Pragmatic Play system returns in the response.
For example, if Operator needs to get data for the last N minutes, they can calculate the start date and time of the period as
Start = (“now” – N minutes), convert it into timestamp and send request to the Transactions API using this timestamp as a
time point. Server will return data for 10 minutes starting from the timestamp sent in the request, along with the new time
point. Using timepoints returned by the server and sending requests one after another Operator can get as many portions
of data as they need, to download data that are already in the past.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Data Feed URL

URL of the data feeds service will be provided by Pragmatic Play for the production and test environments and
looks like:

[Link] service domain}/IntegrationService/v3/DataFeeds/transactions/


[Link] service domain}/IntegrationService/v3/DataFeeds/failedtransactions/
[Link] service domain}/IntegrationService/v3/JackpotFeeds/jackpots/

And for Bingo it has to look like this:

[Link] API service domain}/BingoReports/DataFeeds/gamerounds/


[Link] API service domain}/BingoReports/JackpotFeeds/jackpots/

Data feeds service is securely protected, hence please be sure:


- player’s browser (end) must NOT be used as initiator of requests to the service;
- proper IPs are supplied to Pragmatic Play for whitelisting

Data formats
Data will be returned in CSV or JSON format. For more details please see the chapter where the data feed is described.
All successful server responses in CSV format will contain a new time point that should be sent then by the client to the
server in the next request. Format of the server response is as follows:
#timepoint = {server time in ms}
{Data in standard csv format}

Client should get the first line from the response, parse it and save the time point somewhere for the next request. The rest
of the response should be parsed as normal CSV stream.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Data types
Name Type Description
login String(30) API user name (secureLogin value) for authentication in the Pragmatic Play API.
password String(30) API password (secret key value) for authentication in the Pragmatic Play API.
timepoint Long Time point
dataType String(3) Type of portfolio, indicates which portfolio Data Feeds should be returned
Available options:
RNG - Main portfolio games (video slots, classic slots etc.)
LC - Live Casino portfolio
VSB - Virtual sports betting portfolio
BNG – Bingo portfolio (should be used for relevant API context path)
Important!
In cases where dataType is included in request, Data Feeds for relevant portfolio will be
returned only
When there is no dataType in request, will be returned Data Feeds for RNG only
playerID Number(15) Player unique identifier within Pragmatic Play system.
extPlayerID String(100) Player unique identifier within Casino Operator system.
gameID String(20) Symbolic unique identifier of the game provided by Pragmatic Play.
playSessionID Long Id of the player’s session for particular game (unique number of the game round).
parentSessionID Long Id of the play session, in which the feature was triggered (unique number of the
parent game round
startDate DateTime Date and time when the game round started.
endDate DateTime Date and time when the game round ended.
status String(1) Status of the game round, transaction or jackpot
type String(1) Type of the game round or transaction
bet Double(15,2) Bet amount.
win Double(15,2) Win amount.
currency String(3) Currency of the transaction, 3 letter ISO code.
jackpot Double(15,2) Jackpot win amount.
platform String(1) The platform type (channel) on which the game was played.
Possible values :
U - Unknown
W - WEB
M - Mobile
bonusCode String (100) Id of the Free Spins Bonus. Is applied for rounds, played with FSB
options String(100) List of settings

timestamp DateTime Date and time when the transaction is processed on the Pragmatic Play side.
referenceID String(100) Unique id for reference of this transaction on the Pragmatic Play side.
amount Double(15,2) Amount of the transaction.
betAmount Double(15,2) Amount of the bet.
winAmount Double(15,2) Amount of winning in current bet.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

roundDetails String(4000) Additional information about the current game round

jackpotID Number(15) Unique identifier of the Jackpot within Pragmatic Play system.
name String(100) Name of the Jackpot.
level String(1) Level of the Jackpot
games String(255) The list of the games participating in the Jackpot. It contains gameId (game symbols),
comma separated.
dateTime DateTime Date and time when the Jackpot was won.
totalRounds Integer Total number of game rounds
totalFreeSpinRounds Integer Total number of free spin rounds
totalBet Double(15,2) Total bet amount.
totalWin Double(15,2) Total win amount.
totalJackpot Double(15,2) Total Jackpot win amount.
totalPromo Double(15,2) Total amount of wins in Prize Drop campaigns
startTimepoint Long Starting Time point
(Unix epoch time in milliseconds, for example : 1619710210000)
endTimepoint Long Ending Time point
(Unix epoch time in milliseconds, for example : 1627486210000)
amountInPlayerCurrency Double(15,2) Amount in player’s currency
tier String(5) Jackpot tier
payoutStatus String(1) Status of the jackpot payout transaction. Possible values:
 I – In Progress (not finished yet)
 C – Completed
 M - Manual
winDate Long Date and time of Jackpot winning.
(Unix epoch time in milliseconds, for example : 1619710210000)
winType String(2) Jackpot winning type. Possible values:
 W – standard jackpot winning
 WC – community shared jackpot winning
 WN – non-progressive jackpot winning
playerCurrencySymbol String(3) Symbol of player’s currency
finalizedRoundsSeparated – show completed rounds with status 'C' and finilezed/cancelled (cancelled=1) rounds with
status 'F'
finalizedRoundsHidden – shows only completed rounds (exclude finalized/cancelled rounds)

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

8.1 Environment list


The Environment list feed provides information about all operator environment domains for the specified secure login.

Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports

Request parameters
Name Description
secureLogin User name for authentication in the Casino Game API service

hash Hash code of the request.

Response parameters (JSON)

Name Type Description


environments HealthPerEnvironment The list of environment objects for each secureLogin (see data type description below)

error String(10) 0 - if the request was successfully processed or error code in other case.

description String(250) Description of the error for troubleshooting purposes.

Type: HealthPerEnvironment

Name Type Description Status


envName String(30) Name of environment within SPE system Required

apiDomain String(250) Name of API service domain within SPE system Required

Example of HTTP request:


GET /IntegrationService/v3/http/SystemAPI/environments? secureLogin=ext_test1&hash=6a3081f6a5327b-
b0b5132f50965a5806 HTTP/1.1
Host: {specific server API service domain}
Cache-Control: no-cache

Example of response:
{
"error": "0",
"description": "OK",
"environments": [
{
"envName": "prerelease1",
"apiDomain": "[Link] "
},
{
"envName": "prerelease2",
"apiDomain": "[Link] "
}
]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

8.2 Game Rounds


Using this data feed Casino Operator can load information about all game rounds, including not finished ones that were
played during the period defined by time point, but not longer than 10 minutes.

Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports

There two options for getting game rounds data.


Request path: GET /DataFeeds/gamerounds/
Returns all game rounds including unfinished. Unfinished game rounds may appear in the feed twice – first when player
makes a bet and then when player gets a winning.
Request path: GET /DataFeeds/gamerounds/finished/
Returns only game rounds that were finished within the time interval. Each game rounds appears in the data feed only
once, after it is completed.
Request path: GET /DataFeeds/gamerounds/adjusted/
Returns only game rounds that were Adjusted within the time interval. Each game rounds appears in the data feed only it
was adjusted. Only for Live Casino portfolio.
Data will be returned in CSV format.
Request parameters
Name Description Status

login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required

password API password (secret key value) for authentication in the Pragmatic Play API. Required

timepoint Time point starting from which data will be transferred. If time point is empty, the new time point Optional
will be returned.
(Unix epoch time in milliseconds, for example : 1470926696715)
dataType Type of portfolio, indicates which portfolio Data Feeds should be returned Optional
In cases where dataType is included in request, Data Feeds for relevant portfolio will be returned only
When there is no dataType in request, will be returned Data Feeds for RNG only
options List of settings (String). By including it, operator can get additional information about round. Possible Optional
values are:
 addRoundDetails
 addBalance
 addBonusBetWin
 finalizedRoundsSeparated
 finalizedRoundsHidden

Response parameters (CSV)


Name Description Status

playerID Player unique identifier within Pragmatic Play system. Required

extPlayerID Player unique identifier within Casino Operator system. Required

gameID Symbolic unique identifier of the game provided by Pragmatic Play. Required

playSessionID Id of the player’s session for particular game (unique number of the game round). Required

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

parentSessionID Id of the play session, in which the feature was triggered (unique number of the parent Required
game round). This field will contain the same value as the playSessionID field for all
game rounds except free spins.
(Rows with free spins will contain the id of game round where they were triggered in the
parentSessionID field and id of the free spin round in the playSessionID field)

startDate Date and time when the game round started. Required
(Will be returned in yyyy-mm-dd HH:mm:ss format, for example: “2017-08-28
02:14:13”)
endDate Date and time when the game round ended. Will be null if the game round is not Required
finished yet.
(Will be returned in yyyy-mm-dd HH:mm:ss format, for example: “2017-08-28
02:14:13”)
status Status of the game round: Required
I – In Progress (not finished yet)
C – Completed
F – Canceled or finalized (only for /gamerounds/finished/ with
finalizedRoundsSeparated option)
type Type of the game round: Required
R – game round
F – free spin triggered during the game round

bet Bet amount. Required

win Win amount. Required

currency Currency of the transaction, 3 letter ISO code. Required

jackpot Jackpot win amount. Required

bonusBet Bonus bet amount. Optional

bonusWin Bonus win amount. Optional

platform The platform type (channel) on which the game was played. Optional
The field is optional and is not handled by the Pragmatic Play by default. In case Casino
Operator need this parameter to be applied, they should ask the Pragmatic Play’s
Technical Support for configuration.
Possible values :
U - Unknown
W - WEB
M - Mobile
bonusCode Id of the Free Spins Bonus. Is applied for rounds, played with FSB Optional
The field is optional and is not handled by the Pragmatic Play by default. In case Casino
Operator need this parameter to be applied, they should ask the Pragmatic Play’s Technical
Support for configuration.
roundDetails Provides additional info bets and result of the live casino games. Optional
This field is optional and will appear in response in cases where request contains
addRoundDetails in options list

Example:
"type:bets,desc:[{"c":"Even","a":"3.0"},{"c":"0G","a":"3.0"},{"c":"Red","a":"3.0"}]"
balance The balance value after the round has been processed by operator Optional

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

This field is optional and will appear in response in cases where request contains
addBalance in options list

To use this addBalance in current method , Operator should accept data type:
String(4000) for balance. It is also not handled by the Pragmatic Play by default. In case
Casino Operator need this parameter to be applied, they should ask the Pragmatic Play’s
Technical Support for configuration.

Example of HTTP request:


GET /IntegrationService/v3/DataFeeds/gamerounds/?
login=username&password=testKey&timepoint=1482510713000 HTTP/1.1
Host: {domain received from environments API}
Cache-Control: no-cache

Example of response:
timepoint=1618298161139
playerID,extPlayerID,gameID,playSessionID,parentSessionID,startDate,endDate,status,type,bet,win,cur
rency,jackpot,bonusCode,bonusBet,bonusWin
531288,889325,vs20magicpot,50994065,50994064,2021-04-13 07:06:18,2021-04-13
07:06:18,C,F,0.00,0.00,EUR,0.00,null,0.00,0.00
531288,889325,vs20magicpot,50994066,50994064,2021-04-13 07:06:25,2021-04-13
07:06:25,C,F,0.00,0.00,EUR,0.00,null,0.00,0.00
531288,889325,vs20magicpot,50994067,50994064,2021-04-13 07:06:28,2021-04-13
07:06:28,C,F,0.00,0.00,EUR,0.00,null,0.00,0.00
531288,889325,vs20magicpot,50994073,50994064,2021-04-13 07:06:47,2021-04-13
07:06:47,C,F,0.00,0.00,EUR,0.00,null,0.00,0.00
531288,889325,vs20magicpot,50994068,50994064,2021-04-13 07:06:31,2021-04-13
07:06:31,C,F,0.00,0.00,EUR,0.00,null,0.00,0.00

Example of response with live casino roundDetails:


timepoint=1629886017636
playerID,extPlayerID,gameID,playSessionID,parentSessionID,startDate,endDate,status,type,bet,win,cur
rency,jackpot,roundDetails
1550741378897,417,401,20192920608,null,2021-08-25 10:02:42,2021-08-25
10:02:51,C,R,50.00,100.00,USD,0.00,"type:bets,desc:[{"c":"Even","a":"3.0"},{"c":"0G","a":"3.0"},
{"c":"Red","a":"3.0"}]"

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

8.3 In-game transactions


Request path: GET /DataFeeds/transactions/
Using this data feed Casino Operator can load money transactions for all game rounds that were played during the period
defined by time point, but not longer than 10 minutes. Data will be returned in CSV format.

Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports

Request parameters
Name Description Status

login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required

password API password (secret key value) for authentication in the Pragmatic Play API. Required

timepoint Time point starting from which data will be transferred. If time point is empty, the new time point will Optional
be returned.
(Unix epoch time in milliseconds, for example : 1470926696715)
dataType Type of portfolio, indicates which portfolio Data Feeds should be returned Optional
In cases where dataType is included in request, Data Feeds for relevant portfolio will be returned only
When there is no dataType in request, will be returned Data Feeds for RNG only
options List of settings. By including it, operator can get additional information about transaction. Possible Optional
values are:
 addTransactionStatus
 addJPContributionAmount
 onlyPromoWins – only wins in PrizeDrops campaigns will be returned.

*If a request has an onlyPromoWins option, the response should contain only transactions
with type = P (win in promotional campaign).

Response parameters (CSV)


Name Description Status

playerID Player unique identifier within Pragmatic Play system. Required

extPlayerID Player unique identifier within Casino Operator system. Required

gameID Symbolic unique identifier of the game provided by Pragmatic Play. Required

playSessionID Id of the player’s session for particular game (unique number of the game round). Required

timestamp Date and time when the transaction is processed on the Pragmatic Play side. Required
(Unix epoch time in milliseconds, for example : 1470926696715)
referenceID Unique id for reference of this transaction on the Pragmatic Play side. Required

type Type of the transaction: Required


B – player made a bet
W – player won
V – Partial win transaction (closes the round)
L – Cancel bet transaction (for finalized rounds)
R – refund transaction
J – Player won Jackpot

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

P – Win in promotional campaign

amount Amount of the transaction. Required

currency Currency of the transaction, 3 letter ISO code. Required

contributionAmount The amount of contribution for round that takes part in the Jackpot Optional

This field is optional and will appear in response in cases where request contains
addJPContributionAmount in options list
status Current status of transaction. Possible values are: Optional
S – success
L – canceled
R – refunded
This field is optional and will appear in response in cases where request contains addTransactionStatus in
options list

Example of HTTP request:


GET /IntegrationService/v3/DataFeeds/transactions/?
login=username&password=testKey&timepoint=1482510713000&options=addTransactionStatus HTTP/1.1
Host: {domain received from environments API}
Cache-Control: no-cache

Example of response:
timepoint=1482510809258
playerID,extPlayerID,gameID,playSessionID,timestamp,referenceID,type,amount,currency,status
6638030,421,vs50aladdin,5111126041,1482510741000,585d5195f89c56f5ed95012e,B,2.50,USD,S
6638030,421,vs50aladdin,5111126041,1482510742000,585d5196f89c56f5ed950159,W,0.50,USD,S
6638030,421,vs50aladdin,5111126590,1482510745000,585d5199f89c56f5ed950344,B,2.50,USD,S
6638030,421,vs50aladdin,5111127141,1482510748000,585d519cf89c56f5ed95054e,B,2.50,USD,S

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

8.4 Failed Transactions


Request path: GET /DataFeeds/failedtransactions/
Feed for getting Refund and BetResult/Result transactions which weren’t processed even during asynchronous sending.

Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports

Request parameters
Name Description Status

login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required

password API password (secret key value) for authentication in the Pragmatic Play API. Required

timepoint Timepoint starting from which data will be transferred. If timepoint is empty, the new timepoint will Optional
be returned.
(Unix epoch time in milliseconds, for example : 1470926696715)

Response parameters (CSV)


Name Description Status
playerID Player unique identifier within Pragmatic Play system. Required

extPlayerID Player unique identifier within Casino Operator system. Required

gameID Symbolic unique identifier of the game within the Pragmatic Play system. Example: Required
vs25queenofgold, vs50aladdin, cs5triple8gold, bjma, rla, vpa
The list of available games may be obtained by Casino Operator by calling GetCasinoGames method
of CasinoGameAPI HTTP service.

playSessionID Id of the player’s session for particular game (unique number of the game round). Required

referenceID Unique id for reference of this transaction on the Pragmatic Play side. Required

betAmount Amount of the bet. Required

winAmount Amount of winning in current bet. Required

timestamp Date and time when the transaction is processed on the Pragmatic Play side. Required

(Unix epoch time in milliseconds, for example : 1470926696715)

roundDetails Additional information about the current game round, comma separated. Required
Example: “spin,bonus”

Example of HTTP request:


GET /IntegrationService/v3/DataFeeds/failedtransactions/? login=username&password=testKey&time-
point=1482510713000 HTTP/1.1
Host: {domain received from environments API}
Cache-Control: no-cache

Example of response:
timepoint=1482510979767
playerID,extPlayerID,referenceID,gameID,playSessionID,betAmount,winAmount,timestamp,roundDetails

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

8.5 Active Jackpots (replacement of previous version)


Request path: GET /JackpotFeeds/extended/jackpots
Active Jackpots feed provides information about open jackpots and their open tiers (progressive) per casino brand.
Operator will get in the response a list of the open jackpots including detailed info about their open/active (not won) tiers in
JSON format. Information about non-progressive (multiplier) tiers is not displayed in this feed.

Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports

Important: In case there are no ative jackpots according to the given criteria, an empty list is returned in the re -
sponse.

Request parameters
Name Description Status
login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required

currency ISO-4217 code currency. Currency for JP amounts returned in feed. If missed, then amounts are Optional
returned in in the main jackpot currency.

hash Hash code of the request. Required

Response parameters (JSON)

Name Description Status


mainJackpotID Unique identifier (parent/main) of the Jackpot within Pragmatic Play system. Required

name Name of the Jackpot. Required


level Level of the Jackpot: Required
 G – Global Jackpot
 N – Network jackpot,
 O– Jackpot for particular Operation
 B – Jackpot for particular casino Brand
games The list of the games participating in the Jackpot. It contains gameId (game symbols), comma Required
separated.
Example: vs25safari_jp,vs30catz_jp,vs7monkeys_jp
status Current status of the Jackpot. Possible values: Required
A – Active
S – Shutdowned
tiersNumber Parameter indicating the total number of progressive tiers (active and won) configured for a Required
Jackpot. For Single-tier jackpots the value “1” will be specified. The non-progressive tier should
NOT be included.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Type: Tiers
This list displays information only for active/open (not won) progressive tiers. Information about non-progressive
(multiplier) tiers is not displayed in the list.
Name Description Status

jackpotTierID Unique identifier of the Jackpot Tier within the Pragmatic Play system. Required

tier Jackpot tier name identifier. The tier index (0 - 3) that operator receives in API should be Required
mapped with the appropriate tier in the game:
0 – the 1st tier (the lowest).
1 – the 2nd tier.
2 – the 3rd tier,
3 – the 4th tier (the highest).
amount Jackpot fund (for specific tier) for the moment of request, in USD by default. Or values can be Required
returned in the requested currency.

Example of HTTP request:


GET /IntegrationService/v3/JackpotFeeds/extended/jackpots/?
login=username&hash=67ea77ad83ce1c153f73cddaeee2c577 HTTP/1.1
Host: {domain received from environments API}
Cache-Control: no-cache
Example of JSON response (multiple-tiers):
{
"jackpots": [
{
"mainJackpotID": 459,
"name": "test_name",
"level": "B",
"games": "vsprg20doghouse",
"status": "A",
"tiersNumber": 4,
"tiers":[
{
"jackpotTierID": 459,
" tier": 0,
"amount": 10 },
....
{
"jackpotTierID": 460,
" tier": 1,
"amount": 200 }]}
],
"error": "0",
"description": "OK"
}
Example of JSON response (single-tier):
{
"jackpots": [
{
"mainJackpotID": 459,
"name": " test_name_2",
"level": "B",
"games": "vsprg20doghouse",
"status": "A",
"tiersNumber": 1,
"tiers":[
{
"jackpotTierID": 459,
" tier": 0,
"amount": 10 }]}
],
"error": "0",

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"description": "OK"
}

In case there are no active jackpots :

{"winners": [],
"error": "0",
"description": "OK"}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

8.6 Jackpot Winners (replacement of previous version)


Request path: GET /JackpotFeeds/extended/winners
The Jackpot Winners feed provides information about jackpot winnings including progressive jackpot wins and community
share part. An operator will get in the response a list of the winners in JSON format.

Maximal period of Jackpot Winners DataFeeds for which data can be transferred is not more than 30 days

Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports

Request parameters
Name Description Status
login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required

startTimepoint Starting Time point for transferring data period Required


(Unix epoch time in milliseconds, for example : 1619710210000)
endTimepoint Ending Time point for transferring data period Required
(Unix epoch time in milliseconds, for example : 1627486210000)

hash Hash code of the request. Required

Response parameters (JSON)


Name Type Description

winners List List of Jackpot winners during requested period. See below Winners type description of the
objects in the list
error String Error code
description String Description of the error for troubleshooting

Type: Winners
Name Description Status
jackpotTierID Unique identifier of the Jackpot Tier within the Pragmatic Play system. Required
extPlayerID Player unique identifier within Casino Operator system. Required
winAmount Won jackpot amount in player’s currency. Required

winDate Date and time of Jackpot winning. For community part it is the date and time for Required
creating transaction
(Unix epoch time in milliseconds, for example : 1619710210000)
winType Jackpot winning type. Possible values: Required
 W – standard jackpot winning
 WC – community shared jackpot winning
 NW – non-progressive jackpot winning
playSessionID Unique number of the play session (game round) in which Jackpot was won Optional
Optional, is used optional standard jackpot wins
currency Currency of the player. Required

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of HTTP request:


GET /IntegrationService/v3/JackpotFeeds/extended/winners/?
login=username&hash=67ea77ad83ce1c153f73cddaeee2c577&startTimepoint=1619710210000&endTimepoint=1627
486210000 HTTP/1.1
Host: {domain received from environments API}
Cache-Control: no-cache

Example of JSON response:


{
"winners": [
{
"jackpotTierID": 3924,
"extPlayerID": "459",
"winAmount": 8.60,
"winDate": 1620890276322,
"winType": "W",
"playSessionID": 10293633659602,
"currency": "USD"
},
....
{
"jackpotTierID": 3925,
"extPlayerID": "460",
"winAmount": 15,
"winDate": 1620890648909,
"winType": "NW",
"playSessionID": 10293686600602,
"currency": "USD"
}

],
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

8.7 Jackpot Winnings


Request path: GET /JackpotFeeds/extended/winnings
Jackpot Winnings feed provides information on jackpot winnings for each active jackpot tier for the entire jackpot lifetime,
indicating the total number of winnings, as well as the amount and winner of the largest and last winnings.

Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports

Request parameters
Name Description Status
login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required
mainJackpotID Unique identifier (parent/main) of the Jackpot within the Pragmatic Play system. Required

currency ISO-4217 code currency. Currency for JP amounts returned in feed. If missed, then amounts are Optional
returned in the main jackpot currency.
hash Hash code of the request. Required

Response parameters (JSON)


Name Type Description

name String Name of the Jackpot.

tiers List List of tier objects for transferring details for tiers. See below (tiers type) the description of
the objects in the list.
error String Error code

description String Description of the error for troubleshooting

Type: tiers
Name Type Description Status

jackpotTierID String Unique identifier of the Jackpot Tier within the Pragmatic Play system. Required
Jackpot tier name identifier. The tier index (0 - 3) that the operator receives in
API should be mapped with the appropriate tier in the game:
tier Number  0 – the 1st tier (the lowest) Required
 1 – the 2nd tier
 2 – the 3rd tier
 3 – the 4th tier (the highest).
numberOfWins Number Number of times the jackpot tier was won during the jackpot tier lifetime. Required
biggestWin Set of biggest win parameters. See below (biggestWin type) parameters
Array Required
description.
lastWin Array Set of last win parameters. See below (lastWin type) parameters description. Required

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Type: biggestWin
Name Type Description Status
Date and time of the biggest win in the jackpot tier lifetime. (Will be
winDate Number Required
returned as timestamp in milliseconds).

winAmount Number(15,2) Amount of the biggest win in the jackpot tier lifetime. Required
Identifier of the player (within the Casino Operator system) who won the
extPlayerID String biggest win within the jackpot tier. Is returned only if the player belongs to Optional
the Casino that sends the request.
maskedExtPlayerID Identifier of the player (within the Casino Operator system) who won the
String Required
biggest win within the jackpot tier. Is returned in masked view.

Type: lastWin
Name Type Description Status
Date and time of the last win in the jackpot tier lifetime. (Will be returned
winDate Number Required
as timestamp in milliseconds).

winAmount Number(15,2) Amount of the last win in the jackpot tier. Required
Identifier of the player (within the Casino Operator system) who won the
extPlayerID String last win within the jackpot tier. Is returned only if the player belongs to the Optional
Casino that sends the request.
maskedExtPlayerID Identifier of the player (within the Casino Operator system) who won the
String Required
last win within the jackpot tier. Is returned in masked view.

Example of HTTP request:


GET /IntegrationService/v3/JackpotFeeds/extended/winnings?login=username&currency=EUR&mainJack-
potID=1234&hash=fc7c18fddb167b6e7f781e49a4949481 HTTP/1.1
Host: {domain received from environments API}
Cache-Control: no-cache

Example of JSON response:


{
"error": 0,
"description": "OK",
"name": "Test Jackpot",
"tiers":
[
{
"jackpotTierID": 459,
"tier": 0,
"numberOfWins": 54,
"biggestWin":
{
"winDate": 1689404434,
"winAmount": 50.00,
"extPlayerID": "external-player-idxx",
"maskedExtPlayerID": "**t**na*-**ay*r-id**"
},
"lastWin":
{
"winDate": 1706261434,
"winAmount": 20.00,
"maskedExtPlayerID": "**t*r**l-**a*er*i*xx"
}
},
...

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

{
"jackpotTierID": 462,
"tier": 3,
"numberOfWins": 7,
"biggestWin":
{
"winDate": 1693645174,
"winAmount": 200000.00,
"maskedExtPlayerID": "***t**na*-**ay*r-id**"
},
"lastWin":
{
"winDate": 1693645174,
"winAmount": 200000.00,
"maskedExtPlayerID": "***t**na*-**ay*r-id**"
}
}
]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

8.8 Daily Totals


Request path: GET /DataFeeds/totals/daily/
Daily Totals API provides aggregated data grouped by currency for every day from a certain period. Operator can use this
method for cross checking their data. Only completed game rounds are included in the response. If a game round was
started in one day and finished in another day, its results will be included in the daily totals for the day it was finished.
Data will be returned in JSON format.

Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports

Since the results of this API are based on daily totals for the day it was finished, make sure that the same setting is
applied in the back-office report so it could be compared correctly. If the setting is absent, then refer to the back-
office user guide to determine the exact type of aggregation for the specific report.

Request parameters
Name Description Status

login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required

password API password (secret key value) for authentication in the Pragmatic Play API. Required

startDate Start date and time of the period for which the data should be loaded Required

endDate End date and time of the period for which the data should be loaded Required

dataType Type of portfolio, indicates which portfolio Data Feeds should be returned Optional
In cases where dataType is included in request, Data Feeds for relevant portfolio will be
returned only
When there is no dataType in request, will be returned Data Feeds for RNG only
options List of settings. By including it, operator can get additional totals. Optional
Possible values are:
• addTotalPromo – for Prize Drop wins

Response parameters (JSON)


Name Description Status

totalRounds Total number of game rounds completed during the reporting period, including in-game free Required
spin rounds and Free Spins Bonus / Free Chips rounds.
totalFreeSpinRounds Total number of in-game free spin rounds completed during reporting period Required

totalBet Total bet amount. Required

totalWin Total win amount. Required

totalJackpot Total Jackpot win amount. Required

totalPromo Total amount of wins in Prize Drop campaigns. Optional


This field is optional and will appear in response in cases where request contains addTotalPromo in
options list
currency Currency, 3 letter ISO code. Required

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of HTTP request:


GET /IntegrationService/v3/DataFeeds/totals/daily/?login=username&password=testKey&startDate=2018-
05-21 00:00:00&endDate=2018-05-22 00:00:00&options=addTotalPromo
23:59:59 HTTP/1.1
Host: {domain received from environments API}
Cache-Control: no-cache

Example of JSON response:


{ "error": "0",
"description": "OK",
"data": [

{
"totalRounds": 48,
"totalFreeSpinRounds": 10,
"totalBet": 48,
"totalWin": 92.68,
"totalJackpot": 0,
"totalPromo": 0,
"currency": "RMB"
}
]}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

8.9 Player’s Incomplete Rounds


Request path: GET /DataFeeds/gamerounds/incomplete/
This report returns all the game rounds that were started by a certain player but not completed yet.
Data will be returned in JSON format.

Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports

Request parameters
Name Description Status

login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required

password API password (secret key value) for authentication in the Pragmatic Play API. Required

playerId Id of the player within the Casino Operator’s system. Required

dataType Type of portfolio, indicates which portfolio Data Feeds should be returned Optional
In cases where dataType is included in request, Data Feeds for relevant portfolio will be returned
only
When there is no dataType in request, will be returned Data Feeds for RNG only

Response parameters (JSON)


Name Description Status

playerId Id of the player within the Casino Operator’s system. Required

gameId Id of the game. Required

playSessionID Id of the player’s session for particular game (unique number of the game round). Required

betAmount Bet amount. Required

Example of HTTP request:


GET /IntegrationService/v3/DataFeeds/gamerounds/incomplete/? login=username&password=testKey&play-
erId= bobtest HTTP/1.1
Host: {domain received from environments API}
Cache-Control: no-cache

Example of JSON response:


{
"error": "0",
"description": "OK",
"playerId": "bobtest",
"data": [
{
"gameId": "vs50aladdin",
"playSessionID": "2352191424",
"betAmount": 10.00
},
{
"gameId": "vs20bl",
"playSessionID": "23521914534",
"betAmount": 20.00
},
{
"gameId": "vs20cm",

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"playSessionID": "2352191665",
"betAmount": 30.00 }
]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

8.10 Canceled Rounds


Request path: GET /DataFeeds/gamerounds/canceled/
This report returns all the game rounds that were canceled.
Data will be returned in CSV format.

Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports

Request parameters
Name Description Status

login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required

password API password (secret key value) for authentication in the Pragmatic Play API. Required

timepoint Timepoint starting from which data will be transferred. If timepoint is empty, the new timepoint Optional
will be returned.
(Unix epoch time in milliseconds, for example : 1470926696715)
options List of settings. By including it, operator can get only partial win rounds. Optional
Possible values are:
• onlyPartialWin – for return only rounds with partial win.
• addBonusBetWin – for returns bonus part of the bet and win.

Response parameters (CSV)


Name Description Status

playerID Player unique identifier within Pragmatic Play system. Required

extPlayerID Player unique identifier within Casino Operator system. Required

gameID Symbolic unique identifier of the game provided by Pragmatic Play. Required

playSessionID Id of the player’s session for particular game (unique number of the game round). Required

parentSessionID Id of the play session, in which the feature was triggered (unique number of the parent Required
game round). This field will contain the same value as the playSessionID field for all game
rounds except free spins.
(Rows with free spins will contain the id of game round where they were triggered in the
parentSessionID field and id of the free spin round in the playSessionID field)

startDate Date and time when the game round started. Required
(Will be returned in yyyy-mm-dd HH:mm:ss format, for example: “2017-08-28 02:14:13”)
endDate Date and time when the game round ended. Will be null if the game round is not finished Required
yet.
(Will be returned in yyyy-mm-dd HH:mm:ss format, for example: “2017-08-28 02:14:13”)
status Status of the game round: Required
I – In Progress (not finished yet)
C – Completed
type Type of the game round: Required
R – game round
F – free spin triggered during the game round

bet Bet amount. Required

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

win Win amount. Required

currency Currency of the transaction, 3 letter ISO code. Required

jackpot Jackpot win amount. Required

bonusBet Bonus bet amount. Optional

bonusWin Bonus win amount. Optional

Example of HTTP request:


GET /IntegrationService/v3/DataFeeds/gamerounds/canceled/? login=username&password=testKey&time-
point=1482510713000 HTTP/1.1
Host: {domain received from environments API}
Cache-Control: no-cache

Example of response:
timepoint=1618298161139
playerID,extPlayerID,gameID,playSessionID,parentSessionID,startDate,endDate,status,type,bet,win,cur
rency,jackpot,bonusBet,bonusWin
531288,889325,vs20magicpot,50994065,50994064,2021-04-13 07:06:18,2021-04-13
07:06:18,C,F,0.00,0.00,EUR,0.00,null,W,0.00,0.00
531288,889325,vs20magicpot,50994066,50994064,2021-04-13 07:06:25,2021-04-13
07:06:25,C,F,0.00,0.00,EUR,0.00,null,W,0.00,0.00
531288,889325,vs20magicpot,50994067,50994064,2021-04-13 07:06:28,2021-04-13
07:06:28,C,F,0.00,0.00,EUR,0.00,null,W,0.00,0.00
531288,889325,vs20magicpot,50994068,50994064,2021-04-13 07:06:31,2021-04-13
07:06:31,C,F,0.00,0.00,EUR,0.00,null,W,0.00,0.00
531288,889325,vs20magicpot,50994069,50994064,2021-04-13 07:06:34,2021-04-13
07:06:34,C,F,0.00,0.00,EUR,0.00,null,W,0.00,0.00

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

IX. Promotions API


Tournament API allows operators to set up an automated procedures related to Pragmatic tournaments.

For Global tournaments, all tournament winners will be returned in response.


But only playerIds belonging to the operator, will be included in response, playerIds of other operators will not
be included in the response.

9.1 Tournament Winners


Request path: GET /tournaments/winners/
This API method returns winners for all RNG and Live casino tournaments that were closed during requested period of
time. The period between the requested start and end date should not be longer than 31 days.
Data will be returned in JSON format.

Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports

Recommendations for API request frequency limits:


It is recommended that the casino operator use this API method no more often than one request per 60 minutes
with an interval of at least 60 minutes between the startDate and the endDate.

Request parameters
Name Type Description Status

login String(30) API user name (secureLogin value) for authentication in the Pragmatic Required
Play API.

password String(30) API password (secret key value) for authentication in the Pragmatic Play Required
API.

startDate Date Start date of the period for which the data should be loaded. Required
Date and time in the format yyyy-MM-dd HH:mm:ss.
endDate Date End date of the period for which the data should be loaded. Required
Date and time in the format yyyy-MM-dd HH:mm:ss.
options String List of settings. By including it, operator can get additional information Optional
about tournament. Possible values are:
 addWinTime

Response parameters (JSON)


Name Type Description

tournaments List List of tournaments that were closed during requested period. See below
Tournament type description of the objects in the list
error String Error code
description String Description of the error for troubleshooting

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Type: Tournament
Name Type Description

tournamentID Number(15) Id of the tournament

name String Name of the tournament

dateOpened Date Date and time when the tournament started.


Date and time in the format yyyy-MM-dd HH:mm:ss.

dateClosed Date Date and time when the tournament was finished.
Date and time in the format yyyy-MM-dd HH:mm:ss.
winners List Tournament winners – the list of top players that were awarded with tournament
prizes. See below “Tournament Winner” type description of the objects in the list

Type: Tournament Winner


Name Type Description

playerID String Id of the player within the operator’s system.

tournamentPlayerID Number(15) Player’s id within the tournament

position Number(5) Rank of the player in the tournament

score Number(15) Score of the player

prizeGift String Gift, which the player will receive as a prize. This field is optional and will appear
only if prizeAmount, prizeCoins, prizeCurrency fields are not present in the
response.
prizeAmount Number(15,2) Prize amount that the player is awarded with.
The field is optional and will appear only if there is no prizeGift field in the response.
Please note, that prizeAmount, prizeCoins, prizeCurrency should appear together.
prizeCoins Number(15) Prize amount in coins.
The field is optional and will appear only if there is no prizeGift field in the response.
Please note, that prizeAmount, prizeCoins, prizeCurrency should appear together.
prizeCurrency String Currency code for prize amount.
The field is optional and will appear only if there is no prizeGift field in the response.
Please note, that prizeAmount, prizeCoins, prizeCurrency should appear together.
winEventTime Date Date and time of the player’s win event.
This field is optional and will appear in response in cases where request contains
addWinTime in options list.

Example of HTTP request:


GET /IntegrationService/v3/http/tournaments/winners/?login=username&password=testKey&startDate=
2018-01-20 11:00:00&endDate=2018-01-20 12:00:00&options=addWinTime HTTP/1.1
Host: {domain received from environments API}
Cache-Control: no-cache

Example of JSON response:


{
"error" : 0,
"description" : "OK",
"tournaments" : [ {
"tournamentID" : 10,
"name" : "Super tournament",
"dateOpened" : 2018-01-18 10:00:00,
"dateClosed" : 2018-01-20 11:30:00,
"winners" : [ {
"playerID" : "extid-0",

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"tournamentPlayerID" : 20,
"position" : 1,
"score" : 100000,
"prizeAmount" : 1000.00,
"prizeCoins" : 20.0,
"prizeCurrency" : "USD",
"winEventTime" : "2018-01-18 12:30:00"

},
{
"playerID" : "extid-3",
"tournamentPlayerID" : 24,
"position" : 2,
"score" : 99667,
"prizeAmount" : 500.0,
"prizeCoins" : 10.0,
"prizeCurrency" : "USD",
"winEventTime" : "2018-01-20 08:33:00"

}]
} ]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

9.2 Tournament Active


Request path: GET/tournaments/active
This API method returns a list of current (in 'Started' status) tournaments as of a certain date. The operator will get the list
of tournaments, including detailed information about each one, in JSON format.

Recommendations for API request frequency limits:


It is recommended that the casino operator use this API method no more often than one request per 30 minutes.

Request parameters
Name Type Description Status
secureLogin String API user name (secureLogin value) for authentication in Pragmatic Play API. Required
hash String Hash code of request. Required
currencies String ISO-4217 code currency. Currencies for prize pool and limits returned in feed. Optional
If this parameter is missed in request, then amounts are returned in the main
tournament currency.
dataType String Product vertical for which promotion is created. Available values are: Optional
1. RNG – Slots & More games.
2. LC – Live Games.
If missed, tournaments for all products are returned.
activityDate Date Date in the format 'yyyy-MM-dd' for which active tournaments should be Optional
returned. This is the date on which these tournaments were/will be active.
If the activityDate parameter is specified and this value is in the past, this date
should not be earlier than 31 days from the current date (date of sending the
request).
If this parameter is missed, the response will contain the list of tournaments
that are/were in Started status on the date when the request is sent (even if
the tournament end date is on that day and the tournament has already
ended at the time the request is sent).

Response parameters (JSON)


Name Type Description
tournamentsList List List of active tournaments in which the casino participates. Description of objects in the list
see below (tournamentsList type).
error String Error code.
description String Description of the error for troubleshooting.

Type: tournamentsList
Name Type Description
tournamentID Number Tournament ID.
name String Name of the tournament (EN version).
dataType String Product vertical for which this promotion is created. Available values are:

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

3. RNG – Slots & More games.


4. LC – Live Games.
level String Promotion level. Available values are:
5. B - Bespoke,
6. N - Network.
startDate Date Date and time when the tournament starts.
Date and time in the format yyyy-MM-dd HH:mm:ss.
endDate Date Date and time when the tournament ends.
Date and time in the format yyyy-MM-dd HH:mm:ss.
prizePoolList List List of Tournament total prize pool in different currencies (according to those
specified in request). Includes just fixed prizes, without prizes with bet multiplier.
Description of objects in the list see below (prizePoolList type).
numberOfPrizes Number Number of prizes in the Tournament.
minBetList List Minimal bet to participate in the Tournament. Is sent in different currencies
(according to those specified in request). Description of objects in the list see
below (minBetList type).
minRounds Number Minimal number of rounds to participate in the Tournament. Is returned if it’s
configured in the Tournament.
minWageredAmountList List Minimal total bet amount required for the players to participate in the
tournament.
The scoring starts after the qualification is reached. Is returned if it’s configured in
the Tournament
games String List of the games participating in the tournament. It contains gameId (game
symbols), comma separated.
Example: "vs20cricksugar", "vs20olymp12gate", "vs20fruitsw188".

Type: prizePoolsList
Name Type Description
currency String Symbolic code of currency.
Example: “USD”, “EUR”.
amount Number(15,2) Prize pool amount.

Type: minWageredAmountList
Name Type Description
currency String Symbolic code of currency.
Example: “USD”, “EUR”.
amount Number(15,2) Minimal wagered amount.

Example of HTTP request:


GET /IntegrationService/v3/http/tournaments/active/?
secureLogin=username&currencies=USD,EUR&dataType=RNG&activityDate=2023-12-14&hash=8a4cf1f664aed-
c6e9c4d99e95cbd53a3 HTTP/1.1
Host: [Link]
Cache-Control: no-cache

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of JSON response:


{
"error" : 0,
"description" : "OK",
"tournamentsList" : [ {
"tournamentID" : 10,
"name" : "Super tournament",
"dataType" : "RNG",
"level" : "N",
"startDate" : 2023-12-10 10:00:00,
"endDate" : 2023-12-20 11:30:00,
"prizePoolList" : [
{
"currency": "USD",
"amount": 20000.00
},
{
"currency": "EUR",
"amount": 17902.10
}
],
"numberOfPrizes" : 100,
"minBetList" : [
{
"currency": "USD",
"amount": 2.00
},
{
"currency": "EUR",
"amount": 1.80
}
],
"minRounds" : 10,
"minWageredAmountList" : [
{
"currency": "USD",
"amount": 20.00
},
{
"currency": "EUR",
"amount": 18.00
}
],
"games" : ["vs20cricksugar", "vs20olymp12gate", "vs20fruitsw188"]
},
{
"tournamentID" : 11,
"name" : "Super tournament 2",
"dataType" : "RNG",
"level" : "B",
"startDate" : 2023-12-11 12:00:00,
"endDate" : 2023-12-15 12:00:00,
"prizePoolList" : [
{
"currency": "USD",
"amount": 20000.00
},
{
"currency": "EUR",
"amount": 20000.00
}
],
"numberOfPrizes" : 100,
"minBetList" : [
{
"currency": "USD",
"amount": 2.00
},
{
"currency": "EUR",

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"amount": 2.00
}
],
"minRounds" : 10,
"minWageredAmountList" : [
{
"currency": "USD".
"amount": 20000.00
},
{
"currency": "EUR",
"amount": 2.00
}
],
"games" : ["vs20cricksugar", "vs20olymp12gate", "vs20fruitsw188"]
}]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

9.3 Tournament Prizes


Request path: GET/tournaments/prizes

This API method returns a list of prizes for a specific tournament in JSON format.

Recommendations for API request frequency limits:


It is recommended that the casino operator request this method once for each tournament ID, as the returned
data does not change.
It is also recommended to use this API method for different tournament IDs no more often than one request per
30 minutes.

The list of prizes can only be retrieved for prize drops whose status is either ‘Activated’, ‘Started’ or ‘Closed’, but
only if they ended no more than 31 days ago.

Request parameters
Name Type Description Status
secureLogin String API user name (secureLogin value) for authentication in Pragmatic Required
Play API.
hash String Hash code of request. Required
tournamentID Number ID of the tournament for which prizes will be received. Required
currencies String ISO-4217 code currency. Currencies for amounts returned in feed. Optional
If this parameter is missed in the request, then amounts are returned
in the main tournament currency.

Response parameters (JSON)


Name Type Description
error String Error code.
description String Description of the error for troubleshooting.
prizeList List List of prizes configured for the tournament.

Type: prizeList
Name Type Description
positionFrom Number Starting position in the leaderboard position interval for which this prize is
awarded.
positionTo Number Ending position in the leaderboard position interval for which this prize is awarded.
prizeType String Gift that players (from the specific leaderboard position interval) will receive as the
prize. Available values are:
7. Fixed Prize Amount,
8. Text Prize,
9. Bet Multiplier,
10. Free Spins,
11. Countdown FS,

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

12. Instant Bonus.


amountInCurrencyList List Prize amount that players within the ‘Fixed Prize Amount’ prize type will receive.
This field is optional and will appear only if prizeType is ‘Fixed Prize Amount’.
text String Gift in the form of text gift that players within the ‘Text Prize’ prize type will
receive. This field is optional and will appear only if prizeType is ‘Text Prize’.
multiplier Number Gift in the form of bet multiplier that players within the ‘Bet Multiplier’ prize type
will receive. This field is optional and will appear only if prizeType is ‘Bet
Multiplier’.
spinsNumber Number Gift in the form of free spins that players within the ‘Free Spins’ prize type will
receive. This field is optional and will appear only if prizeType is ‘Free Spins’.
seconds Number Gift in the form of Countdown Free Spins Bonuses that players within the
‘Countdown FS’ prize type will receive. This field is optional and will appear only if
prizeType is ‘Countdown FS’.

Type: amountInCurrencyList
Name Type Description
currency String Symbolic code of currency.
Example: “USD”, “EUR”.
amount Number(15,2 Prize amount (converted from coins) players within the Fixed Prize Amount prize
) type will receive.

Example of HTTP request:


GET /IntegrationService/v3/http/tournaments/prizes/?secureLogin=username&tournamentID=10&curren-
cies=USD,EUR&hash=183855d03e4b4fc666f4963e4966173c HTTP/1.1
Host: [Link]
Cache-Control: no-cache

Example of JSON response:


{
"error" : 0,
"description" : "OK",
"prizeList" : [ {
"positionFrom" : 1,
"positionTo" : 5,
"prizeType" : "Fixed Prize Amount",
"amountInCurrencyList" : [
{
"currency": "USD",
"amount": 1000.00
},
{
"currency": "EUR",
"amount": 1000.00
}
],
},
{
"positionFrom" : 6,
"positionTo" : 10,
"prizeType" : "Text Prize",
"text" : "iPhone 15 Pro Max 256Gb"
},
{
"positionFrom" : 11,
"positionTo" : 15,
"prizeType" : "Bet Multiplier",
"multiplier" : 10,

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

},
{
"positionFrom" : 16,
"positionTo" : 20,
"prizeType" : "Free Spins",
"spinsNumber" : 5
},
{
"positionFrom" : 21,
"positionTo" : 25,
"prizeType" : "Countdown FS",
"seconds" : 100
},

{
"positionFrom" : 26,
"positionTo" : 30,
"prizeType" : "Bet Multiplier",
"multiplier" : 10
},

{
"positionFrom" : 31,
"positionTo" : 35,
"prizeType" : "Instant Bonus"
}
]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

9.4 Tournament Leaderboard


Request path: GET/tournaments/leaderboard

This API method returns the top X players (from the leaderboard) for a specific tournament in JSON format.

Recommendations for API request frequency limits:


It is recommended to use this API method not more often than one request per 10 minutes.
If the tournaments have already ended, there is no need to request the data, as the returned data will no longer
change.

The leaderboard should be returned only for tournaments with the status:
- Started, or
- Closed – but only if no more than 24 hours + [Show after the end, hours] have passed since the tournament
ended. (The additional hours are defined in the General settings tab of the tournament profile.)

Request parameters
Name Type Description Status
secureLogin String API user name (secureLogin value) for authentication in Pragmatic Play Required
API.
hash String Hash code of request. Required
tournamentID Number ID of the tournament for which the leaderboard will be received. Required
leaderboardSize Number Number of top players from the leaderboard that should be sent for the Optional
tournament in response. If it's missed, winning positions will be sent.

Response parameters (JSON)


Name Type Description
error String Error code.
description String Description of the error for troubleshooting.
leaderboardList List List of top X players (from the leaderboard) of the tournament. This list should be
sent in order from 1st to the last player in the leaderboard interval. Description of
the objects in the list see below (leaderboardList type).

Type: leaderboardList
Name Type Description
playerID String Player’s ID within operator’s system. This parameter will be sent only if the player
belongs to the casino that sent the request.
tournamentPlayerID Number(15) Player’s ID within the tournament
position Number(15) Player’s rank within the tournament.
score Number(15) Player’s score within the tournament.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of HTTP request:


GET /IntegrationService/v3/http/tournaments/leaderboard/?
secureLogin=username&tournamentID=10&leaderboardSize=20&hash=b25b9a3510c9edd8dd910d949e4fb782
HTTP/1.1
Host: [Link]
Cache-Control: no-cache

Example of JSON response:


{
"error" : 0,
"description" : "OK",
"leaderboardList" : [ {
"playerID" : "3432432432",
"tournamentPlayerID" : 100,
"position" : 1,
"score" : 10000
},

{
"playerID" : "98656789",
"tournamentPlayerID" : 57,
"position" : 20,
"score" : 1000
}]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

9.5 Prize Drop Winners


Request path: GET /prizedrops/winners
This API method returns winners for all RNG and Live casino prize drops that were awarded during the requested period.
The requested period is defined by time point, but not longer than 10 minutes.

Data will be returned in JSON format.

Recommendations for API request frequency limits:


It is recommended that the casino operator use this API method no more often than one request per 10 minutes.

Request parameters
Name Type Description Status

secureLogin String(30) API user name (secureLogin value) for authentication in the Pragmatic Required
Play API

hash String Hash code of the request Required

timepoint Number Time point starting from which data will be transferred. If time point is Optional
empty, the new time point will be returned.
(Unix epoch time in milliseconds, for example: 1470926696715)

Response parameters (JSON)


Name Type Description

error String Error code

description String Description of the error for troubleshooting

timepoint Number The new time point

winners List Prize drop winners – the list of players who were awarded prizes during the
requested period. See below “Prize Drop Winner” type description of the objects in
the list.

Type: Prize Drop Winner


Name Type Description

playerID String Id of the player within the operator’s system

prizeDropID Number Id of the prize drop

dataType String Portfolio type. Possible values:


LC – Live casino

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

RNG – main portfolio games (video slots, classic slots etc.)


prizeDropPlayerID Number(15) Player’s id within the prize drop

winDate Date Date and time when the prize is added to the player’s balance. For expired prizes, it
is the expiration date.
Date and time in the format yyyy-MM-dd HH:mm:ss.
roundID Number ID of the round where the prize was won

status String Status of the prize:


A – Awarded
E – Expired
F – Failed
prizeGift String Gift, which the player will receive as a prize. This field is optional and will appear only
if prizeAmount, prizeCoins, prizeCurrency fields are not present in the response.
prizeAmount Number(15,2) Prize amount that the player is awarded with.
The field is optional and will appear only if there is no prizeGift field in the response.
Please note, that prizeAmount, prizeCoins, prizeCurrency should appear together.
prizeCoins Number(15) Prize amount in coins.
The field is optional and will appear only if there is no prizeGift field in the response.
Please note, that prizeAmount, prizeCoins, prizeCurrency should appear together.
prizeCurrency String Currency code for prize amount.
The field is optional and will appear only if there is no prizeGift field in the response.
Please note, that prizeAmount, prizeCoins, prizeCurrency should appear together.

Example of HTTP request:


GET /IntegrationService/v3/http/prizedrops/winners?secureLogin=username&hash=ce7fc0f009e5fd-
d27058c0c35c76b118&timepoint=1516440180000 HTTP/1.1
Host: [Link]
Cache-Control: no-cache

Example of JSON response (3 winners: cash, text prize and winner with expired prize):
{ "error" : 0,
"description" : "OK",
"timepoint" : 1516440780000,
"winners" : [ {
"playerID" : "extid-0",
"prizeDropID" : 10,
"dataType" : "RNG",
"prizeDropPlayerID" : 20,
"winDate" : "2018-01-20 11:33:08",
"roundID" : 37491345,
"status" : "A",
"prizeAmount" : 1000.0,
"prizeCoins" : 20.0,
"prizeCurrency" : "USD"
},
{
"playerID" : "extid-3",
"prizeDropID" : 10,
"dataType" : "RNG",
"prizeDropPlayerID" : 24,
"winDate" : "2018-01-20 11:35:43",
"roundID" : 3789063,

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"status" : "A",
"prizeGift" : "text prize"
},
{
"playerID" : "extid-9",
"prizeDropID" : 8,
"dataType" : "RNG",
"prizeDropPlayerID" : 15,
"winDate" : "2018-01-20 11:39:40",
"roundID" : 2468654,
"status" : "E",
"prizeAmount" : 0.0,
"prizeCurrency" : "USD"
}]
} ]}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

9.6 Active Prize Drops


Request path: GET/prizedrops/active
Active Prize Drops method provides a list of casino prize drops that were/are/will be active on a specific date. Operator can
request:
 either a list of all active prize drops, or prize drops for live casino, or prize drops for slots (specifying dataType
parameter in the request);
 prize drops that were/will be in ‘Started’ status on a specific date. That is, the operator can specify a date in the
request, and all prize drops that will be/were in ‘Started status on that day (even if the prize drop started on that
day or will end on that day) will be returned in the response.
Request parameters
Name Type Description Status

secureLogin String API user name (secureLogin value) for authentication in Pragmatic Play API. Required
hash String Hash code of request. Required
currencies String ISO-4217 code currency. Currencies for prize pool and other amounts Optional
returned in feed.
If this parameter is missed in the request, then amounts are returned in the
main prize drop currency.
dataType String Product vertical for which promotion was created. Available values are: Optional
 RNG – Slots & More games.
 LC – Live Games.
If missed, prize drops for all product verticals are returned.
activityDate Date Date in the format 'yyyy-MM-dd' for which active prize drops should be Optional
returned. This is the date on which these prize drops were/will be active.
If the activityDate parameter is specified and this value is in the past, this
date should not be earlier than 31 days from the current date (date of
sending the request).
If this parameter is missed, the response will contain the list of prize drops
that are/were in Started status on the date when the request is sent (even if
the prize drop end date is on that day and the prize drop has already ended
at the time the request is sent).

Response parameters (JSON)


Name Type Description

error String Error code.


description String Description of the error for troubleshooting.
prizeDropsList List List of active prize drops in which the casino participates. Description of objects in the
list see below (prizeDropsList type).

Type: prizeDropsList
Name Type Description

prizeDropID Number Prize drop ID.


name String Name of the prize drop (EN version).

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

dataType String Product vertical for which this promotion was created. Available values are:
 RNG – Slots & More games.
 LC – Live Games.
level String Promotion level. Available values are:
 B - Bespoke,
 N - Network.
startDate Date Date and time when the prize drop starts.
Date and time in the format yyyy-MM-dd HH:mm:ss.
endDate Date Date and time when the prize drop ends.
Date and time in the format yyyy-MM-dd HH:mm:ss.
prizePoolList List Prize drop total prize pool. Is sent in different currencies (according to those specified in
the request). Includes just fixed prizes, without prizes with bet multiplier. Description of
objects in the list see below (prizePoolList type).
numberOfPrizes Number Number of prizes configured for the prize drop.
minBetList List Minimal bet to participate in the prize drop. Is sent in different currencies (according to
those specified in request). Description of objects in the list see below ( minBetList
type).
minRounds Number Minimal number of rounds to participate in the prize drop. Is returned if it’s configured
in the prize drop.
minWageredAm List Minimal total bet amount required for the players to participate in the prize drop.
ountList
Scoring starts after the qualification is reached. Is returned if it’s configured in the prize
drop. Description of objects in the list see below (minWageredAmountList type).
games String List of the games participating in the prize drop. It contains gameId (game symbols),
comma separated.
Example: "vs20cricksugar", "vs20olymp12gate", "vs20fruitsw188".

Type: prizePoolList
Name Type Description

currency String Symbolic code of currency. Example: “USD”, “EUR”.


amount Number(15,2) Prize pool amount.

Type: minBetList
Name Type Description

currency String Symbolic code of currency. Example: “USD”, “EUR”.


amount Number(15,2) Minimal bet amount.

Type: minWageredAmountList
Name Type Description

currency String Symbolic code of currency. Example: “USD”, “EUR”.


amount Number(15,2) Minimal wagered amount.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of HTTP request:


GET /IntegrationService/v3/http/prizedrops/active/?
secureLogin=username&currencies=USD,EUR&dataType=RNG&activityDate=2023-12-14&hash=8a4cf1f664aed-
c6e9c4d99e95cbd53a3 HTTP/1.1
Host: [Link]
Cache-Control: no-cache

Example of JSON response:


{
"error" : 0,
"description" : "OK",
"prizeDropsList" : [ {
"prizeDropID" : 10,
"name" : "Super Prize Drop",
"dataType" : "RNG",
"level" : "N",
"startDate" : 2023-12-10 10:00:00,
"endDate" : 2023-12-20 11:30:00,
"prizePoolList" : [
{
"currency": "USD",
"amount": 20000.00
},
{
"currency": "EUR",
"amount": 18628.10
}
],
"numberOfPrizes" : 100,
"minBetList" : [
{
"currency": "USD",
"amount": 2.00
},
{
"currency": "EUR",
"amount": 1.87
}
],
"minRounds" : 10,
"minWageredAmountList" : [
{
"currency": "USD",
"amount": 20.00
},
{
"currency": "EUR",
"amount": 18.68
}
],
"games" : ["vs20cricksugar", "vs20olymp12gate", "vs20fruitsw188"]
},
{
"prizeDropID" : 11,
"name" : "Super Prize Drop 2",
"dataType" : "RNG",
"level" : "B",
"startDate" : 2023-12-11 12:00:00,
"endDate" : 2023-12-15 12:00:00,
"prizePoolList" : [
{
"currency": "USD",
"amount": 20000.00
},
{
"currency": "EUR",
"amount": 18628.10
}
],
"numberOfPrizes" : 100,

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"minBetList" : [
{
"currency": "USD",
"amount": 2.00
},
{
"currency": "EUR",
"amount": 1.87
}
],
"minRounds" : 10,
"minWageredAmountList" : [
{
"currency": "USD",
"amount": 20.00
},
{
"currency": "EUR",
"amount": 18.68
}
],
"games" : ["vs20cricksugar", "vs20olymp12gate", "vs20fruitsw188"]
}]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

9.7 Prize Drop Prizes


Request path: GET/prizedrops/prizes
Prize Drop Prizes method provides a list of prizes configured in the prize drop, aw well as the number of prizes remaining.
The list of prizes can only be retrieved for prize drops whose status is either ‘Activated’, ‘Started’ or ‘Closed’, but
only if they ended no more than 31 days ago.

Request parameters
Name Type Description Status

secureLogin String API user name (secureLogin value) for authentication in Pragmatic Play API. Required
hash String Hash code of request. Required
prizeDropID Number ID of the prize drop for which prizes will be received. Required
currencies String ISO-4217 code currency. Currencies for amounts returned in feed. Optional
If this parameter is missed in the request, then amounts are returned in the
main prize drop currency.

Response parameters (JSON)


Name Type Description

error String Error code.


description String Description of the error for troubleshooting.
prizeList List List of prizes configured for the prize drop. Description of the objects in the list see below
(prizeList type).

Type: prizeList
Name Type Description

prizesNumber Number Number of prizes configured for the specific prize.


prizeType String Gift that players will receive as a prize. Available values are:
 Fixed Prize Amount,
 Text Prize,
 Bet Multiplier,
 Free Spins,
 Countdown FS,
 Instant Bonus.
prizesLeft Number Number of these prizes remaining (not yet won).
amountInCurrencyList List Prize amount that players within the ‘Fixed Prize Amount’ prize type will receive.
This field is optional and will appear only if prizeType is ‘Fixed Prize Amount’.
text String Gift in the form of text gift that players within the ‘Text Prize’ prize type will receive.
This field is optional and will appear only if prizeType is ‘Text Prize’.
multiplier Number Gift in the form of bet multiplier that players within the ‘Bet Multiplier’ prize type
will receive. This field is optional and will appear only if prizeType is ‘Bet Multiplier’.
spinsNumber Number Gift in the form of free spins that players within the ‘Free Spins’ prize type will
receive. This field is optional and will appear only if prizeType is ‘Free Spins’.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

seconds Number Gift in the form of countdown free spins that players within the ‘Countdown FS’
prize type will receive. This field is optional and will appear only if prizeType is
‘Countdown FS’.

Type: amountInCurrencyList
Name Type Description

currency String Symbolic code of currency. Example: “USD”, “EUR”.


amount Number(15,2) Amount (converted from coins) players within the Fixed Prize Amount prize type will
receive.

Example of HTTP request:


GET /IntegrationService/v3/http/prizedrops/prizes/?
secureLogin=username&prizeDropID=10&currencies=USD,EUR&hash=ece2b4cf65b47981ba7e7f81859d1a0f
HTTP/1.1
Host: [Link]
Cache-Control: no-cache

Example of JSON response:


{ "error" : 0,
"description" : "OK",
"prizeList" : [ {
"prizesNumber" : 10,
"prizeType" : "Fixed Prize Amount",
"prizesLeft" 5,
"amountInCurrencyList" : [
{
"currency": "USD",
"amount": 100.00
},
{
"currency": "EUR",
"amount": 100.00
}
],
},
{
"prizesNumber" : 10,
"prizeType" : "Text Prize",
"prizesLeft" 5,
"text" : "iPhone 15 Pro Max 256Gb"
},
{
"prizesNumber" : 10,
"prizeType" : "Bet Multiplier",
"prizesLeft" 5,
"multiplier" : 10,
},
{
"prizesNumber" : 10,
"prizeType" : "Free Spins",
"prizesLeft" 5,
"spinsNumber" : 5
},
{
"prizesNumber" : 10,
"prizeType" : "Countdown FS",
"prizesLeft" 5,
"seconds" : 60
},
{
"prizesNumber" : 10,
"prizeType" : "Instant Bonus",
"prizesLeft" 5

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

}]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

9.8 Prize Drop Latest Wins


Request path: GET/prizedrops/latestWins
Prize Drop Latest Wins method provides a list of the latest X wins (awarded prizes) for a specific prize drop. Operator can specify
exactly how many latest wins they want to receive, e.g., the latest 20 wins.
The list of the latest wins can only be retrieved for prize drops whose status is either ‘Started’ or ‘Closed’, but only if they
ended no more than 24 hours ago.

Request parameters
Name Type Description Status

secureLogin String API user name (secureLogin value) for authentication in Pragmatic Required
Play API.
hash String Hash code of request. Required
prizeDropID Number ID of the prize drop for which the latest wins will be received. Required
currencies String ISO-4217 code currency. Currencies for amounts returned in feed. Optional
If this parameter is missed in the request, then amounts are returned
in the main prize drop currency.
listSize Number Number of latest wins (max 300) in the prize drop that should be Optional
sent in response. If it's missed, 300 latest wins will be received.

Response parameters (JSON)


Name Type Description

error String Error code.


description String Description of the error for troubleshooting.
latestWinsList List List of latest wins in the prize drop. Wins will be sent in descending order (newest to
oldest). Description of the objects in the list see below (latestWinsList type).

Type: latestWinsList
Name Type Description

playerID String Player’s ID within operator’s system. This parameter will be sent only if the player
belongs to the casino (any of it shards) that sent the request.
prizeDropPlayerID Number(15) Player’s ID within the prize drop.

roundID Number ID of the round in which the prize was won. This parameter will be sent only if the
round belongs to the casino (any of its shards) that sent the request.
gameID String Symbolic unique identifier of the game (within the Pragmatic Play system) in which
the prize was won. Example: vs50aladdin.
bet Map Player’s bet in the round in which the prize was won, except for Bet Multiplier
prize.
When the bet is sent for the Bet Multiplier prize, it returns:
 player’s win bet – if the player’s win bet doesn’t exceed the bet

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

limit configured* for Bet Multiplier prize;


 bet limit – if the player’s win bet exceeds the bet limit
configured* for Bet Multiplier prize.
* if the bet limit is configured in PD.
E.g., player’s win bet is 50, but bet limit for Bet Multiplier prize is
20, then 20 will be returned in bet parameter (because it is used
for prize calculation).
Is sent as a map (key:value, where key - currency, value - amount) in different
currencies, according to those specified in request.
prizeType String Type of prize the player won.
value String Value of the prize depending on the prizeType. It may contain the value from:
 ‘Multiplier’ field of the won prize if the type of the won prize is ‘Bet
Multiplier’;
 ‘Text’ field of the won prize if the type of the won prize is ‘Text Prize’;
 ‘Spins Number’ field of the won prize, if the type of the won prize is ‘Free
Spins’;
 ‘Seconds’ field of the won prize if the type of the won prize is ‘Countdown
FS’.
This field is optional and doesn’t appear if the type of prize won is either ‘Fixed Prize
Amount’ or ‘Instant Bonus’.
winAmount Map Amount won by the player in ‘Fixed Prize Amount’ OR ‘Bet Multiplier’ prize type.
This field is optional and only appears if the type of prize won is either ‘Fixed Prize
Amount’ or ‘Bet Multiplier’.
Is sent as a map (key:value, where key - currency, value - amount) in different
currencies, according to those specified in request.

Example of HTTP request:


GET /IntegrationService/v3/http/prizedrops/latestWins/?
secureLogin=username&currencies=USD,EUR&prizeDropID=10&listSize=6&hash=321b99afd0f9acb989303a5a6bf-
b88c4 HTTP/1.1
Host: [Link]
Cache-Control: no-cache

Example of JSON response:


{ "error" : 0,
"description" : "OK",
"latestWinsList" : [ {
"playerID" : "extid-0",
"prizeDropPlayerID" : 10,
"roundID" : 5010062240001,
"gameID" : "vs50aladdin",
"bet" : {
"USD" : 10.00,
"EUR" : 9.33
},
"prizeType" : "Bet Multiplier",
"value" : 10,
"winAmount" : {
"USD" : 100.00,
"EUR" : 93.30
}
},
{
"playerID" : "extid-11",
"prizeDropPlayerID" : 14,
"roundID" : 5010062243001,
"gameID" : "vs50aladdin",
"bet" : {

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"USD" : 20.00,
"EUR" : 18.66
},
"prizeType" : "Text Prize",
"value" : "iPhone 15 Pro Max"
},
{
"playerID" : "extid-23",
"prizeDropPlayerID" : 17,
"roundID" : 5010062242001,
"gameID" : "vs50aladdin",
"bet" : {
"USD" : 5.00,
"EUR" : 4.67
},
"prizeType" : "Free Spins",
"value" : 10
},
{
"playerID" : "extid-47",
"prizeDropPlayerID" : 25,
"roundID" : 5010062241001,
"gameID" : "vs50aladdin",
"bet" : {
"USD" : 15.00,
"EUR" : 14.01
},
"prizeType" : "Countdown FS",
"value" : 60
},
{
"playerID" : "extid-111",
"prizeDropPlayerID" : 44,
"roundID" : 5010062250001,
"gameID" : "vs50aladdin",
"bet" : {
"USD" : 10.00,
"EUR" : 9.33
},
"prizeType" : "Fixed Prize Amount",
"winAmount" : {
"USD" : 100.00,
"EUR" : 93.30
}
},
{
"prizeDropPlayerID" : 56,
"gameID" : "vs50aladdin",
"bet" : {
"USD" : 50.00,
"EUR" : 46.67
},
"prizeType" : "Instant Bonus"

}]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

9.9 Promo Details


Request path: GET /promo/details/
This API method is responsible for providing additional promotion details, such as portfolio type, promotion level etc.

Recommendations for API request frequency limits:


It is recommended that the casino operator request this method once for each tournament ID, as the returned
data does not change.
It is also recommended to use this API method for different tournament IDs no more often than one request per
30 minutes.

Request parameters
Name Description Status

secureLogin User name for authentication in the Casino Game API service Required

hash Hash code Required

promoCampaignID Id of the promotional campaign. Required

promoCampaignType Type of the promotional campaign. Available values are: Required


R – Prize Drop (Cash drop promotion)
T – Tournament
CB – Cashback

Response parameters (JSON)


Name Type Description

error Number Error code


description String Description of the error for troubleshooting
details Object Promotion details
[Link] String Name of the tournament
[Link] String Promotion level. There should be 2 possible values:
B - bespoke, meaning a promo is created and managed by the operator. The
default value.
N - network, meaning promo is created and controlled by Pragmatic Play
[Link] String Portfolio type. Possible values are LC for Live Casino or RNG for main portfolio games
(video slots, classic slots etc.))

Example of HTTP request:


GET /IntegrationService/v3/http/promo/details/?secureLogin=login&hash=e3dd118e815f87df53ce5d-
b475e539c8&promoCampaignID=5432346234&promoCampaignType=T 12:00:00 HTTP/1.1
Host: [Link]
Cache-Control: no-cache

Example of JSON response:


{
"error":0,"description":"OK","details":{"name":"promo1","level":"B","dataType":"RNG"}
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

9.10 Error codes


Below table contains the error HTTP statuses that should be returned, in case of issues on request processing.
HTTP Description
status
0 OK
1 Authentication error. Incorrect secure login and secure password combination.

2 Empty mandatory field.

3 Invalid parameter value.

7 Promotion not found.

8 Inappropriate promo status


99 Request limit has been exceeded. Try later please.

100 Internal error. Try later please.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

X. Business Statistics API


Statistics API is used for receiving business statistics reports from Pragmatic Play about play activity, based on needed op-
tions.

URL of the HTTP service will be provided by Pragmatic Play for the production and test environments and looks like:
[Link] service domain}/IntegrationService/v3/StatisticsAPI/players/daily/totals/

Integration simple HTTP Service is securely protected, hence please be sure:


- player’s browser (end) must NOT be used as initiator of requests to the service;
- proper IPs are supplied to Pragmatic Play for whitelisting

Hash calculation
Hash code is calculated with following formula:
From request GET parameters, all parameters are taken (except hash) and appending to string:
1. Sort all parameter by keys in alphabetical order.
2. Append them (if the value is not null or empty) in key1=value1&key2=value2.
3. Append secret key, e.g.: key1=value1&key2=value2SECRET.
4. Calculate the hash by using MD5.

10.2 Players daily report


Players Daily report provides aggregated data grouped by player and optionally by game for. Player statistics is accumulated
by day based on Pragmatic Play server time zone. Operator can request data for a certain day only (in the past).
Operator can use this method for cross checking their data. Only completed game rounds are included in the response. If a
game round was started in one day and finished in another day, its results will be included in the daily totals for the day it
was finished.
Request path: GET /StatisticsAPI/players/daily/totals/
Request parameters
Name Type Description Status

secureLogin String User name for authentication in the Report API service. Required

hash String Hash code of the request. Required

date String Date for which the data should be loaded (format YYYY-MM-DD) Required

options String List of settings. By including it, operator can get an additional totals or Optional
group by additional parameters.
Possible values are:
groupByGame – if it is required to receive data per
player per game.
includeCanceledBets – exclude canceled rounds from totalBet
amount.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

dataType String(3) Type of portfolio, indicates which portfolio Data Feeds should be dataType
returned
Available options:
RNG - Main portfolio games (video slots, classic slots etc.)
LC - Live Casino portfolio
VSB - Virtual sports betting portfolio
Important!
In cases where dataType is included in request, Data Feeds for relevant
portfolio will be returned only
When there is no dataType in request, will be returned Data Feeds for
RNG only
Response parameters (CSV)
Name Type Description

playerID String Id of the player within the Casino Operator’s system

gameID String Symbolic unique identifier of the game within the Pragmatic Play system. Example:
vs25queenofgold, vs50aladdin, cs5triple8gold, bjma, rla, vpa
In case options parameter is set as groupByGame
totalRounds Number Total number of game rounds completed during the reporting period, does not
include free spins received as promo.

totalFreeSpinRounds Number Total number of free spin rounds (in-game feature) completed during reporting
period.

totalBet Double(15,2) Total bets made by player during reporting period. The values are in player’s
currency.

totalWin Double(15,2) Total wins won by player during reporting period. The values are in player’s currency.

currency String Player’s currency, 3 letter ISO 4217 code. Example: “USD”

Example of HTTP request:


GET /IntegrationService/v3/StatisticsAPI/players/daily/totals/?
secureLogin=login&hash=34642b49d19990ff97a13ed6384554e4&date=2020-03-04&options=groupByGame HTTP/
1.1
Host: [Link]
Cache-Control: no-cache

Example of response:
playerID,gameID,totalRounds,totalFreeSpinRounds,totalBet,totalWin,currency
player1 ,vs10bookoftut,5,0,10.00,0.00,USD
player2,vs25mmouse,11,0,22.00,1.60,USD

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

10.3 Error codes


Below table contains the error HTTP statuses that should be returned, in case of issues on request processing
HTTP Description
statu
s
400 Bad request. Is returned in cases when some of required parameters are not present, or empty
401 Unauthorized - Incorrect secure login or calculated hash
500 Internal error. Is returned when there are some problems, or data cannot be returned because of invalid date in request

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

XI. Diagrams
11.1 Flow diagram of opening casino game for Seamless Wallet API

Operator Pragmatic Play

Flow details
1. Player selects a game, which is served by Pragmatic Play. Specific one-time password is created on Operator side.
This password should uniquely identify the player within Operator system.
2. Operator, with the help of JS library provided by Pragmatic Play, checks if selected game can be launched on the
player’s OS and return URL of the game to the player browser. If the game cannot be launched then appropriate
message will be shown to the player.
3. URL of the game is loading in player browser for redirecting player to Pragmatic Play game server.
4. Game Server verifies one-time password received with URL.
5. Pragmatic Play Integration Service calls Operator server to authenticate player using received token.
6. Operator authenticates the player. If player is authenticated Operator returns player id within Operator system
and player current balance.
7. Game Server receives a result of player authentication. If authentication is not successful a player will receive an
error message.
8. Game Server finds player id in the database or creates a new player account
9. The game with all required data is opened for player.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

11.2 Flow diagram of playing casino game Seamless Wallet API

Operator Pragmatic Play

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Flow details
The game flow is shown in the example of the slot.
1. Player clicks Spin button on the game screen, and game client sends doSpin request to the Pragmatic Play Game
server.
2. Game server calls Pragmatic Play Integration service to withdraw money from the player balance.
3. Integration service sends Bet request to the Operator server. If the request cannot be handled by Operator due to
connection problem, Pragmatic Play server will repeat the request 3 times. After that Refund request will be sent
to the Operator server for cancelling bet until response from Operator server is received.
4. Operator verifies that player has enough funds in the wallet to make a bet, subtracts requested amount from the
balance and returns updated player balance in the response. If there is not enough money in the wallet, Operator
returns an error.
5. Pragmatic Play Integration service returns updated balance to the game server.
6. Game server processes spin - gets new combination on the reels, checks combinations that trigger free spins or
bonus game feature, calculates win amount, etc.
7. Game server returns response to the game client. Response may contain updated reels, information about winning
lines, triggered features and win amount.
8. If player has a win on lines game client sends doCollect request to the Game server to collect player’s winnings.
9. Game server calls Pragmatic Play Integration service to add win amount to the player balance.
10. Integration service calls Operator server sending BetResult request. If request cannot be handled by Operator due
to connection problem, Pragmatic Play server will repeat the request until it receives a response from Operator
server.
11. Operator adds money to player's wallet and returns updated player balance.
12. Pragmatic Play Integration service returns updated balance to the Game server.
13. Game server collects player’s win.
14. Game server returns response to the game client containing updated player balance.
15. If bonus game feature is triggered game client sends doBonus request to the Game server.
16. Game server starts bonus game feature.
17. Game server returns response with all information that is necessary for the game client to play bonus game.
18. Game client sends a request to the game server on every step of the bonus game.
19. Game server handles request and returns response with the result of current step.
20. When bonus game is over game client sends doCollectBonus request to the Game server.
21. Game server calls Pragmatic Play Integration service to add bonus game win amount to the player balance.
22. Integration service calls Operator server, sending BetResult request. If request cannot be handled by Operator due
to connection problem, Pragmatic Play server will repeat request until it receives a response from Operator server.
23. Operator adds money to player's wallet and returns updated player balance.
24. Pragmatic Play Integration service returns updated balance to the Game server.
25. Game server processes bonus game win.
26. Game server returns response to the game client containing updated player balance.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

XII. Reconciliation
12.1 Reconciliation process
If a request times out because of internet connection problems, or contains relevant error code (3.17 Error codes), then the
Pragmatic Play system will follow a process described below, to reconcile the action.

For the cases where Operator receives retry API calls within reconciliation process, actual player's balance must be
returned in response

Bet transaction
The Bet request will be retried 2 (two) times with a delay of 5 seconds between attempts.
If a request is still not processed after the second try, Pragmatic Play will initiate the Refund request to cancel this single bet
on the Operator side.

Refund transaction
Refund request will be added to a Transaction queue and an error message will be displayed to the player on the game
interface. The game client should be closed. The reconciliation mechanism starts from there.
Operator will accept Refund requests that run independently of the game session in order to ensure the two systems are
kept in sync.
Such a request can be sent if Pragmatic Play has an unknown response on the Refund request on its side because of a
timeout or relevant error code (so it will try to run it in the background until the Operator response will not reach
Pragmatic Play).
Operator will return a successful response on the Refund request even if the transaction has been canceled in the past and
does not need to be canceled again or even if Bet has not reached Operator system because of timeouts.

Winning transactions
The BetResult/BonusWin/JackpotWin/Adjustment requests will be retried 2 (two) times with a delay of 5 seconds between
attempts.
If a request is still not processed after the second try then it will be added to the Transaction queue for reconciliation. Game
round result will be displayed to the player on the game interface.
BetResult/BonusWin/JackpotWin/Adjustment requests will be added to the Transaction queue and sent independently of
the game session, according to the Reconciliation mechanism.

PromoWin
The PromoWin requests will be retried in the similar way as described calls above but with a delay of 30 minutes after the
tournament is going to be finished.

EndRound
The EndRound request will be added to the Transaction queue once the game server determines a game round is over. The
reconciliation mechanism starts from there.
Operator will accept EndRound requests that run independently of the game session in order to ensure the two systems are
kept in sync. Repeated EndRound request can be sent only if the Pragmatic Play system has an unknown status on its side
because of a timeout or special error code on the EndRound call, so it will try to run it in the background until the Operator
response will not reach Pragmatic Play.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

12.2 Reconciliation mechanism


The reconciliation mechanism ensures the two systems (Game Platform and Casino Operator) are kept in sync.
From the Pragmatic Play system perspective, the Transaction queue is a table within the database that records any Refund,
BetResult/BonusWin/JackpotWin/PromoWin/Adjustment and EndRound requests that timed out.
The Pragmatic Play system put in place an automated process (cron job) that reads the Transaction queue table from the
database and runs the requests within the queue.
After 24 hours, the requests that are still unsuccessful will be marked for manual reconciliation.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

XIII. Reality Check


13.1 Server side implementation
Reality Check Warning
One of the regulatory requirement is to notify the player with a certain frequency regarding the actual amount of time the
player spends in the game. In UK regulation the user set the notification frequency during the login via the portal. In the
next money transaction call (bet or win) after the reality check interval expiration will result in an appropriate reality check
error. The error should be translated to an appropriate warning popup displayed to the player.

Reality check error


Error code Description Additional data

210 Reality check warning o rcRegulation – Regulator. Possible values are: UK, Malta
o rcInterval – Reality check interval in minutes
o rcTimeInSession – Total session time in minutes
o rcNetGain – Status of player’s profit/loss over the session time

Example of reality check error response:


{
"error": 210,
"description": "Reality check warning",
"details": {
"rcRegulation": "Malta",
"rcInterval": 20,
"rcTimeInSession": 60,
"rcNetGain": 23.05
}
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Reality Check Response


Request path: POST /realityCheck/response/
Once user have received reality check error, they have two choices – continue to play or stop playing and logout. Pragmatic
Play will send the Reality Check Response request, in order to notify the Operator about player’s choice. Operator should
resume the player’s session, reset the reality check counter and continue handling money transactions.
If player have chosen to stop playing and there is a winning requests that ware refused by Operator due to the reality check
warning, those requests must be properly processed on both sides to allow player to get their winnings: Pragmatic Play will
re-send winning requests and Operator must add money to player’s balance.
Request parameters
Name Description Status
providerId Pragmatic Play identifier for authentication in Casino Operator’s system. Required
May be provided by Casino Operator. Otherwise default value is used.
playerId Identifier of the player within the Casino Operator system. Required
userAction Represent the user response to reality check dialog. Required
Can be one of the 2 options below:
o Reset – Continue to play and reset the reality check counter
o Stop – Stop playing. Please note, in such case all active game windows should be
terminated
hash Hash code of the request. Required

Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.

Example of HTTP request:


POST /realityCheck/response/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

playerId=6&userAction=Reset&providerId=PragmaticPlay&hash=53ff1b78529a7b97fca9026d9c2dc788

Example of JSON response:


{
"error": "0",
"description": "Success"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

13.2 Client side implementation


The game client should calculate a time the player has spent in the game and display a reality check message every X
minutes, which will inform the player how long they are playing the game. To activate reality check feature in the game
client an Operator should provide the Pragmatic Play game launcher with the following parameters:
o rci – the reality check interval, in minutes. This is the interval for reality check messages to be shown to the player
during game play
o rce – the reality check elapsed time, in minutes. This is optional parameter, which indicates already elapsed
minutes on another games. If this parameter is sent by Operator, the first time RC message will appear in rci – rce
minutes after game opening
o rcHistoryUrl – a link to the player’s game history. This is optional parameter. If Operator send the rcHistoryUrl
parameter, game client will add the “History” button to the reality check message. There are two options here:
o Operator may provide a URL to the page on their side. In this case rcHistoryUrl should contain a link to
Operator’s page. For example: rcHistoryUrl=[Link]
o Game client can show inbuilt game history, provided by Pragmatic Play. In this case Operator should send
the predefined value: rcHistoryUrl=ingame
o rcCloseUrl – a link to the page on the Operator’s website, to which the player will be redirected if they choose to
close the game. This parameter is optional. The “Close” button appears on the reality check message only if
Operator sends the URL
The “Continue” button always appears on the reality check message. This button removes the reality check message and
resumes the game screen.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

XIV. Custom messages


Seamless Wallet API responses can optionally contain one or more messages that will be shown in the player’s game client.
This optional feature initially is designed for UKGC CMA support, but operators can also use it for their needs.
Upon receiving a message, game client will display information to the player in order to inform him or her about a specific
event, and optionally request a user response.
All text that is sent inside a message must be translated to the player’s language.

14.1 Custom messages syntax


A custom message is an optional “message” element added to API responses. There can be zero or more “message”
elements per response:
{…
"messageTriggers": [
{
"title": "Starting to use bonus funds",
"text": "You are starting play with bonus funds.\nFrom this point it possible that won funds
may have to be\nre-bet many times before they can be withdrawn from your account.\nPlease click
Bonus Details for further details.",
"nonIntrusive": false,
"options": [
{
"action": "continue",
"label": "OK"
},
{
"action": "link",
"label": "Bonus Details"
"linkType": "redirect",
"url": " [Link]
} ]
} ]
}

Each item in the “messageTriggers” array may contain elements title, text, nonIntrusive and options.

The title element contains the title of the message box, which must be in one short line of no more than 60 characters.
The text specifies the message box text and may contain multiple lines. When specifying a forced line break the symbol
used is \n. The max length of the text is 300 characters.
If nonIntrusive is specified and true, the message can be shown in a non-modal, non-intrusive fashion. Default value: false.
The options array can contain one or more elements. Each option always has action and label elements and may contain
optional url element for redirect or Ajax call and a linkType specifying how the request should be sent to the URL if it is
specified. Options and link types are specified below.
The options order specifies the order in which the options shall appear in the message box.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

14.2 Action types


Each option element inside a message has a type that specifies the expected behavior when that option is selected. These
are the possible values:
Type Use case Description
quit Quit the game Close the game. Acts the same as pressing Home button.
continue Continue the game Close the message box and resume the game.
history Game history/Details Close the message box and open the history URL if it was specified during game
launch. If history URL was not specified please use the “link” type.
link Close the message box and open or send Ajax request to the URL indicated in the
“action” parameter.

14.3 Link types


The action element inside an option specifies the expected behavior when that option is selected. The default value is
redirect. These are the possible values:
Type Use case Description
redirect Open a page Redirects the player to the URL specified for the “link” option.
open Open a new tab Opens a new/blank tab in the browser, with the link specified for the action.
ajax Notify and resume An Ajax request is sent to the URL and immediately let the player continue with the
game flow.
ajaxResponse Notify and wait An Ajax request is sent to the URL and wait until "successful json response" is
received. Only then continue with the game flow.
notify Notify and resume A JavaScript event should be sent to parent window as postMessage(). For example,
if the game is opened in iframe and player wants to go back to the lobby JS
notification to the parent page should be used instead of redirect, which will cause
opening the lobby page inside iframe.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

14.4 Custom messages API


Response parameters
Name Type Description Status

messageTriggers Array Messages that will be displayed in the player’s game client. Optional

message Object

title String (60) Title of the message box. Optional

text String (300) Text to be shown in the message box. Required

nonIntrusive Boolean If specified and true, the message can be shown in a non-modal, non- Optional
intrusive fashion. Default value: false.
options Array List of options, should specify buttons shown in the message box. At Optional
least one option should be defined. In the simplest case, it will be the
OK button, which closes the box.
option Object

action String (10) Type of the option. Available types are: quit, continue, history, link. Required
Detailed description of each action can be found in Action types section
above.
label String (20) Text on the button in the message box to be shown to the player. Required

linkType String (10) Type of the link. Relevant only for actions of “link” type. Available Optional
values are: redirect, ajax, ajaxResponse, notify. Detailed description of
each link type can be found in Link types section above.
url String (100) URL of the link. Relevant only for actions of “link” type. Optional

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

XV. Regulated Markets


This section represents integration API and other useful materials important for certain regulated markets.

15.1 Responsible gaming - Sweden


For Sweden there are four items that needs additional attention in order to comply with Swedish regulations.

Login time
Players should at all-time be able to see login time, this includes the mobile client as well. For this purpose, PragmaticPlay
takes an addition game launch parameter:
elapsedTime - Current elapsed session time, the value is in seconds. If present the elapsed time will be displayed in the
game client.

Links and logos to self-assessment tests


Player should also at all-time be able to see three logos with links at the top of the client in a locked field. PragmaticPlay
have extended our game launcher to take three additional launch parameters.
 pauseplayUrl – encoded url to the “Spelpaus”
 selftestUrl – encoded url to the “Självtest”
 playlimitUrl – encoded url to the “Spelgränser”

Set player’s country


Operator needs to set jurisdiction on PragmaticPlay authenticate call, the jurisdiction parameter is used for reporting and
Game Client behavior. For Sweden the jurisdiction is “SE”.

Displaying of totals
To display in game interface total amounts of Bet, Win or Loss during player’s game session, operator should use section
XIII Custom messages of current document.

15.2 Checksums API


Using this method Casino Operator will get the list containing all critical files with their checksums to be verified and sent to
the Regulator.
All responses should be in JSON format.

URL of the API for regulated markets will be provided by Pragmatic Play for the production and test environments
and looks like:

[Link] service domain}/IntegrationService/v3/http/RegulationAPI/

All HTTP services are securely protected, hence please be sure:


- player’s browser (end) must NOT be used as initiator of requests to the service;
- proper IPs are supplied to Pragmatic Play for whitelisting

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Request path: POST /checksums/


Request parameters
Name Description Status

secureLogin User name for authentication in the Casino Game API service Required
One or more jurisdiction codes (delimited with comma) to filter the result. May be omitted to get
jurisdiction Optional
all available jurisdictions
dataType Type of portfolio, indicates which portfolio checksums should be returned Optional
Available options:
RNG - Main portfolio games (video slots, classic slots etc.)
LC - Live Casino portfolio
VSB - Virtual sports betting portfolio
Important!
In cases where dataType is included in request, checksums for relevant portfolio will be returned
only
When there is no dataType in request, will be returned checksums for RNG only
options List of settings. By including it, operator can get additional information about checksums. Possible Optional
values are:
 gameRelatedOnly

Important!
In case the operator sends this parameter the system will return only game related files:
 game-engine
 game-configurations
 [Link]
 gs2c-random

*Platform files ([Link] and check_files_v7.sh ) will not be received.


hash Hash code of the request. Required

Response parameters
Name Type Description

checksums List The list of filenames and checksums for every critical file.

error String(10) 0 - if the request was successfully processed or error code in other case.

description String(250) Description of the error for troubleshooting purposes.

In case Casino Operator needs full path to critical files to be returned in response (for example if this is required by regulation market), they
should ask the Pragmatic Play’s Technical Support for additional configuration.

Example of response with full path to critical files can be found below

Example of HTTP request:


POST /IntegrationService/v3/http/RegulationAPI/checksums/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded

secureLogin=ext_test1&hash=3b4d0b1b84bf4eaa694acb0657a922f3&jurisdiction=IT,LV

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of JSON response with no path to critical files :


"checksums": [
{
"files": [
{"checksum": "3aa16f6a16adadd8065aa35f4a5ac9877c4408e6",
"fileName": "vs50aladdin_cv2-88.01_.hs",
"gameId": "vs50aladdin"},

{"checksum": "48e923a19fa4460a8b0b589019813f08be460991",
"fileName": "vs50aladdin_cv2-96.53_.hs",
"gameId": "vs50aladdin"},
{
...
],
"jurisdiction": "LV"
},
{
"files": [
{"checksum": "c39c25ad9a1128f3bf79bd578fc579521d9c5059",
"fileName": "[Link]",
"gameId": "vs243lions"},

{"checksum": "b33e33da96c37c0eb2d02b3fbf439685fcda876c",
"fileName": "[Link]",
"gameId": "vs243lions"},
{
...

],
"jurisdiction": "IT"
}
],
"description": "OK",
"error": "0"

Example of JSON response with path to critical files :


"checksums": [
{
"files": [
{ "gameId": "vs25vegas",
"fileName": "vs25vegas_cv10-96.05_.hs",
"filePath": "/home/docker/chksum/custom/games_configurations",
"checksum": "df8ed4a450d05970edfdd9df18450684a9c01254"},
{ "gameId": "vs25gladiator",
"fileName": "vs25gladiator_cv6-96.17_.hs",
"filePath": "/home/docker/chksum/custom/games_configurations",
"checksum": "dec2785c3dadab8ee4c94c9dd88c3300f7d9fe19"},
{
...
],
"jurisdiction": "IT"
},
{
"files": [
{ "gameId": "vs25wildspells",
"fileName": "vs25wildspells_cv9-95.17_.hs",
"filePath": "/home/docker/chksum/custom/games_configurations",
"checksum": "efbdc83ef79eee2614d145d1360336fe4e680ad9"},

{ "gameId": "vs25wolfgold",
"fileName": "vs25wolfgold_cv4-93.99_.hs",
"filePath": "/home/docker/chksum/custom/games_configurations",
"checksum": "599d8706f3adf7b4059c9c38501c242644b60a5f"},
{
...

],

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"jurisdiction": "LV"
}
],
"description": "OK",
"error": "0"

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

15.3 Launch games from internal lobby for Italian regulated market
Since Italian regulator requires operators to ask players for funds that they want to spend playing a certain game, a game
provider, who offer an in-game mini lobby, have to implement the same in their games.
There are two things that are important with this regard, once player has chosen a game:
1. A total balance should be shown to the player in a pop up, in which he will enter the amount he wants to spend in
this game
2. The current game session must be closed and a new game session opened on operator’s side and communicated
to AAMS.
Also, in order to display current AAMS Ticket and AAMS Sessionid in game client, operator should send following additional
parameters in authenticate response (in extraInfo response parameter body):
 “aamsTicket”: “someaamsticketvalue”;
 “aamsSessionId: “someaamssessionidvalue”

PragmaticPlay offer mini lobby for Live games and slots. Both types of games can be enhanced to support Italian
requirements. To make it possible, the following changes to PP Native Wallet API are proposed:
1. New “totalBalance” parameter will be added to the response on both /balance and /getBalancePerGame calls
(depending on which one is used by operator in existing integration). The parameter is optional, should be sent by
operator for Italy but can be sent for all players as well.
2. The following parameters will be sent to Authenticate request, which will inform operator that a new game is
about to be opened from in-game lobby:
o launchingType - indicates the way the game is being launched. Possible values are: “N” - normally (by
operator), “L” - from in-game lobby. The default value is “N”
o gameId- id of the game being launched
o chosenBalance - amount of money player wants to spend in the game
o previousToken - value if the token that was received from operator for the game that should be closed
(corresponds to the current opened game session on operator’s side)
3. Parameter “token” will be empty if a new game is being launched from in-game mini lobby. Token for this game
should be generated by operator and returned in the response
When operator gets an Authentication call with launchingType=L, they should do the following:
1. Close the current game session identified by previousToken parameter in operator’s system
2. Close AAMS ticket for that game session
3. Open a new game session in operator’s system
4. Open a new ticket in AAMS
5. Return new token, player id, his balance, etc. in the response as usually

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

15.4 Portuguese Regulated Market - Slot Machine and RNG Table Game Reporting
This is a simple API for Operators to connect to the Pragmatic Play gaming system. API is an HTTP listener, which listens
POST requests coming to an URL with the request mappings below.

URL of the HTTP service will be provided by Pragmatic Play for the production and test environments and looks
like: [Link] service domain}/RegulationService/

The service is securely protected, hence please be sure:


- player’s browser (end) must NOT be used as initiator of requests to the service;
- proper IPs are supplied to Pragmatic Play for whitelisting

Introduction
This document describes the API, which Pragmatic Play has created for Operators in Portugal, for slot machines and RNG
table games reporting according to SRIJ requirements providing the way of getting the string needed to fill the smResult
field present in the AJOG files.
API Architecture
The communication interface between the Operator and the Pragmatic Play is performed by server-to-server requests via
HTTPS (using POST method). Responses are sent as JSON. The structure and the elements information are defined in this
section.
Requests Authentication
All requests that are sent to the Pragmatic Play API should be authenticated. Each request contains Secure Login as a
request parameter and a Password as a part of the hash code calculated based on the request parameters. Pragmatic Play
will supply the Operator with dedicated credentials.
Error Handling
If the ErrorCode parameter equals to 0 or not exist, then the response was processed successfully with no error. In Case the
ErrorCode > 0, it means that the response was processed with an error.

Slot Machine and RNG Table Game Reporting API


Hash calculation
Hash code is calculated with the following formula:
From request post parameters, all parameters are taken (except hash) and appending to string:
1. Sort all parameter by keys in alphabetical order.
2. Append them (if the value is not null or empty) in key1=value1&key2=value2.
3. Append secret key, e.g.: key1=value1&key2=value2SECRET.
4. Calculate the hash by using MD5.
5. Compare with hash parameter. In the case of failure Casino Operator should send the error code 1.
Credentials for connecting to Pragmatic Play service, for integration and production environments, will be provided by our
Integration team by Operator’s request.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

API specification
Request path: POST /ReportingAPI/Portugal/smResult/
Using this method Operator can get a details of slot machine or RNG table game results, for particular game round, which
then can be sent to the Regulator in the smResult field.

Important: Only completed game rounds that have been finished by players are allowed. The smResult report can-
not be generated for incomplete game rounds. It is recommended to wait at least 5 minutes before calling this API
method after the operator receives the endRound request.

Request parameters
Name Type Description Status
secureLogin String User name for authentication in the Pragmatic Play service. The value will be Required
provided by Pragmatic Play.
roundId Long Id of the round, which is finished by a player. Required
hash String Hash code of the request Required

Response parameters
Name Description
smResult The details of slot machine or RNG table game result.
error The error code and description for troubleshooting. This field will appear only in case of error. Successful
responses should not contain it.

Example of HTTP request:


POST /RegulationService/ReportingAPI/Portugal/smResult/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&roundId=123654987&hash=438fea0a68a0e9ab49df756cc20eda8f

Example of the successful response:


{
"smResult":
"0:5;8;1;3;1#10;10;11;11;11#4;2;10;9;4#R#10#H10#122#MV#0.01#MT#1#R#10#H10#112#MV#0.01#MT#1#MG#0.08#
",
"betMultiplier": 20,
"error": {
"code": 0,
"description": "OK"
}
}

Example of error response:


{
"smResult": null,
"betMultiplier": null,
"error": {
"code": 2,
"description": "Game round is not found."
}
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Error codes
Below table contains the error codes that the Pragmatic Play system will return in the response to API calls.
Code Description
1 Authentication failed. Incorrect secure login and secure password combination (will be returned also if
the hash code validation is failed)
2 Game round is not found.
3 Validation failed. One or several input parameters is not set or set incorrectly.
10 Incomplete game. Game round is not finished by the player.
100 Internal server error.

Examples
This section provides the examples of smResult field generated for various combinations. The content of the field generated
by the service was formatted for easier understanding.
Paying symbol
The symbol that pays itself and is not required to be on a payline.
0: 1;10;8;10;9# //Game screen
12;11;5;3;12#
8;4;1;6;1#
R#1#P1#0;12;14#MV#8.75#MT#2# //Symbol 1 paying 8.75 and its positions

Winning in bonus game


Bonus game (BG) was triggered by a scatter, which is not required to be on a payline.
0: 3;13;13;13;3# //Game screen
3;13;3;13;3#
3;13;13;13;13#
3;3;13;13;13#
R#3#P3#0;5;10;15#MV#5.5#MT#2# //Symbol 3 triggered the BG, its positions and BG win amount

Hidden paying symbol


The symbol is paying, and it is hidden and not shown to the player explicitly because it was replaced on the game screen by
an expanding symbol.
0: 12;12;2;9;2# //Game screen
9;9;2;10;9#
2;2;2;2;11#
R#9#H9#111#MV#0.25#MT#2# //Winning lines begin
R#12#H12#000#MV#0.15#MT#2#
R#2#H2#2222#MV#2.5#MT#2#
R#9#H9#210#MV#0.25#MT#2#
R#9#H9#12221#MV#2.5#MT#2#
R#12#H12#0012#MV#0.5#MT#2#
R#9#H9#22100#MV#2.5#MT#2#R
#9#H9#12101#MV#2.5#MT#2#
R#9#H9#211#MV#0.25#MT#2#
R#9#H9#212#MV#0.25#MT#2#
R#9#H9#110#MV#0.25#MT#2#
R#9#H9#112#MV#0.25#MT#2#
R#12#H12#002#MV#0.15#MT#2#
R#2#H2#2202#MV#2.5#MT#2#
R#12#H12#02220#MV#1.25#MT#2#
R#12#H12#200#MV#0.15#MT#2#
R#9#H9#12021#MV#2.5#MT#2#
R#12#H12#02020#MV#1.25#MT#2#
R#12#H12#202#MV#0.15#MT#2# //Winning lines end
R#1#P1#2;4;10#MV#1.25#MT#2# //Symbol 1 pays 1.25 but its positions do not match game screen

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

15.5 South Africa RoundDetails


API specification
Request path: POST /regulation/SA/roundDetails
SA RoundDetails method is optional and should be implemented only in the case when Operator want to receive additional
SA specific round details. This method is not available by default.
In case Casino Operator needs to enable this method, they should ask the Pragmatic Play’s Technical Support for
additional configuration.
Request parameters
Name Description Status
hash Hash code of the request. Required
roundId ID of the finished game round Required
providerId Game provider identifier Required

freeSpinsCount Number of free spins played within the round (Zero if no FS is played) Required
Total amount of winning which is won from FS( Zero if there no winnings
freeSpinsWin Required
in FS)

Response parameters
Name Description

error Error code


description Description of the error for troubleshooting
Example of HTTP request:
POST /regulation/SA/roundDetails HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

roundid=421&freeSpinsCount=10&freeSpinsWin=10.11&providerId=pragmaticplay&hash=b4672931ee1d78e4022-
faaadf58e37db

Example of JSON response:


Example of JSON response:

{
error": 0, "description": "Success"
}

Error codes
Below table contains the error codes that the Pragmatic Play system will return in the response to API calls.
Cod Description
e
Invalid hash code. Should be returned in the response on any request sent by Pragmatic Play if the hash code validatio
5
n is failed.
7 Bad parameters in the request, please check post parameters.
Internal server error. Casino Operator will return this error code if their system has internal problem and cannot proc
100
ess the request at the moment.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

15.6 Promo campaigns requirements for regulated markets


According to the new requirements (e.g Spanish certification requirements or Dutch Gaming Authority / KSA), an operator
needs to authenticate every player before letting them access any promo campaign (incl. FSB, Tournament and Prize Drop
campaigns). Players need to meet promotion criteria set by the particular regulator before participating in a promo
campaign. That is why operator should send player’s status (is player eligible for promo or not) to Pragmatic Play before
game suggests any promotions to that player. If player is eligible, player will receive a notification about existing
promotions and can take part in it. If player is not eligible, no promo notifications will be displayed.
Solutions:
Operator can notify PragmaticPlay system about player’s promo-access status in both ways, by special parameter in game
launch URL or special parameter in authenticate response

It is recommended For Casino Operator to use extraInfo parameter in authenticate response option, as this way is
secure and excludes possibility of promo access status control from player’s side.

extraInfo parameter in authenticate response has priority over promo parameter in game launch URL

1. extraInfo parameter in authenticate response


When player opens any of the Pragmatic Play games, Operator needs to send the specific parameterin authenticate
response which indicates player’s promo status "extraInfo":{"promoAvailable":"y"}
 If promoAvailable:”y” – it means that player is eligible for promotions and promo can be suggested to that player.
 If promoAvailable:“n” – it means that player is not eligible for promotions and promo should not be suggested to
that player.

2. promo parameter in game launch URL


Every time player opens any of the Pragmatic Play games, Operator needs to send the specific parameter with player’s
promo status. The new parameter promo will be added into launcher with possible values y – yes/n – no.
 If promo = y – it means that player is eligible for promotions and promo can be suggested to that player.
 If promo = n – it means that player is not eligible for promotions and promo should not be suggested to that
player.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

XVI. Integration with demo games


Important: In order to start using demo games, the Operator must implement the opening of the games through
the appropriate use of the playMode parameter in the methods:

 3.1.2 GameURL for Seamless Wallet API


*stylename - SecureLogin configured for real brand on PragmaticPlay side.
It should be sent in order to launch Demo session with real game configurations, such as RTP, in markets where it is
required by regulation.
Also, to launch demo game with real bet scales configuration, operator has to send optional parameter "cur" in game
launch URL
In case Casino Operator needs real game configuration to be loaded in demo games with stylename, they should ask the Pragmatic Play’s
Technical Support for additional configuration.

 4.8 StartGame for Balance Transfer API

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

[Link] Integration API


Bingo Game API
Using Bingo game API, OPERATOR is able to integrate both types of games: web versions for desktop and mobile devices.
Provider provides Bingo builds based on HTML5 technology. HTML5 versions are available for desktop and mobile devices.

Definitions

List of definitions for the OPERATOR:


1. Bingo room – specific theme for web client.
2. Bingo game session – order of bingo games for specific period of time and bingo room.
3. Bingo game – specific settings in game for bingo game round.

17.1 Bingo room Launching


Room opening

Bingo game launch URL (deprecated)

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Bingo gameURL API method


Request path: POST /game/url
Using this method Operator can receive a valid launch URL to requested game.
Request parameters

Name Description Status

secureLogin User name for authentication in the Casino Game API service. Required

room The unique identifier for Bingo room (for bingo lobby 9999). Required

language Language on which the game should be opened. Required

token Secure one-time token is generated by OPERATOR for specific player. Required

Unique identifier of the player within the Casino Operator system.


Parameter value is case-sensitive.
Example: joe1001, 2644987, playerABC*, playerAbc*
externalPlayerId Required
 playerABC and playerAbc – are two different player accounts within Pragmatic
Play system

currency Player's ISO 4217 currency code. Examples: 'EUR' or 'USD'. Optional

platform Platform for which the game should be opened Optional

profileURL User profile page. Optional

promotionalURL A page which includes promotion information. Optional

A link to the page on the Operator’s website, to which the player will be redirected if they
choose to close the game.
rcCloseURL Optional
For an iframe, the following example should be used:
rcCloseUrl=javascript:[Link]='{[Link]

stylename Unique identifier of the OPERATOR at PROVIDER side (not for all integration protocols). Optional

cashierURL URL for opening the cashier on Casino Operator site when a player has no funds. Optional

lobbyURL URL for returning to Lobby page on Casino Operator site. This link is used for Back to Optional

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Lobby (Home) button in mobile version of games.

The external html page which shows user a list of mini slots and manages to launch them
gamesLobby Optional
(Mini Slots).

rci The reality check interval, in minutes. Optional

rce The reality check elapsed time, in minutes. Optional

A link to the player’s game history.

rcHistoryUrl For an iframe, the following example should be used: Optional

rcHistoryUrl=javascript:[Link]='{[Link]

A link to the page on the Operator’s website, to which the player will be redirected if they
choose to close the game.
rcCloseUrl Optional
For an iframe, the following example should be used:
rcCloseUrl=javascript:[Link]='{[Link]

responsibleGaming A separate page which contains ‘responsible gaming’ info. Optional

The parameter to define if bingo client needs to display some elements which are related
to full tab view. (ex logo in header). Available values:
isNewWindow Optional
 true – new window
 false – iframe inside OPERATOR`s website

selfTestPageURL For Sweden jurisdiction. Required logos link to Operator side. Optional

budgetURL For Sweden jurisdiction. Required logos link to Operator side. Optional

suspensionURL For Sweden jurisdiction. Required logos link to Operator side. Optional

For Sweden jurisdiction. This value Operator can set as initial for logged time session. In
timer Optional
case if parameter is empty, logged session will be calculated from beginning.
hash Hash code of the request Required

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Response parameters

Name Description

Link to the game to be open on the Pragmatic Play side. This link will contain special parameters which
gameURL
should remain as is.

Example of HTTP request:

POST /BingoIntegration/BingoGameAPI/game/url/ HTTP/1.1


Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=ext_test1&room=9999&language=en&currency=EUR&platform=WEB&token=dsgfssdf5g4dfg&stylename=ext
_test1&externalPlayerId=playerAbc&cashierURL=[Link]
[Link]/lobby/

Example of JSON response:

{
"error": 0,
"description": "OK",
"gameURL": "[Link]
key=token%3Ddsgfssdf5g4dfg%26room%3D9999%26language%3Den&stylename=test1"
}

The table below contains the error codes that the Pragmatic Play system will return in the response to GameURL API calls.

Code Description Further Action Recommendations

Error reason should be checked in


1 Internal error. Try later please.
relevant support channel.

Incorrect secure LOGIN and secure password combination (will be


2 Verify request values
returned also if the hash code validation is failed).

7 One or several input(s) is not set or set incorrectly. Verify request values

Check missing and required


14 Required field is empty: {0} is required.
parameters.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Hash calculation

Hash code is calculated with following formula:


From request post parameters, all parameters are taken (except hash) and appending to string:
6. Sort all parameter by keys in alphabetical order.
7. Append them in key1=value1&key2=value2.
8. Append secret key, e.g.: key1=value1&key2=value2SECRET.
9. Calculate the hash by using MD5.
10. Compare with hash parameter. In the case of failure Casino Operator should send the error code 5.

Desktop version of bingo client should have minimal width for wrapper (iframe) 840dp and height 500dp, so that content
can be fully displayed. In mobile version, for phones and tablets, the bingo client support min window width 320dp.
Our Backend allows to disable some elements in bingo client depending on its version:
1. For Mobile version:
- Multi Tabs – no switching between rooms within mobile bingo client interface;
- Balance – no balance with deposit button within mobile bingo client interface;
- Menu – no menu button within mobile bingo client interface;
- Mini-games lobby – no mini games functionality within mobile bingo client interface;
- Chat – no chatting functionality;
2. For Desktop version:
- Header – no header within desktop bingo client interface replacing balance and menu to interface below, no bingo
lobby functionality;
- Menu - no menu button within desktop bingo client interface;
- Balance – no balance field within desktop bingo client interface;
- Mini-games lobby – no mini games functionality within desktop bingo client interface;
- Chat - no chat area within desktop bingo client interface;

In order to access different settings and launch bingo client inside iframe on Operator websites, the following cases with
custom messages are available:
- { name: 'notifyCloseContainer' } - is sent for any closing event inside bingo client which notifies main window that
container with bingo client should be closed.
- in case if Operator requires room list filtration for lobby inside bingo client or preorders, by PP back office setting
will be activated automatically sending for cases when client has launched post message { type: 'getRooms' }. After
this Operator`s site should response with post message { type: 'rooms', roomIds: [...] }, with rooms which are avail-
able for current user. Each time when site list is updated, the new post message should be sent.
- { name: 'nonAuthorized' } - this post massage is sent to main window each time when non-logged user is trying to
open a room from bingo client, that site could show login form above bingo client.
- { type: ‘gameHistory', url: '/gameHistory/' } - is sent to main window = if Menu within bingo client interface is dis -
abled and Operator wants to use user bingo history from PP.
- { type: 'deposit' } - is sent to main window for deposit button action inside bingo client interface, if Operator re -
quires keep bingo client and deposit window in same tab. Need to be configured in PP back office.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"My Offers" page launch


How to Access Bingo Client and Display "My Offers" by Default.
Instruction:
Step 1: On the Operator's website, on a dedicated page, add a button with a link to the Bingo Client.
Step 2: If you want "My Offers" section to be displayed by default when user clicks on the button, make sure you add the
following parameter to the end of the URL: "&action=myOffers".
Step 3: An example of a link that, when clicked, will redirect the user to the Bingo client right in the "My Offers" section:
[Link] domain>/bingo/[Link]?
key=token%3D<token>%26room%3D<9999>%26language%3D<language>%26cashierURL%3D<cashierURL>%26lobbyURL%
3D<lobbyURL>%26profileURL%3D<profileURL>%26preBuyCardURL%3D<preBuyCardURL>%26promotionURL%3D<promotio
nURL>%26rci%3D0%26rce%3D0%26rcHistoryUrl%3D<rcHistoryUrl>%26rcCloseUrl%3D<rcCloseUrl>%26gamesLobby%3D<g
amesLobby>%26responsibleGaming%3D<responsibleGamingURL>%26selfTestPageURL%3D<OperatorUrl>budgetURL%3D<
OperatorUrl>suspensionURL%3D<OperatorUrl>timer%3D<playedPeriod>%26isNewWindow%3Dfalse&stylename=<operato
r_stylename>&action=myOffers
Step 4: Click on the button to load the Bingo client with “My Offers” section displayed by default.
Note: This feature is optional and is only available to Operators who choose to use it. If you do not want to use this feature,
simply do not add the "&action=myOffers" parameter to the end of the URL.
Additionally, Seamless Wallet API can be used for easy and seamless access to the Bingo client features.
If you encounter any issues or have any questions about accessing the Bingo client with the "My Offers" section displayed
by default, please contact our technical support team for assistance.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Mini-games
Bingo client allows OPERATOR to introduce user to Bingo, video slots and other games by using iframe in special area inside
web application.
In order to do that, the OPERATOR needs to create a special lobby page for mini-games list (should be hosted on OPERATOR
side), which will allow player to choose and play any mini-game inside Bingo client.
Iframe`s size for lobby page in the desktop version should have non-fixed height but alterable width between 720dp and
480dp. Mini-game will be launched in special container as separate iframe, by post message notification from lobby-page to
main window, in moment when user clicks to launch a min-game. The aspect ratio between width and height is 16:9 for
mini-game container in each resolution.
Iframe`s size for lobby page in the mobile version has alterable width between 320dp and higher, depends on device
display size, an aspect ratio of iframe between width and height is 16:9.
OPERATOR needs to implement special post messages logic for Bingo web client page.
Implementation of post messages by the dispatched event explanation:

‘otherWindow’ can listen to dispatched messages by executing the following JavaScript:

[Link]("message", receiveMessage, false);

function receiveMessage(event)
{
if ([Link] !== "[Link]
return;

// ...
}

NOTE: External link from the Operator side should always begin with HTTPS. CORS headers should always be present.

Example of implementation on OPERATOR side:


<div class="mini-games__item" >
<div
class="mini-games__item-img"
style="background-image: url(/resources/mini-slots/[Link])"
data-link="[Link] server domain}/gs2c/[Link]?key=<KEY_VALUE>&stylename={secureLogin}&gameSym-
bol=vs10madame&minimode=1"
></div>
</div>

Bingo client expects receive next:


[Link]([Link]({ type: 'OPEN_SLOT', link: <link of launcher>}), '*'); – when game is launching on
OPERATOR lobby page should be sent such post message.
For game Providers of mini-games to sync updating of balance between bingo and game, we recommend to support next
post message: postMessage( { name: 'updateBalance' }, '*' ). This post message will be sent by bingo client to child window
with mini-game container to update balance information.

For more information use the following documentation:


[Link]

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

17.2 Bingo integration API for OPERATOR side


This is a simple API for Pragmatic Play gaming platform to connect to player's wallet. API is an HTTP listener, which listens
application/x-www-form-urlencoded POST requests.

To connect player’s wallet at operator side, methods and specification which are described in section III Seamless Wal-
let API of current document should be used.

As an option, In order to set player’s nickname which will be used in bingo chat, provider can pass optional parameter
“nickname” in response of method 3.4 Authenticate.

Nickname
Request path: /[Link]
*request path is the same as for Seamless Wallet API

The method is optional and is not sent to the Casino Operator by default. In case Casino Operator needs this method to be
sent, they should ask Pragmatic Play’s Technical Support for additional configuration.

This method is used by Pragmatic Play side for informing OPERATORS about what nickname is used by player in bingo
system. For example, in situation when Operator doesn`t support nickname parameter in 3.4 Authenticate method, user
needs to set up nickname inside bingo game client, and this nickname will be forwarded back to the OPERATOR in this
method.

Request parameters
Name Type Description Status

userId String(100) Identifier of the user within the Casino Operator system. Required
nickName String(100) Current nickname of player in Pragmatic Play system. Required
providerId String (32) Game provider identifier. Required
hash String (32) Hash code of the request Required

Response parameters
Name Type Description Status
error Number Response status. Required
description String(250) Response status short description. Required

Example of HTTP request:


POST /[Link] HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

nickName=PlayerNickname&userId=16b31c8848b21&providerId=PragmaticPlay&hash=d8450312aee2fe68c76f80be
75d26849

Example of JSON response:

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

{
"error": "0",
"description": "OK",
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Free Spins Bonus Prizes

This feature allows operator to set prize type as Free Spins Bonus (FSB), which further can be used by player in
PragmaticPlay slot games.
In order to support Spinner room with FSB prizes in BINGO product, In 3.8 Result, 3.11 EndRound, 3.8 BonusWin methods
will be added new optional array specPrizes[#] with next parameters inside:
 specPrizeAmount – number of FSB which was won by player in bingo game
 specPrizeCode – uniqual FSB bonus code within PP system per bingo game and player.
 specPrizeType – “FSB” which will be special mark that this prize is Free Spins bonus for casino game
This list is optional and is not sent to the Casino Operator by default. In case Casino Operator needs this parameter to be
sent with request they should ask the Pragmatic Play’s Technical Support for additional configuration. Such result should be
sent only if player won FSB with other monetary prize. Otherwise if players has only FSB prize in current game, this list
should be taken from endRound and result is not sent. If Operator`s players participate in bingo games with FSB prizes but
this list is not set up, result won`t be sent at all and round will be closed without winners on Operator side.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

17.3 Bingo integration API for PROVIDER side


Hash calculation
In Provider side API security hash is passed as special request header x-hash
Consider the RoomList request as an example of hash calculation.

NOTE: parameter names should be taken for calculation by order from json request

Phase 1: Get request body


Example:
{
"language": "en",
"playerID": "1677d81655c46",
"secureLogin": "secure_login"
}

Phase 2: Add ‘secure password’ to request body string


Example:
{
"language": "en",
"playerID": "1677d81655c46",
"secureLogin": "secure_login"
}secure_password

Phase 3 Encode MD5


Example:
62e80083e2ffb016890d33aae54a240d

Phase 4: Add x-hash header to the request


Example:
POST /BingoIntegration/BingoGameAPI/RoomList HTTP/1.1
Host: api-domain
-H 'x-hash: 62e80083e2ffb016890d33aae54a240d'
-H ‘Content-Type: application/json’
-d '{
"language": "en",
"playerID": "1677d81655c46",
"secureLogin": "secure_login"
}'

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

RoomList V2
This method returns a list of active bingo rooms for the current time period.
Request parameters
Property Type Description Status
playerId String Unique player identifier Optional
language String Player’s language by ISO 639-1 Optional
secureLogin String Login to access the API Required

currency String Currency of player ('EUR', 'USD') Required

Example of request:
POST /BingoIntegration/BingoGameAPI/RoomList/v2 HTTP/1.1
Content-Type: application/json
X-hash: 2bb56e5d20e5565563d22a6489b2cd74
Host: [Link]
Content-Length: 114

{
"playerId" : "1623e6952764",
"currency" : "EUR",
"language" : "en",
"secureLogin" : "brand_login"
}

Response parameters
Property Type Description
error integer Response status.
description string Response status - short description.
activeRoomList Array of 'Room V2' type List of active bingo rooms.
upcomingRoomList Array of 'Room V2' type List of upcoming bingo rooms.

Structure ‘RoomV2’
Property Type Description
roomId long Bingo room identifier.
bingoType integer Bingo game type
roomName string Bingo room name.
cardCost List Array of card cost of package. More one element if multi
stake game.
gamePrize Array of type 'PrizeStructure' Array of game prize. More one element if multi stake game.
jackpots Array of type 'JackpotStructure' Jackpots amounts
nextGameStart number Starting time of the next game.
(in UNIX timestamp in ms)
playersBoughtCards integer Number of players who bought cards for the current game.
playersInRoom integer Number of players in the current bingo room.
jurisdiction string May contain one or multiple jurisdictions comma separated
inSession boolean Always false

private boolean Possible values - true, false. If true - the room has specific
entry conditions. If false – regular public room.
x2goPrizes Map type 'PrizeStructure' Map of x to go prizes. Key- Value
rollOnPrizes Map type 'PrizeStructure' Map of Roll on prizes Key- Value

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Structure ‘PrizeStructure’
Property Type Description

amount Double (optional) Prize amount or equivalent prize


amount on request currency.
prizeType String (SpecificPrizeType) Type of prize (monetary, FRB, PhysicalPrize).
specificName String (optional) Specific prize name.
specificAmount Double (optional) Specific prize amount.
betPerLine Double (optional) Only for prize type FRB.

Structure ‘JackpotStructure’
Property Type Description

jackpotId long Id vof current jackpot.


name String Name of jackpot.
prize Structure of type 'PrizeStructure' Jackpot prize
jackpotType Type of jackpot (PJP - Progressive JP, FJP -
String Fixed JP, CPJ - Community Progressive JP, CFJ -
Community Fixed JP).

NOTE: In one game can be either Xtogos or Roll-ons as additional prizes, or nothing

Example of response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 3644

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

{"error":0,"description":"OK","activeRoomList":[{"roomId":1000,"bingoType":75,"roomName":"Room
1000","cardCost":[1.25],"gamePrize":
[{"amount":100,"prizeType":"monetary"}],"nextGameStart":0,"jackpots":
[{"jackpotId":100205,"name":"Jackpot","prize":
{"amount":25000,"prizeType":"monetary"},"jackpotType":"FJP"}],"playersBoughtCards":25,"playersInRoo
m":10,"jurisdiction":"99","inSession":false,"x2goPrizes":{"3":
{"amount":10,"prizeType":"monetary"}},"private":false},
{"roomId":1001,"bingoType":75,"roomName":"Room 1001","cardCost":[1.27],"gamePrize":
[{"prizeType":"FRB","specificName":"Release the
Kraken","specificAmount":333,"betPerLine":0.1}],"nextGameStart":0,"jackpots":
[{"jackpotId":100206,"name":"Jackpot","prize":{"prizeType":"FRB","specificName":"Release the
Kraken","specificAmount":2500,"betPerLine":0.1},"jackpotType":"FJP"}],"playersBoughtCards":25,"play
ersInRoom":10,"jurisdiction":"99","inSession":false,"rollOnPrizes":{"1":
{"prizeType":"FRB","specificAmount":10}},"private":false},
{"roomId":1002,"bingoType":75,"roomName":"Room 1002","cardCost":[1.27],"gamePrize":
[{"amount":100,"prizeType":"monetary"}],"nextGameStart":0,"jackpots":
[{"jackpotId":100207,"name":"Jackpot","prize":
{"amount":15000,"prizeType":"PhysicalPrize","specificName":"CITROËN C3
AIRCROSS","specificAmount":1},"jackpotType":"FJP"}],"playersBoughtCards":25,"playersInRoom":10,"jur
isdiction":"99","inSession":false,"rollOnPrizes":{"1":
{"amount":10,"prizeType":"monetary"}},"private":false},
{"roomId":1003,"bingoType":75,"roomName":"Room 1003","cardCost":[1.27],"gamePrize":
[{"amount":100,"prizeType":"monetary"}],"nextGameStart":0,"jackpots":
[{"jackpotId":100208,"name":"JP1","prize":
{"amount":15000,"prizeType":"PhysicalPrize","specificName":"CITROËN C3
AIRCROSS","specificAmount":1},"jackpotType":"FJP"},{"jackpotId":100209,"name":"JP2","prize":
{"amount":25000,"prizeType":"monetary"},"jackpotType":"FJP"},
{"jackpotId":100210,"name":"JP3","prize":{"prizeType":"FRB","specificName":"Release the
Kraken","specificAmount":2500,"betPerLine":0.1},"jackpotType":"FJP"}],"playersBoughtCards":25,"play
ersInRoom":10,"jurisdiction":"99","inSession":false,"rollOnPrizes":{"1":
{"amount":10,"prizeType":"monetary"}},"private":false}],"upcomingRoomList":[]}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

JackpotWinners
This method returns jackpot winners with all required information for specific date.

Request parameters
Property Type Description Staus
secureLogin String Login to access the API Required
dateFrom Number Start date of the request. UNIX time in ms Required
dateTo Number End date of the request. UNIX time in ms Required
language String Player’s language Optional

Example request
POST /BingoIntegration/BingoGameAPI/JackpotWinners HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 75b4923eef6667b9833dd2fa6f3fcaab
{"dateFrom":1544054400000,"dateTo":1544140800000,"language":"en","secureLogin":"vitalis"}

Response parameters
Property Type Description Status

error Number Response status. Required


description String Response status short description. Required
jackpotWinners array of type The list of objects for transferring information about jackpot Required
'JackpotWinner' winners.

Structure 'JackpotWinner'
Property Type Description Status
playerID string Unique player identifier. Required
nickname string Player's nickname. Optional
amount double Jackpot won amount. Required
dateTime number Date and time when jackpot is won. UNIX time in ms Required
jackpotName string Name of the jackpot. Required
roomID number ID of the room. Required
bingoType integer Bingo game type (75,90,80,50,30) Required
gameName string Name of the game when jackpot is won. Required
roundID number ID of the round. Required
сurrency string Player’s currency ISO 4217 Required

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example response
{
"error": 0,
"description": "OK",
"jackpotWinners": [
{
"playerID": "169d886556e2",
"nickname": "some_nickname",
"amount": 11.7,
"dateTime": 1556286943000,
"jackpotName": "progressive",
"roomID": 1582,
"bingoType": 75,
"gameName": "progressive jp game",
"bingoRoundID": 75741724,
"currency": "USD"
},
{
"playerID": "169d886556e2",
"nickname": "some_nickname",
"amount": 117,
"dateTime": 1556284044000,
"jackpotName": "static",
"roomID": 1582,
"bingoType": 75,
"gameName": "static jp game",
"bingoRoundID": 75741428,
"currency": "USD"
}
]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

ChangeNickname
This method is responsible for changing of player’s nickname.

Request parameters
Property Type Description Status

secureLogin string Login to access the API Required


playerID string Unique player identifier. Required
nickname string New nickname of the player. Required

Example request
POST /BingoIntegration/BingoGameAPI/ChangeNickname HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 06e0c41632d208c5b5b8fc3487279b99

{"playerID": "playerID","nickname": "NewNickname","secureLogin": "secureLogin"}

Response parameters
Property Type Description Status

Error number Response status. Required


description string Response status short description. Required

Example response
{
"error": 0,
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Bingo Player History


This method returns list of rounds that were played by player in specified period of time. It is available in BingoGameAPI.
Request parameters

Property Type Description Status


secureLogin string Login to access the API Required
playerID string Unique player identifier Required
startDate number Starting date of request period. UNIX time in ms Required
endDate number End date for request period. UNIX time in ms Required
Language string Player’s language Required
roundID Number Round ID for player transaction from common API. Optional
bingoRoundID Number Unique identifier of played bingo round from Provider side. Optional
fromIndex number Starting index for result order in response Required
pageOffset integer Number of result on page (limit 50 items) Required

NOTE: In this request can be sent one of 2 parameters: roundID or bingoRoundID or without in case search for time-
frame

Example request:
POST /BingoIntegration/BingoGameAPI/BingoPlayerHistory HTTP/1.1
Host: [Link]
x-hash: 146ad89345eca759410c31ab3d72458b
Content-Type: application/json

{"secureLogin":"securelogin","playerID":"16243a2ec4218f2","startDate":1543660263791,"endDate":15446
10663791,"language":"es","roundID":20006700607,"fromIndex":0,"pageOffset":50}

Response values
Property Type Description Status
error string Number of errors. Required
description string Description of error Required
bingoRounds array of type List of rounds. Required
'Rounds'
count long Number of founded results Optional

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Structure 'Rounds'
Property Type Description Status
bingoRoundID long Unique identifier of played bingo round from Provider side. Required
roomName string Name of room where the round was played Required
roundDate number Date and time of round start. UNIX time in ms Required
price double Sum of money which was spent by player Required
cardsNumber integer Sum of cards which were bought for round Required
givenCardsNumber Integer The number of cards given to player in addition (relevant for Buy X get Y Required
games).
freeCardsNumber integer The number of cards, which are played by player as free cards from FSB. Required
prize double Sum of money which player won Required

Example response:
{
"error": 0,
"description": "OK",
"bingoRounds": [
{
"bingoRoundID": "71635203",
"roomName": "vcb wwg sky1 75 vcb es",
"roundDate": 1544087429000,
"price": 10,
"cardsNumber": 10,
"givenCardsNumber": 10,
"freeCardsNumber": 10,
"prize": 506.01
}
],
"count": 1
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Bingo Round History


This method returns information about bought / given cards for specified bingo game as well as information about played
bingo games. It can be also used for receiving information about number of cards in a game.
Request parameters
Property Type Description Status
secureLogin string Login to access the API Required
roundID number Round ID for player transaction from wallet API. Required
bingoRoundID number Unique identifier of played bingo round from Provider side. Required
language string Player’s language. Optional

NOTE: In this request should be sent at least one of 2 parameters: roundID or bingoRoundID

Example request:
POST /BingoIntegration/BingoGameAPI/BingoRoundHistory HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 448f27e631b836c4549b49d492fb3423

{"roundID": 1000, "language": "en", "secureLogin": "securelogin"}

Response parameters
Property Type Description Status
gameName string Name of the game. Optional
gameID Number ID of the game. (Bingo game ID) Required
roomID Number ID of the room. Required
bingoType integer Bingo game type (75 or 90) Required
bingoRoundID number Unique identifier of played bingo round from Provider side. Required
bingoCalls string Called numbers divided by whitespaces up to winning call. Optional
bingoWinners array of BingoWinners The list of objects with information about pattern and winners Required
per game part. For usual game this list contain single object.
boughtCards array of type The list of objects with information about players and cards Required
'BoughtCards' number, bought for specific round.
error number Response status. Required
description string Response status short description.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Structure 'BingoWinner'
Property Type Description Status
partNumber integer Number of part for which winners are returned. Required
pattern string Name of the pattern for current part. Required
winningCallNumber integer Number of call when prize was won. Required
winnerDetails array of Required
‘BingoWinnerDetails

Structure BingoWinnerDetails’
Property Type Description Status

playerID string Unique player identifier on operator's side Required


currency string Currency of player Required
prizeAmount double Prize amount won Required
jpAmount double Jackpot amount won Required
cardID number ID of the winning card Required
nickname String Player nickname. Required

Structure 'BoughtCards'
Property Type Description Status
playerID string Unique player identifier. Required
boughtCardsNumber integer The number of cards bought for specific round by player. For free games it Required
is number of cards, given automatically to player during purchase period.
For fixed-price game it will be number of cards in a pack.
givenCardsNumber integer The number of cards given to player in addition (relevant for Buy X get Y Required
games).
freeCardsNumber Integer The number of cards, which are played by player as free cards from FSB. Required
cardCost double Cards cost for specific bingo round. For fixed-price game it will be cost of Required
one card from pack.
currency string Currency of the player (ISO 4217). Examples: EUR' or USD'. Optional

Example response:
{"error":0,"description":"OK","gameName":"vcb wwg sky1 game grid it" ,"bingoType":75,
"bingoRoundID":71635203,"gameID":5800,"roomID":1202,"bingoCalls":"22,68,55,9,73,60,71,25,65,32,39,12,38,
13,28,21,56,61,41,11","bingoWinners":[{"partNumber":1,"pattern":"Crazy Any 3 Corners","winningCallNum-
ber":20,"winnerDetails":
[{"playerID":"16243a2ec4218f2","nickname":"sk_en_65","currency":"USD","prizeAmount":1.67,"jpAmount":167,
"cardID":79000},
{"playerID":"16243a2ec4218f2","nickname":"sk_en_65","currency":"USD","prizeAmount":1.67,"jpAmount":167,"
cardID":79006},
{"playerID":"16243a2ec4218f2","nickname":"sk_en_65","currency":"USD","prizeAmount":1.67,"jpAmount":167,"
cardID":79005}]}],"boughtCards":[{"playerID":"16243a2ec4218f2","boughtCardsNumber":10,"givenCardsNum-
ber":10,"freeCardsNumber":10,"cardCost":1,"currency":"USD"}]}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Error Codes
Tables below contain the error codes that should be returned by PROVIDER in the response.
Shared exceptions:
Code Description

0 "OK"

100 Internal Service Error

5 Incorrect secureLogin or/and securePassword

7 Required field is empty: '{0}' is required

8 Field {0} is wrong. {0} will contain a field causing an error.

9 Player with transferred nickname already exists

10 Player is not found

11 Currency code '{0}' is incorrect or unsupported

Bingo exceptions:
Code Description

101 You cannot order cards more than max available number

102 Pre-order of cards is not allowed at this point of time for the selected game

103 This game is not available anymore. Please order cards to another game

105 The requested data is not found

106 The cards were not found according to the criteria

107 incorrect number of cards

1 Insufficient balance

109 Wallet transaction failed

110 Max number of cards are already bought for this round

Bonus service exceptions:


Code Description

202 Request problem. Empty mandatory field '%s'. '%s' will contain a field causing an error

203 Room(s) are not supported: %s. '%s' will contain ID of a room / rooms causing an error

204 Game(s) do not support FR bonus: %s. '%s' will contain ID of a game / games causing an error

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

205 May be raised when Creating a Bonus. Bonus code already exists

206 May be raised when Cancelling a Bonus. Bonus is not found or already released

207 May be raised when Cancelling a Bonus. Bonus is already canceled

208 May be raised when Cancelling a Bonus. FS bonus is started to play

211 May be raised when Creating a Bonus. Expiration date limit has been exceeded

212 May be raised when Creating a Bonus. Expiration date can't be in the past

214 May be raised when Creating a Bonus. Same bonus already exists (player, rooms, expire_date etc)

215 Request problem. Type mismatch for value '%s'. '%s' will contain a value causing an error

216 Request problem. Wrong json data: '%s'. '%s' will contain a data causing an error

217 Deprecated. Validity date must be after expiration date

219 Deprecated. Room `%s` does not support %s bonus. '%s' will contain room ID and bonus ID causing an
error
220 Deprecated. May be raised when Creating a Bonus. Bonus does not support selected room

221 Invalid bonus type

222 Invalid min price

223 Invalid max price

224 Minimum price should be less or equal to maximum price

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

17.4 Free tickets API


ActiveGameConfigs
This method returns a list of used game configurations in each Bingo room.

Request parameters
Property Type Description Status
secureLogin string Login to access the API Required
currency string Currency symbol (ISO 4217) Optional
roomID Number Bingo room identifier. Optional

Example of request
POST /BingoIntegration/FreeTicketsAPI/ActiveGameConfigs HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 75b4923eef6667b9833dd2fa6f3fcaab

{
"currency": "USD"
, "roomID": 1582
, "secureLogin": "7casino"
}

Response parameters
Property Type Description
error number Response status.
description string Response status - short description.
rooms array of type 'Rooms' List of Bingo rooms with details

Structure 'Rooms'
Property Type Description
roomName String Bingo room name

roomID Number Bingo room identifier.

standardFT Boolean True or false. True - if standard free tickets can be used to play in
this room
monetaryFT Boolean True or false. True - if monetary free tickets can be used to play in
this room
gameConfigs array of type ' gameConfigs ' List of game configurations for bingo rounds

Structure 'gameConfigs'
Property Type Description
gameConfigID String Unique game configuration ID within the Pragmatic play.

gameName String Name of Bingo game.

cost Number Cost for a ticket or cost for a pack (depending on the settings)
type String Defines purchase of tickets type (by one or by fixed pack)

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

prize Number Initial game prize pot for all parts in platform currency
x2goPrizes Array of the type Arrays of Xtogo prizes
‘x2goPrizes’
jackpot Boolean True or false. True If the jackpot is included in this game
rollOnPrizes Array of the type Array of Roll on prizes
‘rollOnPrizes’
prizeType string FRB – for FRB prizes, this value present only when special
prizes
betPerLine Number Value of money for one line in casino games for player currency.
This value present only when FRB prizes

Structure 'rollOnPrizes’'
Property Type Description
rollOn Number Level of Roll on prize

prize Number Pot for each Roll on prize

Structure 'x2goPrizes’'
Property Type Description
x2go Number Level of XtoGO prize

prize Number Pot for each Xtogo prize

NOTE: If currency is not sent in request, in response there will be platform currency

Example of response
{"error":"0","description":"OK","rooms":[{"gameConfigs":[{"gameConfigID":"1522-6505","gameName":"uk
fixed 75","cost":12.58,"type":"One ticket","prize":125.8,"x2goPrizes":[],"jackpot":false},
{"gameConfigID":"1522-6563","gameName":"free_game_uk","cost":0.0,"type":"One
ticket","prize":30.0,"x2goPrizes":[],"jackpot":false},{"gameConfigID":"1522-6623","gameName":"very low
prize","cost":1.25,"type":"One ticket","prize":0.0,"x2goPrizes":[],"jackpot":true},
{"gameConfigID":"1522-6624","gameName":"very low","cost":0.13,"type":"One
ticket","prize":0.0,"x2goPrizes":[{"x2go":1,"prize":12.5}],"jackpot":true},{"gameConfigID":"1522-
6513","gameName":"uk mixed","cost":12.58,"type":"One ticket","prize":2516.0,"x2goPrizes":
[],"jackpot":false}],"roomName":"UK","roomID":1522,"standardFT":true,"monetaryFT":false}]}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

CreateFreeTickets
The following method provides the possibility to award players with free tickets.

Request parameters
Property Type Description Status
secureLogin string Login to access the API Required
playerID string Id of the player within the operator’s system Required
string Defines the type of free tickets
 "STANDARD" (Free tickets that don’t have cost and
don't participate in prize contribution)
 "MONETARY" (Free tickets that don’t have influ-
freeTicketsType ence on player’s balance but contribute and con- Required
sider as normal ticket for reports)
 "FLEXIBLE" (Free tickets can have standard or
monetary type, depending on configuration of
Bingo Room where they are used by player)
roomIDList Array List of symbolic unique rooms identifiers in scheduler Required
Required
(Optional for FLEXIBLE
freeTicketsType)
freeTickets Number Number of free tickets awarded. Required
minCostTicket Number Min ticket price in the game where Free tickets can be used Optional
(in platform currency)
maxCostTicket Number Max ticket price in the game where Free tickets can be used Optional
(in platform currency)
bonusCode string Unique bonus identifier within the Casino Operator system. Required
expirationDate Number Date and time of Free Spins expiration. Optional
(timestamp in milliseconds)

Example of request
POST /BingoIntegration/FreeTicketsAPI/CreateFreeTickets/ HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 75b4923eef6667b9833dd2fa6f3fcaab

{"secureLogin":"7casino","playerID":"165f69774e61b","freeTicketsType":"STANDARD","roomIDList":
[1682,1282],"freeTickets":10,"minCostTicket":0.0,"maxCostTicket":100.0,"bonusCode":"BC1587849079708
","expirationDate":1587849079708}

Response parameters

Property Type Description


error number Response status.

description string Response status - short description

providerPlayerID number Player identifier within the Pragmatic Play system.

Example of response
{"error":0,"description":"OK","providerPlayerID":453816}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

CancelFreeTickets
This method provides the possibility to cancel free tickets.
Request parameters
Property Type Description Status
secureLogin String Login to access the API Required
bonusCode String Unique bonus id within the Casino Operator system. Required

Example of request
POST /BingoIntegration/FreeTicketsAPI/CancelFreeTickets/ HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 75b4923eef6667b9833dd2fa6f3fcaab

{"secureLogin":"7casino","bonusCode":"BC1587849079708"}

Response parameters

Property Type Description


error number Response status.

description string Response status - short description

status string Possible values - Canceled

bonusCode string Unique bonus id within the Casino Operator system.

Example of response
{"error":0,"description":"OK","status":"Canceled","bonusCode":"BC1587849079708"}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

ActiveFreeTickets
This method returns free ticket info per player.

Request parameters
Property Type Description Status
secureLogin String Login to access the API Required
roomID Number Bingo room identifier. Optional
playerID String Unique player identifier. Required

Example of request
POST /BingoIntegration/FreeTicketsAPI/ActiveFreeTickets/ HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 75b4923eef6667b9833dd2fa6f3fcaab

{"secureLogin":"7casino","playerID":"165f69774e61b","roomID":1111}

Response parameters

Property Type Description


error number Response status.

description string Response status - short description

bonuses Array of the `Bonuses` List of Free tickets owned by the player along with their
statuses

Structure 'Bonuses'
Property Type Description
bonusCode String Unique bonus id within the Casino Operator system.

roomIDList String Room identifiers within Pragmatic play. Represent all


rooms which are connected to this bonus code

status String Next types possible:


 Active (not all Free tickets are wagered)
 Pending (bonus is waiting to be claimed by
player)

freeTicketsType String Types:


 "STANDARD" (Free tickets that don’t have cost
and don't participate in prize contribution)
 "MONETARY" (Free tickets that don’t have in-
fluence on player’s balance but contribute and
consider as normal ticket for reports)

expirationDate Number Date when free tickets become unavailable.


Timestamp in milliseconds
activeFreeTickets Number Available Free tickets that can be used by the player

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

playedFreeTickets Number Free tickets that were used by the player

awardingDate Number Date when bonus was created in PP system.


Timestamp in milliseconds
minCostTicket Number Min ticket price in the game where Free ticket can be
used (in platform currency)
maxCostTicket Number Max ticket price in the game where Free ticket can be
used (in platform currency)

Example of response
{"error":0,"description":"OK","bonuses":
[{"roomIDList":"1262","bonusCode":"BC23","expirationDate":1587640451179,"freeTicketsType":"STANDARD","st
atus":"P","activeFreeTickets":5,"playedFreeTickets":0,"awardingDate":1586765653150,"minCostTicket":0.0,"
maxCostTicket":2.0},
{"roomIDList":"1576","bonusCode":"BC1587629820144","expirationDate":1587640620144,"freeTicketsType":"MON
ETARY","status":"P","activeFreeTickets":5,"playedFreeTickets":0,"awardingDate":1586765822146,"minCostTic
ket":0.0,"maxCostTicket":2.0}]}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

XVIII. Live Casino Integration


To connect player’s wallet at operator side, methods and specification which are described in section III Seamless Wal-
let API of current document should be used.

18.1 Live Casino Dynamic Games Access


DGA Overview
DGA stands for Dynamic Games Access.
DGA is a data transfer system that will provide our operators with game table data to populate thumbnails on their website.
Functionality will use HTML Websockets protocol to transfer the data to the operator’s website in real time. Data will be
consumed in JSON format.

WebSocket data feed


Pragmaticplay will provide the operator with a JavaScript API (.js file) to handle the HTML Websocket protocol. Using this
API an operator will be able to make a successful subscribe to the websockets and also have functions available to listen
and consume the incoming data. Doing this will allow an operator a very easy way of managing the data on their website.

Data feeds
The type of information that will be delivered to an operator through the DGA system will be the following:
 Table Name, language specific table info & image.
 Table Limits
 Table Open/Closed
 NewTable(true/false) (if new table is createdand in less than 30 days, will be passed newTable:true , otherwise -
newTable:false)
 Dealer Name
 Roulette
o Last 20 results
o Updated after each game round
o Number of players in the game
 Baccarat
o Shuffle notifications
o Last 21 results
o Updated after every game
o baccaratShoeSummary - Provides the total number of completed games, along with a breakdown of
results: number of Player wins, Banker wins, Tie outcomes, as well as the count of Player Pair and Banker
Pair occurrences
 Blackjack
o Seats taken/seats open
 One Blackjack
o Number of players in the game
 Game Shows
o Last 20 results
 Slots of multipliers (if applicable)
o Number of players in the game
 Mega Sic Bac

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

o Last 21 results
o Number of players in the game
 Football Blitz Top Card
o Last 21 results
o Number of players in the game
 Sic Bo
o Last 20 results with each die value and their total sum
o Number of players in the game
 Dragon Tiger
o Last 21 results
o Statistics
o Shuffle notifications
o Number of players in the game
 Andar Bahar
o Last 21 Results
o Number of players in the game

JavascriptAPI
Using PP’s javascript API the operator will be able to handle the DGA data much easier. Depending on the chosen push or
pull functionality, the .js file will include functions to subscribe, listen and consume data. The API will include the source
code file(.js) and also how to use the functions provided
Latest js file can be found on:
[Link]

Example of the functions contained inside the API

To start consuming the game information from Pragmatic Play’s tables you will need to follow a few steps:
Step1
[Link](‘server’)
Server could be set to live or staging URL. Pragmatic Play will provide this.
1 server connection.
[Link](‘casinoID’)
Request will return all tables available for selected casino. Pragmatic Play will provide the
relevant casinoID once integration of DGA starts.
[Link](‘casinoID', ‘tableID‘, ’currency’);
Multiple subscribe methods. 1 subscribe method for each table you would like to get info from.
Connect to a table to receive table information. tableIDs will be provided.
Currency is optional. When empty EUR values will be sent. Please consult Pragmatic Play for
supported currencies.
[Link]()
When [Link](‘server’) has successfully connected to DGA server, then the [Link]()
method can be invoked. This can then be used to contain all the subscribe methods.
Step 2
[Link](data)
To consume data. Data will be contained as an object for ease of use. Override this method to
start using the response information.
Please see Data format & object example on the next page. Every time the table info updates a
new object will be send with the updated information to be consumed
Step 3
[Link]()
disconnecting from service.
*when player leaves page a socket will normally auto disconnect as well.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Data Format
Data will be send to the operator using JSON format. As part of the API provided JSON format will be consumed as an object
(image on the right) for ease of use.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Andar Bahar
{
"closeTime": "1698285600000",
"currency": "EUR",
"dealer": {
"name": "No dealer"
},
"gameResult": [
{
"cardValue": "4",
"gameId": "3795108300",
"jokerScore": 4,
"result": 1,
"time": "Oct 25, 2023 7:27:48 AM",
"winner": "ANDAR"
},
{
"cardValue": "10",
"gameId": "3795106400",
"jokerScore": 10,
"result": 2,
"time": "Oct 25, 2023 7:27:48 AM",
"winner": "BAHAR"
},
],
"languageSpecificTableInfo": "",
"newTable": false,
"openTime": "1698228000000",
"tableId": "1024",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 500,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Andar Bahar",
"tableOpen": false,
"tableSubtype": "singletimer",
"tableType": "ANDARBAHAR",
"totalSeatedPlayers": 0
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Baccarat, Speed Baccarat, Mega Baccarat


{
"baccaratShoeSummary": {
"bankerPairCounter": "8",
"bankerWinCounter": "33",
"playerPairCounter": "5",
"playerWinCounter": "24",
"tieCounter": "7",
"totalGames": "64"
},
"currency": "EUR",
"dealer": {
"name": "Magdalene"
},
"gameLoaderKey": "baccaratgame",
"gameResult": [
{
"banker": 1,
"gameId": "4031588204",
"player": 8,
"time": "Oct 25, 2023 10:08:24 AM",
"winner": "PLAYER_WIN"
},
{
"banker": 4,
"gameId": "4031591004",
"player": 2,
"time": "Oct 25, 2023 10:08:47 AM",
"winner": "BANKER_WIN"
},
{
"banker": 1,
"gameId": "4031600104",
"player": 1,
"time": "Oct 25, 2023 10:09:58 AM",
"winner": "TIE"
}
],
"goodRoadsDepthMap": {
"bankerPingPongDepth": 5,
"bankerSandwichDepth": 0,
"bankerStreakDepth": 0,
"oneTwoBankerDepth": 0,
"oneTwoPlayerDepth": 0,
"playerPingPongDepth": 0,
"playerSandwichDepth": 0,
"playerStreakDepth": 0,
"separatedBankerDepth": 0,
"separatedPlayerDepth": 0,
"switchBankerDepth": 0,
"switchPlayerDepth": 0
},
"goodRoadsMap": {
"bankerPingPong": true,
"bankerSandwich": false,

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"bankerStreak": false,
"oneTwoBanker": false,
"oneTwoPlayer": false,
"playerPingPong": false,
"playerSandwich": false,
"playerStreak": false,
"separatedBanker": false,
"separatedPlayer": false,
"switchBanker": false,
"switchPlayer": false
},
"grTableCount": 4,
"languageSpecificTableInfo": "",
"newTable": false,
"shuffle": false,
"statistics": "[[\"BB1\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PN0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PN0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PN0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"BB0\",\"BN0\",\"---\",\"---\",\"---\"],[\"PN0\",\"PP2\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"BN0\",\"BN0\",\"BN1\",\"BN0\",\"BN0\"],[\"PN0\",\"PB1\",\"---\",\"---\",
\"---\",\"BN0\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PN0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN1\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PB0\",\"PN0\",\"PB0\",\"---\",
\"---\",\"---\"],[\"BN0\",\"BN0\",\"---\",\"---\",\"---\",\"---\"],[\"PN0\",\"PN0\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"BN0\",\"BP0\",\"BN0\",\"---\",\"---\"],[\"PN0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PB0\",\"PP0\",\"---\",\"---\",
\"---\",\"---\"],[\"BB0\",\"BN0\",\"BN1\",\"BN0\",\"---\",\"---\"],[\"PN0\",\"PN0\",\"PN0\",\"PN0\",
\"---\",\"---\"],[\"BN0\",\"BN0\",\"BN0\",\"BP0\",\"---\",\"---\"],[\"PB0\",\"PN0\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PN0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PP0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"]]",
"tableId": "402",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 1200,
"minBet": 0.2,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Speed Baccarat 1",
"tableOpen": true,
"tableSubtype": "speedbaccarat",
"tableType": "BACCARAT",
"totalSeatedPlayers": 404
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Blackjack
{
"availableSeats": 3,
"betbehind": true,
"currency": "EUR",
"currentUserId": "",
"dealer": {
"name": "Kurtis"
},
"languageSpecificTableInfo": "",
"multiseat": true,
"multiseatLimit": 2,
"newTable": false,
"playerCount": 2,
"seat1": true,
"seat2": false,
"seat3": true,
"seat4": true,
"seat5": false,
"seat6": false,
"seat7": true,
"sidebets": true,
"tableId": "301",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 2500.0,
"maxPlayers": 500,
"minBet": 10.0,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Blackjack 11",
"tableOpen": true,
"tableSubtype": "bj2",
"tableType": "BLACKJACK",
"tableVariant": "bj2",
"totalSeatedPlayers": 4
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Speed Blackjack
{
"availableSeats": 7,
"betbehind": true,
"currency": "EUR",
"currentUserId": "",
"dealer": {
"name": "Cip"
},
"languageSpecificTableInfo": "",
"multiseat": false,
"multiseatLimit": 1,
"newTable": false,
"playerCount": 0,
"seat1": false,
"seat2": false,
"seat3": false,
"seat4": false,
"seat5": false,
"seat6": false,
"seat7": false,
"sidebets": true,
"tableId": "569",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 500,
"minBet": 50.0,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "SPEED BLACKJACK 4 RUBY",
"tableOpen": true,
"tableSubtype": "speedblackjack",
"tableType": "BLACKJACK",
"totalSeatedPlayers": 0
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

One Blackjack
{
"currency": "EUR",
"dealer": {
"name": "Cas"
},
"languageSpecificTableInfo": "",
"newTable": false,
"tableId": "901",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 600,
"minBet": 1.0,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "ONE Blackjack",
"tableOpen": true,
"tableSubtype": "OneBJ",
"tableType": "ONEBJ",
"tableVariant": "bj2",
"totalSeatedPlayers": 99
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Boom City
{
"currency": "EUR",
"dealer": {
"name": "Cédric"
},
"gameResult": [
{
"gameId": "3063322612",
"mr": 2.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 2.0,
"pr": 1.0,
"rc": 1,
"result": "2x",
"time": "Oct 25, 2023 9:45:20 AM"
},
{
"gameId": "3063322512",
"mr": 1.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 1.0,
"pr": 1.0,
"rc": 1,
"result": "BLANK",
"time": "Oct 25, 2023 9:44:52 AM"
},
{
"gameId": "3063322012",
"mr": 1.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 1.0,
"pr": 1.0,
"rc": 1,
"result": "1x",
"time": "Oct 25, 2023 9:43:27 AM"
},
{
"gameId": "3063321812",
"mr": 1.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 1.0,
"pr": 1.0,
"rc": 3,
"result": "BG2",
"time": "Oct 25, 2023 9:42:59 AM"
},

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

{
"gameId": "3063321512",
"mr": 1.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 1.0,
"pr": 1.0,
"rc": 4,
"result": "BG3",
"time": "Oct 25, 2023 9:41:01 AM"
},
{
"gameId": "3063321312",
"mr": 5.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 5.0,
"pr": 1.0,
"rc": 1,
"result": "5x",
"time": "Oct 25, 2023 9:39:30 AM"
},
{
"gameId": "3063321012",
"mr": 6.0,
"pe": true,
"powerUp": true,
"powerUpList": [
"3.0"
],
"powerUpTotal": 6.0,
"pr": 3.0,
"rc": 1,
"result": "2x",
"time": "Oct 25, 2023 9:38:33 AM"
},
{
"gameId": "3063320312",
"mr": 1.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 1.0,
"pr": 1.0,
"rc": 2,
"result": "BG1",
"time": "Oct 25, 2023 9:37:17 AM"
},
{
"gameId": "3063319312",
"mr": 40.0,
"pe": true,
"powerUp": true,
"powerUpList": [

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"40.0"
],
"powerUpTotal": 40.0,
"pr": 40.0,
"rc": 1,
"result": "1x",
"time": "Oct 25, 2023 9:31:25 AM"
},
{
"gameId": "3063319112",
"mr": 2.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 2.0,
"pr": 1.0,
"rc": 1,
"result": "2x",
"time": "Oct 25, 2023 9:30:36 AM"
}
],
"languageSpecificTableInfo": "",
"newTable": false,
"tableId": "1401",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 3000.0,
"maxPlayers": 3000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "BOOM CITY",
"tableOpen": true,
"tableSubtype": "BoomOrBust",
"tableType": "BOOMORBUST",
"totalSeatedPlayers": 295
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Dragon Tiger
{
"currency": "EUR",
"dealer": {
"name": "Lilly-Rose"
},
"dragonTigerShoeSummary": {
"dragonWinCounter": "17",
"tieCounter": "3",
"tigerWinCounter": "21",
"totalGames": "41"
},
"gameResult": [
{
"gameId": "3325819603",
"gameResult": 7,
"tableId": "ge49e4os88bp4bi5",
"time": "Oct 25, 2023 9:10:04 AM",
"winner": "DRAGON"
},
{
"gameId": "3325821003",
"gameResult": 12,
"tableId": "ge49e4os88bp4bi5",
"time": "Oct 25, 2023 9:11:39 AM",
"winner": "TIGER"
},
{
"gameId": "3325825303",
"gameResult": 9,
"tableId": "ge49e4os88bp4bi5",
"time": "Oct 25, 2023 9:16:48 AM",
"winner": "TIE"
},


],
"languageSpecificTableInfo": "",
"newTable": false,
"shuffle": false,
"statistics": "[[\"G0\",\"G0\",\"---\",\"---\",\"---\",\"---\"],[\"D0\",\"D0\",\"---\",\"---\",\"---
\",\"---\"],[\"G0\",\"G0\",\"---\",\"---\",\"---\",\"---\"],[\"D1\",\"---\",\"---\",\"---\",\"---\",
\"---\"],[\"G0\",\"G0\",\"G0\",\"---\",\"---\",\"---\"],[\"D0\",\"D0\",\"D0\",\"D0\",\"---\",\"---
\"],[\"G0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"D0\",\"---\",\"---\",\"---\",\"---\",\"---
\"],[\"G0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"D1\",\"D0\",\"D0\",\"D0\",\"D0\",\"---\"],
[\"G0\",\"G0\",\"---\",\"---\",\"---\",\"---\"],[\"D0\",\"D0\",\"---\",\"---\",\"---\",\"---\"],
[\"G0\",\"G0\",\"G0\",\"G0\",\"---\",\"---\"],[\"D0\",\"---\",\"---\",\"---\",\"---\",\"---\"],
[\"G0\",\"G0\",\"G0\",\"---\",\"---\",\"---\"],[\"D1\",\"---\",\"---\",\"---\",\"---\",\"---\"],
[\"G0\",\"G0\",\"G0\",\"---\",\"---\",\"---\"]]",
"tableId": "1001",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"maxPlayers": 5000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Dragon Tiger",
"tableOpen": true,
"tableType": "DRAGONTIGER",
"totalSeatedPlayers": 208
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Roulette, Speed Roulette, Auto Roulette


{
"currency": "EUR",
"dealer": {
"name": "Clay"
},
"languageSpecificTableInfo": "",
"last20Results": [
{
"color": "red",
"gameId": "4119005305",
"powerUpList": [],
"powerUpMultipliers": [],
"result": 23,
"time": "Oct 25, 2023 9:57:30 AM"
},
{
"color": "black",
"gameId": "4119001705",
"powerUpList": [],
"powerUpMultipliers": [],
"result": 20,
"time": "Oct 25, 2023 9:56:07 AM"
},
],
"newTable": false,
"tableId": "201",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 2000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Roulette Green",
"tableOpen": true,
"tableSubtype": "pp_dev_test_roulette",
"tableType": "ROULETTE",
"totalSeatedPlayers": 116
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

PowerUp Roulette
{
"currency": "EUR",
"dealer": {
"name": "Keanu"
},
"languageSpecificTableInfo": "",
"last20Results": [
{
"color": "red",
"gameId": "3063327712",
"powerUpList": [
"33 Black"
],
"powerUpMultipliers": [
25.0
],
"result": 18,
"resultMultiplier": 75.0,
"time": "Oct 25, 2023 10:02:07 AM"
},
{
"color": "black",
"gameId": "3063327512",
"powerUpList": [],
"powerUpMultipliers": [],
"result": 28,
"resultMultiplier": 25.0,
"time": "Oct 25, 2023 10:00:53 AM"
},
{
"color": "red",
"gameId": "3063324012",
"powerUpList": [
"30 Red",
"32 Red"
],
"powerUpMultipliers": [
25.0,
25.0
],
"result": 27,
"resultMultiplier": 175.0,
"time": "Oct 25, 2023 9:50:45 AM"
},
],
"newTable": false,
"tableId": "240",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 2000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

},
"tableName": "PowerUp Roulette",
"tableOpen": true,
"tableSubtype": "poweruproulette",
"tableType": "ROULETTE",
"totalSeatedPlayers": 388
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Lucky 6 Roulette
{
"currency": "EUR",
"dealer": {
"name": "Emeline"
},
"languageSpecificTableInfo": "",
"last20Results": [
{
"color": "black",
"gameId": "3606329917",
"result": 33,
"slots": {
"4": 50,
"7": 50,
"15": 50,
"16": 1188,
"23": 50,
"34": 188
},
"time": "Oct 25, 2023 10:06:39 AM"
},
{
"color": "black",
"gameId": "3606329417",
"result": 33,
"slots": {
"0": 50,
"16": 50,
"29": 88,
"32": 50,
"34": 50,
"36": 50
},
"time": "Oct 25, 2023 10:02:46 AM"
},
{
"color": "red",
"gameId": "3606329317",
"multiplier": 50,
"result": 14,
"slots": {
"10": 50,
"14": 50,
"20": 50,
"24": 88,
"25": 88,
"31": 88
},
"time": "Oct 25, 2023 10:01:57 AM"
},
{
"color": "red",
"gameId": "3606328217",
"multiplier": 50,

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"result": 27,
"slots": {
"3": 50,
"12": 50,
"18": 50,
"21": 50,
"27": 50,
"31": 50
},
"time": "Oct 25, 2023 9:53:20 AM"
}
],
"newTable": false,
"tableId": "211",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 4500,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Lucky 6 Roulette",
"tableOpen": true,
"tableSubtype": "megaroulette",
"tableType": "ROULETTE",
"tableVariant": "lucky6roulette",
"totalSeatedPlayers": 107
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Mega Roulette, Auto Mega Roulette


{
"currency": "EUR",
"dealer": {
"name": "Arlington"
},
"languageSpecificTableInfo": "",
"last20Results": [
{
"color": "black",
"gameId": "3712013702",
"powerUpList": [],
"powerUpMultipliers": [],
"result": 13,
"slots": {
"10": 200,
"11": 150,
"33": 50
},
"time": "Oct 25, 2023 9:58:39 AM"
},
{
"color": "red",
"gameId": "3712012402",
"multiplier": 50,
"powerUpList": [],
"powerUpMultipliers": [],
"result": 19,
"slots": {
"2": 100,
"19": 50,
"28": 100
},
"time": "Oct 25, 2023 9:56:57 AM"
},
{
"color": "red",
"gameId": "3712007902",
"powerUpList": [],
"powerUpMultipliers": [],
"result": 30,
"slots": {
"3": 200,
"10": 50,
"32": 50,
"34": 100,
"36": 50
},
"time": "Oct 25, 2023 9:51:09 AM"
},
{
"color": "black",
"gameId": "3712007202",
"multiplier": 150,
"powerUpList": [],

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"powerUpMultipliers": [],
"result": 2,
"slots": {
"2": 150,
"34": 150,
"36": 100
},
"time": "Oct 25, 2023 9:50:18 AM"
},
],
"newTable": false,
"tableId": "204",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 4500,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Mega Roulette",
"tableOpen": true,
"tableSubtype": "megaroulette",
"tableType": "ROULETTE",
"totalSeatedPlayers": 765
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Mega Wheel
{
"currency": "EUR",
"dealer": {
"name": "Maliha"
},
"languageSpecificTableInfo": "",
"last20Results": [
{
"gameId": "3147147509",
"multiplier": 88,
"result": 30,
"slot": 10,
"time": "Oct 25, 2023 10:25:04 AM"
},
{
"gameId": "3147147409",
"multiplier": 8,
"result": 2,
"slot": 1,
"time": "Oct 25, 2023 10:24:20 AM"
},
{
"gameId": "3147145909",
"multiplier": 20,
"result": 1,
"slot": 8,
"time": "Oct 25, 2023 10:12:18 AM"
},
{
"gameId": "3147145809",
"multiplier": 15,
"result": 10,
"slot": 5,
"time": "Oct 25, 2023 10:11:32 AM"
},
{
"gameId": "3147145709",
"multiplier": 88,
"result": 5,
"slot": 8,
"time": "Oct 25, 2023 10:10:45 AM"
}
],
"newTable": false,
"tableId": "801",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 1000.0,
"maxPlayers": 20000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Mega Wheel",

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"tableOpen": true,
"tableSubtype": "jackpotwheel",
"tableType": "MEGAWHEEL",
"totalSeatedPlayers": 3636
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Sic Bo
{
"currency": "EUR",
"dealer": {
"name": "Aesha"
},
"languageSpecificTableInfo": "",
"last20Results": [
{
"die1": 1,
"die2": 1,
"die3": 6,
"gameId": "4014748416",
"time": "Oct 25, 2023 10:23:08 AM",
"totalSum": 8
},
{
"die1": 1,
"die2": 1,
"die3": 3,
"gameId": "4014748116",
"time": "Oct 25, 2023 10:22:42 AM",
"totalSum": 5
},
{
"die1": 2,
"die2": 3,
"die3": 5,
"gameId": "4014747816",
"time": "Oct 25, 2023 10:22:16 AM",
"totalSum": 10
}
],
"newTable": false,
"shuffle": false,
"tableId": "701",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 2000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Mega Sic Bo",
"tableOpen": true,
"tableSubtype": "standard_sicbo",
"tableType": "SicBO",
"totalSeatedPlayers": 501
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Snakes and Ladders


{
"currency": "EUR",
"dealer": {
"name": "Bauden"
},
"gameResult": [
{
"bonusType": "NA",
"gameId": "3860360008",
"time": "Oct 25, 2023 9:54:40 AM",
"winBets": [
{"bc": "101", "mul": 2.0}
]
},
{
"bonusType": "SNLB",
"gameId": "3860358108",
"time": "Oct 25, 2023 9:54:10 AM",
"winBets": [
{"bc": "104", "mul": 35.0}
]
},
{
"bonusType": "NA",
"gameId": "3860357808",
"time": "Oct 25, 2023 9:52:20 AM",
"winBets": []
},
{
"bonusType": "NA",
"gameId": "3860355908",
"time": "Oct 25, 2023 9:50:34 AM",
"winBets": [
{"bc": "101", "mul": 20.0}
]
},
{
"bonusType": "TOTM_B",
"gameId": "3860353708",
"time": "Oct 25, 2023 9:47:35 AM",
"winBets": [
{"bc": "107", "mul": 6.0}
]
},
{
"bonusType": "NA",
"gameId": "3860352708",
"time": "Oct 25, 2023 9:44:57 AM",
"winBets": [
{"bc": "103", "mul": 5.0},
{"bc": "102", "mul": 1.0},
{"bc": "101", "mul": 2.0}
]
},

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

{
"bonusType": "TOTM",
"gameId": "3860352108",
"time": "Oct 25, 2023 9:44:04 AM",
"winBets": [
{"bc": "107", "mul": 7.0}
]
}
],
"languageSpecificTableInfo": "",
"newTable": false,
"tableId": "1601",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 4500.0,
"maxPlayers": 10000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Snakes & Ladders Live",
"tableOpen": true,
"tableSubtype": "snakeladder",
"tableType": "SNAKESANDLADDERSLIVE",
"totalSeatedPlayers": 60
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Spaceman
{
"currency": "EUR",
"dealer": {
"name": "spaceman"
},
"gameResult": [
{
"gameId": "2095541511",
"result": "2.48",
"time": "Oct 25, 2023 9:43:00 AM"
},
{
"gameId": "2095541411",
"result": "1.6",
"time": "Oct 25, 2023 9:42:34 AM"
},
{
"gameId": "2095541211",
"result": "5.75",
"time": "Oct 25, 2023 9:42:14 AM"
}
],
"languageSpecificTableInfo": "",
"newTable": false,
"tableId": "1301",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 100.0,
"maxPlayers": 15000,
"minBet": 1.0,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Spaceman",
"tableOpen": true,
"tableType": "SPACEMAN",
"totalSeatedPlayers": 728
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Big Bass Crash


{
"gameResult": [
{
"gameId": "5410179410",
"result": "2.08",
"time": "Jul 2, 2024 9:52:25 AM"
},
{
"gameId": "5410179310",
"result": "1.65",
"time": "Jul 2, 2024 9:52:05 AM"
},
{
"gameId": "5410179210",
"result": "4.04",
"time": "Jul 2, 2024 9:51:49 AM"
}
],
"totalSeatedPlayers": 431,
"tableId": "1320",
"tableName": "Big Bass Crash",
"newTable": false,
"dedicatedLanguage": "en",
"tableImage": "[Link]
v0.044068826948495676",
"tableLimits": {
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0],
"minBet": 1.0,
"maxBet": 100.0,
"maxPlayers": 9999
},
"dealer": {"name": "BigBassDealer"},
"tableOpen": true,
"tableType": "SPACEMAN",
"gameLoaderKey": "bigbass",
"currency": "EUR"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

High Flyer
{
"gameResult": [
{
"gameId": "4631802501",
"result": "1.84",
"time": "Jul 2, 2024 9:55:37 AM"
},
{
"gameId": "4631802401",
"result": "1.18",
"time": "Jul 2, 2024 9:55:19 AM"
},
{
"gameId": "4631802301",
"result": "2.46",
"time": "Jul 2, 2024 9:55:06 AM"
}
],
"totalSeatedPlayers": 2,
"tableId": "2201",
"tableName": "High Flyer",
"newTable": true,
"dedicatedLanguage": "en",
"tableImage": "[Link]
v0.044068826948495676",
"tableLimits": {
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0],
"minBet": 0.1,
"maxBet": 200.0,
"maxPlayers": 500
},
"dealer": {"name": "HighFlyer"},
"tableOpen": true,
"tableType": "HIGHFLYER",
"tableSubtype": "HighFlyer",
"gameLoaderKey": "highflyer",
"currency": "EUR"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Sweet Bonanza
{
"currency": "EUR",
"dealer": {
"name": "Izabele"
},
"gameResult": [
{
"gameId": "3280409914",
"multiplier": 1.0,
"payout": [3.0],
"rc": 1,
"result": "2",
"sbmul": [],
"sugarbomb": false,
"time": "Oct 25, 2023 9:29:34 AM",
"winner": "TWO"
},
{
"gameId": "3280409814",
"multiplier": 1.0,
"payout": [2.0],
"rc": 1,
"result": "1",
"sbmul": [],
"sugarbomb": false,
"time": "Oct 25, 2023 9:28:49 AM",
"winner": "ONE"
},
{
"gameId": "3280409414",
"multiplier": 1.0,
"payout": [6.0],
"rc": 1,
"result": "5",
"sbmul": [],
"sugarbomb": false,
"time": "Oct 25, 2023 9:25:31 AM",
"winner": "FIVE"
},
{
"gameId": "3280409314",
"multiplier": 1.0,
"payout": [16.5],
"rc": 2,
"result": "Sweet Spins",
"sbmul": [],
"sugarbomb": false,
"time": "Oct 25, 2023 9:24:36 AM"
},
{
"gameId": "3280408414",
"multiplier": 1.0,
"payout": [10.0],
"rc": 4,

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"result": "Bubble Surprise",


"sbmul": [],
"sugarbomb": false,
"time": "Oct 25, 2023 9:15:57 AM"
},
],
"languageSpecificTableInfo": "",
"newTable": false,
"tableId": "1101",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 3000.0,
"maxPlayers": 9000,
"minBet": 0.2,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Sweet Bonanza CandyLand",
"tableOpen": true,
"tableSubtype": "Sweet Bonanza",
"tableType": "SWEETBONANZA",
"totalSeatedPlayers": 3
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Vegas Ball Bonanza


{
"currency": "EUR",
"dealer": {
"name": "Beverley"
},
"gameResult": [
{
"ball": "09",
"gameId": "3860358308",
"time": "Oct 25, 2023 9:54:00 AM"
},
{
"ball": "91",
"gameId": "3860358308",
"time": "Oct 25, 2023 9:53:49 AM"
},
{
"ball": "25",
"gameId": "3860358308",
"time": "Oct 25, 2023 9:53:42 AM"
},
{
"ball": "08",
"gameId": "3860358308",
"time": "Oct 25, 2023 9:53:36 AM"
},
{
"ball": "19",
"gameId": "3860358308",
"time": "Oct 25, 2023 9:53:31 AM"
},
{
"ball": "30",
"gameId": "3860358308",
"time": "Oct 25, 2023 9:53:27 AM"
},
{
"ball": "15",
"gameId": "3860358308",
"time": "Oct 25, 2023 9:53:25 AM"
},
{
"ball": "14",
"gameId": "3860358308",
"time": "Oct 25, 2023 9:53:21 AM"
},
{
"ball": "01",
"gameId": "3860358308",
"time": "Oct 25, 2023 9:53:19 AM"
},
{
"ball": "24",
"gameId": "3860358308",

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

"time": "Oct 25, 2023 9:53:16 AM"


},
{
"ball": "92",
"gameId": "3860358308",
"generatedValue": "3",
"time": "Oct 25, 2023 9:53:05 AM"
},
{
"ball": "20",
"gameId": "3860358308",
"time": "Oct 25, 2023 9:53:02 AM"
},
{
"ball": "02",
"gameId": "3860358308",
"time": "Oct 25, 2023 9:52:59 AM"
},
{
"ball": "21",
"gameId": "3860358308",
"time": "Oct 25, 2023 9:52:56 AM"
}
],
"languageSpecificTableInfo": "",
"newTable": false,
"tableId": "1501",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 900.0,
"maxPlayers": 5000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Vegas Ball Bonanza",
"tableOpen": true,
"tableSubtype": "bingo",
"tableType": "BINGO",
"totalSeatedPlayers": 84
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

18.2 Flow of placing and sending bets for Seamless Wallet API
Due to the fact that on some Live Casino tables it is possible to place additional bets (bet behind, side bets) we would like to
give an example list of such scenarios and what will be sent to the operator’s API.

Scenario 1: Player placed one main bet on one seat and no bet behind
We will send only one /[Link] and one /[Link] (if there was a winning) call

Scenario 2: Player placed main bets on several seats and no bet behinds
We will send only one /[Link] and one /[Link] (if there was a winning) call

Scenario 3: Player placed one main bet and one bet behind
We will send two /[Link] calls (one for main bet and one for bet behind) and one /[Link] call (as total and in case
there are any winnings)

Scenario 4: Player placed main bets on several seats and one bet behind
We will send two /[Link] calls (one is for all main bets and one for bet behind) and one /[Link] call (as total and in
case there are any winnings)

Scenario 5: Player placed main bets on several seats and several bet behinds
We will send multiple /[Link] calls (one for main bet and one bet for each bet behind) and one /[Link] call (as total
and in case there are any winnings). Therefore, if there’s one main bet and seven bet behinds, we will send eight bets.

Scenario 6: Player placed one main bet with one side bet
We will send one /[Link] calls and one /[Link] call (if there was a winning). The side bet is always a part of a main
bet.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

18.3 Games Full-Screen


Full Screen in live games allows to use total set of functionality in viewport, and ensures the game container stick without
any scrolls and scaling, to give users a good interaction
In order to allow fullscreen mode, when Live Casino Game is being used in mobile version, Operator should embed in
Object (container) with game client, following JS script:
<script src="[Link] ></script>
The following attributes have to be included in the iframe in order to support the fullscreen button in the LC games:
allowfullscreen webkitallowfullscreen mozallowfullscreen

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

18.4 Predefined filters in Live Casino Lobby categories


Operator can provide lobbyFilter values when composing game Launch URL. If provided filter values are present in Live
Casino Lobby, they will be set as a default when player opens the category.

For Seamless Wallet API


Example of HTTP request:
POST /IntegrationService/v3/http/CasinoGameAPI/game/url/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=ext_test1&symbol=101&language=en&currency=EUR&platform=WEB&technology=H5&token=
dsgfssdf5g4dfg&stylename=ext_test1&cashierUrl=[Link]
&lobbyFilter=BJ_FS:FS$BJ_MB:1$BJ_TYPE:S&lobbyUrl=
[Link]

Example of JSON response:


{
"error": "0",
"description": "OK",
"gameURL":"[Link]
key=token%3Ddsgfssdf5g4dfg%60%7C%60symbol%101%60%7C%60technology%3DH5%60%7C%60platform%3DWEB%60%7C%
60language%3Den%60%7C%60currency%3DEUR%60%7C%60cashierUrl%3Dhttp%3A%2F%[Link]%2Fcashier%
2F%60%7C%60lobbyUrl%3D%20http%3A%2F%[Link]%2Flobby%2F&ppkv=2&stylename=ext_test1&country
=USA&lobbyFilter=BJ_FS:FS$BJ_MB:1$BJ_TYPE:S&isGameUrlApiCalled=true"
}

For Balance Transfer API


Example of HTTP request:
POST /IntegrationService/v3/http/CasinoGameAPI/game/start/ HTTP/1.1
Host: [Link]
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

secureLogin=username&externalPlayerId=test_player&gameId=101&language=en&platform=WEB&cashierURL=ht
tp://[Link]/&lobbyFilter=BJ_FS:FS$BJ_MB:1$BJ_TYPE:S&lobbyURL=[Link]
&hash=438fea0a68a0e9ab49df756cc20eda8f

Example of JSON response:


{
"error": "0",
"description": "OK",
"gameURL":"[Link]
ciynHFWXosjDjgAUPH1A3FSoAM&lobbyFilter=BJ_FS:FS$BJ_MB:1$BJ_TYPE:S&stylename=username&lang=en"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

18.4.1 Filter Values

Filter
Category Blackjack:
FS FS Free seats
Min bets
1 €1-10
MB
25 €25-50
100 €100+
Table type
S Speed
R Regular
BJ TYPE U Unlimited
P Prive
VIP VIP
X Blackjack X
Blackjack League
BBJT Bronze tournament
LG SBJT Silver Tournament
PRBJT Prive tournament
GBJT Gold tournament
PROMO PROMO Promotions
Category Roulette
Table type
N Native
V Variants
RL TYPE A Auto
R Regular
VIP VIP
S Speed
PROMO PROMO Promotions
Category Game Shows
GS
PROMO PROMO Promotions
Category Baccarat
BC PROMO PROMO Promotions
GR GR Good roads

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Table type
N Native
V Variants
TYPE
P Prive
S Speed
R Regular
Category Promotions
Promotions
PROMO DW Drops & Wins
OP Other Promos
PR Blackjack League
BBJT Bronze Tournament
LG SBJT Silver Tournament
GBJT Gold Tournament
PRBJT Prive Tournament

AG Category Asian Games


PROMO PROMO Promotions
SB Category Sic Bo
PROMO PROMO Promotions
AB Category Andar Bahar
PROMO PROMO Promotions
DT Category Dragon Tiger
PROMO PROMO Promotions

Examples of filter keys Description


BJ_MB:1 Category Blackjack: Min bets:€1-10
BJ_MB:25 Category Blackjack: Min bets:€25-50
BJ_MB:25,100 Category Blackjack: Min bets:€25-50 and €100+
RL_TYPE:N Category Roulette: Table type: Native
RL_TYPE:N,A Category Roulette: Table type: Native and Auto
BC_GR:GR Category Baccarat: Good roads

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example: use cases (without encoding). This needs to be used with encoding for actual use case.
Number Description Value
1 Create a BJ Lobby with pre-filter options: All BJ tables with available seats, min "BJ_FS:FS$BJ_MB:1$BJ_TYPE:S"
bet 1-10 euros and speed tables
2 IBJ Lobby with pre-filters 25-50 EUR and regular seats "BJ_MB:25$BJ_TYPE:R"

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

XIX. Free Chips API (Multicurrency feature is coming soon )


Free Chips (FC) allows the player to play a specified number of free chips in a table live game. Free Chips created via Free
Chips API may be configured to be played with a certain number of chips, chip value, bet limit and win limit in specified
games. During Free Chips gameplay, bets are not deducted from the player's balance, but all wins are collected for the Free
Chips in the Pragmatic Play’s system.
After all free chips are played, the Pragmatic Play system sends a bonusWin API call to the Operator server to add money to
the player's balance. Please note that not all games support FC.
Free Chips can be awarded to players registered in the Pragmatic Play system using API. If a player is not registered in the
PP system yet, their account will be created automatically.
Free Chips HTTP service is a simple API for game Operators to manage Free Chips. API is an HTTP listener that listens to
POST requests coming to a URL with the request mappings below.
All responses should be in JSON format.
Important Note:
Multicurrency functionality is not available for operators yet. Estimated delivery date will be announced by PP team
later
API is published in advance for operators to be able to prepare changes

Important:
For Seamless Wallet integration, in order to receive countOfFreeChips value in wallet requests for each round, an
operator should accept enhanced format of roundDetails (Please see section 3.3 Data Types), and ask the Pragmatic
Play’s Technical Support for additional configuration.

Note:
URL of the FC HTTP service will be provided by Pragmatic Play for the production and test environments and looks
like: [Link] service domain}/IntegrationService/v3/http/ FreeChipsAPI/LC/

Note:
Free Chips HTTP service is securely protected hence please be sure:
 player’s browser (end) must NOT be used as an initiator of requests to the service;
proper IPs are supplied to Pragmatic Play for whitelisting

The bonusCode is unique and can be used only one time for the same playerId. Please make sure you’ve integrated
the FC in the proper way and won't reuse/award the same bonusCode values in your logic. In case the Casino
Operator needs to make the bonusCode reusable, they should ask Pragmatic Play’s Technical Support for additional
configuration.

19.1 Hash calculation


Hash code is calculated with following formula:
From request post parameters, all parameters are taken (except hash) and appending to string:
6. Sort all parameter by keys in alphabetical order.
7. Append them (if the value is not null or empty) in key1=value1&key2=value2.
8. Append secret key, e.g.: key1=value1&key2=value2SECRET.
9. Calculate the hash by using MD5.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

10. Compare with hash parameter. In the case of failure Casino Operator should send the error code 5.
19.2 Data types

Name Type Description


playerId String(100) Id of the player within the Operator system. Examples: 1000, 2644987.

gameId String Unique identifier of the game.

chipsNumber Number Number of free chips awarded.

chipsNumberPlayed Number Number of free chips played.

chipValue Number Value of a single free chip.

maxBetLimit Number Maximum number of free chips that can be placed in a round. Should be a natural
number greater than 0.
maxWinLimit Number Maximum winning limit that a player can receive in a bonus. Should be a natural
number greater than 0.
maxWinLimitPlayerCur Number Maximum winning limit in player’s currency that a player can receive in a bonus.
Should be a natural number greater than 0.

currency String(3) ISO 4217 currency code. Example: EUR, USD

bonusCode String Bonus unique identifier within the Operator system. Should be 1-100 character
long.
Max length of this parameter depends on requestId. The sum of their length has to
be 252 symbols or less.
requestId String Unique identifier of FC credit request (for specific player). It has to be passed to re-
use the same bonusCode value again for the player.
Max length of this parameter depends on bonusCode. The sum of their length has
to be 252 symbols or less.
startDate, Long Date and time when the bonus will start, expire or until it is valid - timestamp in
seconds.
expirationDate,
Start date must be a valid future date. Expiration date should be after start date
validityDate,
but no more than 45 days.
expirationPeriod, (Unix epoch time in seconds, for example : 1470926605)
validityPeriod
error Integer Error code.

description String Description of the error for troubleshooting.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

19.3 Create Free Chips


Request path: POST FreeChipsAPI/LC/create
Using this method Operator can create a new Free Chips campaign with the Pragmatic Play’s games.

Note:
To specify Expiration and Validity for FC, either expirationDate and validityDate (as timestamps in seconds) OR
expirationPeriod and validityPeriod (as {N} minutes) parameters can be specified. If expirationPeriod is specified,
validityPeriod must be specified as well.
Expiration date/period cannot be more than 45 days after start time. The bonus validity period must not be longer than
45 days.

Note:
If the chip value or max win limit in the player currency is not provided, the EUR value or other currency value from the
list (if EUR is missing) will be converted to the player currency using the beautified currency rates.

Request parameters
Name Description Status

secureLogin User name for authentication in the Casino Game API service. Required

Bonus id within the Casino Operator’s system. Should be unique Required


bonusCode
within the brand.
Date and time when free chips campaign will start. Required
startDate
*UNIX time in sec
Optional
Date and time when the free chips will expire.
expirationDate Should NOT be used when the
*UNIX time in sec
expirationPeriod is specified.
Date and time when the bonus gets invalid and is unavailable for Optional
validityDate the player. Should be used when the
*UNIX time in sec expirationDate is specified.
Optional
Number of minutes (after FC is created for a player), after which
expirationPeriod Should NOT be used when the
free chips will expire.
expirationDate is specified.
Optional
Number of minutes (after FC is created for a player), after which
validityPeriod Should be used when the
the bonuses will become unavailable.
expirationPeriod is specified.
chipsNumber Number of free chips awarded. Required
Maximum number of free chips that can be placed in a round. If
maxBetLimit Optional
not provided, the bonus will have no bet limit.
hash Hash code of the request. Required
List of the chip values in different currencies. See below, Chip
chipValuePerCur Value type description of the objects in the list. This data must Required
be sent as JSON in the body of the request.
maxWinLimitPerCur List of the max win limits for different currencies. See below Max
Win Limit type description of the objects in the list. This data must Optional
be sent as JSON in the body of the request
gameList List of the games associated with the bonus. See below Games Required
type description of the objects in the list.
This data must be sent as a JSON in the body of the request.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Type: Chip Value

Name Description
chipValue Value of a single free chip in the specified currency.
currency Currency of a chip value.

Type: Games

Name Description
gameId Id of the game associated with the free chips campaign.

Type: Max Win Limit

Name Description
maxWinLimit Maximum winning limit in the specified currency that a player can receive in a bonus.
currency Currency of a max win limit value.

Response parameters

Name Description

error Error code.

description Description of the error for troubleshooting.

Example of HTTP request:


POST IntegrationService/v3/http/FreeChipsAPI/LC/create?
secureLogin=username&bonusCode=421&startDate=1721808000&expirationDate=1722240000&validityDate=1722
412800&chipsNumber=27&maxBetLimit=5&hash=464e9816b531cc78bbdcffc81dd44e18 HTTP/1.1
Host: [Link]
Content-Type: application/json

{"gameList":[ {"gameId":"1611"},
{"gameId":"329"}],
"chipValuePerCur":[ {"chipValue":1,"currency":"EUR"},
{"chipValue":1,"currency":"USD"},
{"chipValue":5,"currency":"BRL"}],
"maxWinLimitPerCur":[
{"maxWinLimit":5000,"currency":"EUR"},
{"maxWinLimit":5000,"currency":"USD"},
{"maxWinLimit":25000,"currency":"BRL"}
]}

Example of JSON response:


{
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

19.4 Cancel Free Chips


Request path: POST FreeChipsAPI/LC/cancel
Using this method Operator can cancel an existing Free Chips campaign in the Pragmatic Play system. In addition to campaign
cancellation, all related players' bonuses will also be cancelled according to the corresponding logic.
Note:
Cancellation logic for bonuses depends on the bonus status.
If a player has not claimed the given bonus, all free chips will be removed.
If a player claimed the bonus and played partially, the not-played free chips will be removed.
If a player has claimed and played the bonus, no action will be taken.

Request parameters
Name Description Status

secureLogin User name for authentication in the Casino Game API service. Required

bonusCode Bonus id within the Casino Operator’s system. Should be unique within the brand. Required

hash Hash code of the request. Required

Response parameters

Name Description

error Error code.

description Description of the error for troubleshooting.

Example of HTTP request:


POST IntegrationService/v3/http/FreeChipsAPI/LC/cancel?
secureLogin=username&bonusCode=421&hash=39554fed4f41132eb8fe75e9a7ba3df6 HTTP/1.1
Host: [Link]
Content-Type: application/json

Example of JSON response:


{
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

19.5 Get Players FC


Request path: POST FreeChipsAPI/LC/getPlayersFC
Using this method Casino Operator system can get from the Pragmatic Play system all Free Chips that are awarded to the
particular player but hasn’t played yet.
Request parameters
Name Description Status

secureLogin User name for authentication in the Casino Game API service. Required

playerId Id of the player within the Operator system. Required


List of settings. By including it, operator can get additional information about free
chips. Possible values are:
options Optional
 inPlayerCurrency – the new currency field with player currency is returned,
and chipValue will be in player currency
hash Hash code of the request. Required

Response parameters

Name Description
error Error code.

description Description of the error for troubleshooting.

List of information about all not finished FC that were awarded to the player. See below FC type
bonuses
description of the objects in the list

Type: FC

Name Description status


Player currency. This field is optional and will appear in response in cases
currency Optional
where request contains inPlayerCurrency in options list
List of symbolic unique identifiers of the game that the free chips are
gameIDList awarded for, comma separated. Required
Example: 1611, bja.
chipsNumber Number of free chips awarded. Required

chipsNumberPlayed Number of free chips already played. Required

Value of a single free chip. If inPlayerCurrency option is specified, it is


chipValue Required
returned in a player currency. Otherwise, in EUR.

bonusCode Bonus id within the Operator system. Should be unique within the brand. Required

expirationDate Date and time when the free chips will expire. Required

Example of HTTP request:


POST IntegrationService/v3/http/FreeChipsAPI/LC/getPlayersFC?
secureLogin=username&playerId=12345&options=inPlayerCurrency&hash=b623382e6dd3219d63b7ed1979408856
HTTP/1.1
Host: [Link]

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Content-Type: application/json

Example of JSON response:


{
"error": "0",
"description": "OK",
"bonuses": [
{
"currency": "BRL",
"gameIDList": "1611",
"chipsNumber": 27,
"chipsNumberPlayed": 20,
"chipValue": 1,
"bonusCode": "421_fc1",
"expirationDate": "2024-07-30 00:00"
},
{
"currency": "BRL",
"gameIDList": "329",
"chipsNumber ": 11,
"chipsNumberPlayed": 0,
"chipValue": 5,
"bonusCode": "421_fc2",
"expirationDate": "2024-08-11 00:00"
}
]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

19.6 Add players


Request path: POST FreeChipsAPI/LC/addPlayers
Using this method Operator can add players to the existing Free Chips campaign. The bonus will be available to both existing and
future players, whether they are already registered with the PP system or not yet.
Request parameters
Name Description Status

secureLogin User name for authentication in the Casino Game API service. Required

bonusCode Bonus id within the Operator system. Should be unique within the brand. Required

playerList List of player id to add to the existing Free Chips campaign, comma separated. Required

Unique identifier of FC credit request (for specific player). It has to be passed to re-use the Optional
same bonusCode value again for the player.
requestId The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
hash Hash code of the request. Required

Response parameters

Name Description
error Error code.

description Description of the error for troubleshooting.

Example of HTTP request:


POST IntegrationService/v3/http/FreeChipsAPI/LC/addPlayers?
secureLogin=username&bonusCode=421&hash=464e9816b531cc78bbdcffc81dd44e18 HTTP/1.1
Host: [Link]
Content-Type: application/json

{
"playerList": ["449986","450013","450509","437070"]
}

Example of JSON response:


{
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

19.7 Add player


Request path: POST FreeChipsAPI/LC/addPlayer
Using this method Operator can add one player to the existing Free Chips campaign and override such parameters as
expirationDate, validityDate, chipsNumber, maxBetLimit or maxWinLimit. The bonus will be available to both existing and future
players, whether they are already registered with the PP system or not yet.
Request parameters
Name Description Status

secureLogin User name for authentication in the Casino Game API service. Required

bonusCode Bonus id within the Operator system. Should be unique within the brand. Required

playerId Id of the player within the Operator system. Required


Unique identifier of FC credit request (for specific player). It has to be passed to
re-use the same bonusCode value again for the player.
requestId The field is optional and is not sent to the Casino Operator by default. In case Optional
Casino Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
List of additional player FC configurations that override campaign settings. If not
provided, the player will use campaign bonus settings. See below the Player
config Optional
Settings description of the objects in the list. This data must be sent as JSON in
the body of the request.
hash Hash code of the request. Required

Type: Player Settings


Name Description Status
expirationDate Date and time when the bonus will expire (in seconds). Provided expiration Optional
date should not exceed the expiration date of campaign.
validityDate Date and time until the bonus will be valid (in seconds). Provided validity date Optional
should not exceed the validity date of campaign.
chipsNumber Number of free chips awarded. Optional

maxBetLimit Maximum number of chips that can be placed in a round. Optional

Maximum winning limit in player currency that a player can receive in a Optional
maxWinLimitPlayerCur
bonus.

Response parameters

Name Description
error Error code.

description Description of the error for troubleshooting.

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of HTTP request:


POST IntegrationService/v3/http/FreeChipsAPI/LC/addPlayer?
secureLogin=username&bonusCode=421&playerId=12345&hash=26a4f62a8cde581ed5645cbd115f28b0 HTTP/1.1
Host: [Link]
Content-Type: application/json

{
"config": {
"expirationDate": 1722240000,
"validityDate": 1722412800,
"chipsNumber": 1234
"maxBetLimit": 5,
"maxWinLimitPlayerCur": 5000
}
}

Example of JSON response:


{
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

19.8 Remove players


Request path: POST FreeChipsAPI/LC/removePlayers
Using this method Operator can remove players from the existing Free Chips campaign and cancel free chips awarded to them.
Note:
Cancellation logic for bonuses depends on the bonus status.
If a player has not claimed the given bonus, all free chips will be removed.
If a player claimed the bonus and played partially, the not-played free chips will be removed.
If a player has claimed and played the bonus, no action will be taken.

Request parameters
Name Description Status

secureLogin User name for authentication in the Casino Game API service. Required

bonusCode Bonus id within the Operator system. Should be unique within the brand. Required

playerList List of player id to remove from the existing Free Chips campaign, comma separated. Required

Unique identifier of FC credit request (for specific player). It has to be passed to re-use the Optional
same bonusCode value again for the player.
requestId The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
hash Hash code of the request. Required

Response parameters

Name Description
error Error code.

description Description of the error for troubleshooting.

Example of HTTP request:


POST IntegrationService/v3/http/FreeChipsAPI/LC/removePlayers?
secureLogin=username&bonusCode=421&hash=464e9816b531cc78bbdcffc81dd44e18 HTTP/1.1
Host: [Link]
Content-Type: application/json

{
"playerList": ["449986","450013","450509","437070"]
}

Example of JSON response:


{
"error": "0",
"description": "OK"
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

19.9 Get Chip Values


Request path: POST FreeChipsAPI/LC/getChipValues
Using this method, the Operator can receive chip values in the requested currencies that are available for FC with the provided LC
games.
Note:
This API method is designed only for FC and returned chip values are not related to chip values of real bets.

Request parameters

Name Description Status

secureLogin User name for authentication in the Casino Game API service. Required

List of live casino game IDs. If not provided, all existing FC chips for all games will be
gameList Optional
[Link] data must be sent as JSON in the body of the request.
List of currency abbreviations for which the chip values in the chipValuePerCur object will
currencyList be returned. At least one currency should be [Link] data must be sent as JSON in Required
the body of the request.
hash Hash code of the request. Required

Response parameters (JSON)

Name Description Status


error Error code. Required

description Description of the error for troubleshooting. Required


List of the possible chip values in requested currencies and games. See
chipValuesPerCur
below the Chip Values type description of the objects in the list. Required

Type: Chip Values

Name Description
currency Currency of chip values.
chipValues List of chip values.

Example of HTTP request:


POST IntegrationService/v3/http/FreeChipsAPI/LC/getChipValues?
secureLogin=username&hash=405281156fc4cace4d2385a8ead83290 HTTP/1.1
Host: [Link]
Content-Type: application/json

{
"gameList": ["1611","329"],
"currencyList": ["EUR","BRL"]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

Example of JSON response:


{
"error": "0",
"description": "OK",
"chipValuesPerCur": [
{
"currency": "EUR",
"chipValues": [
0.1,
0.5,
1,
5,
10,
50,
100,
200,
500
]
},
{
"currency": "BRL",
"chipValues": [
0.5,
2.5,
5,
25,
50,
250,
500,
1000,
2500
]
}
]
}

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

19.10 Error codes


The tables below contain the error codes that the Pragmatic Play system will return in response to Free Chips API calls.
Authentication errors:

Code Description
0 OK

1 Authentication failed. Incorrect secure login and secure password combination.

2 Validation failed. Empty mandatory field '{field name}'.

16 Wrong json data: '{json data}'.

37 Bad request: '{bad parameters list}'.

1000 Internal server error. Pragmatic Play will return this error code if their system has internal problem and cannot
process the request.

Errors while executing the request:

Code Description
4003 Campaign does not exist
4005 Campaign cannot be cancelled due to the status
4011 Bonus Code cannot be empty
4012 Bonus Code must be 1-100 characters long
4013 Bonus Code cannot contain the / symbol
4014 Campaign with this bonus code already exists
4032 Max winning limit should be greater than 0
4033 Max bet limit should be a natural number greater than 0
4034 The following tables have minimum bet limit larger than the given maximum bet limit
4042 Number of chips cannot be empty
4043 Number of chips value should be a natural number
4044 Chip value must be greater than 0
4045 Chip value cannot be lower than the lowest min bet limit of the selected tables
4046 Chip value cannot be higher than the highest max bet limit of the selected tables
4047 Chip value is not in the given set
4056 GameID not present for the casinoId
4091 Free chip bonus does not exist
4094 Bonus is already either expired, cancelled or wagered
4100 The Player/s already exists with same request ID
4101 The player/s already has a bonus for this campaign using the provided bonus code. To issue additional bonuses,
please include a Request ID

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME
Strictly Confidential - for intended purposes and recipients only!

4156 Game list cannot be empty


4157 GameID contains invalid characters
4160 Game type is not allowed for free chips
4201 Start date must be a valid future date
4202 Either dates (expirationDate and validityDate) or periods (expirationPeriod and validityPeriod) should be
specified
4203 The expiration date cannot be the same as the start date and must be within a maximum of 45 days after the
start date
4204 The expiration period cannot be zero and must be a maximum of 45 days after the start date
4205 The validity date must be the same as the expiration date or within a maximum of 45 days after the expiration
date
4206 The validity period must be the same as the expiration period or within a maximum of 45 days after the
expiration period
5000 Oops! We encountered an unexpected issue. Please try again later
5002 Invalid Request

7000 Players list cannot be empty


7001 External Player Id cannot be empty
7003 Invalid start date, it should be Epoch seconds

© 2025 Pragmatic Play


YOUR FAVOURITE EVERY TIME

Common questions

Powered by AI

Both the 'GetBalance' and 'Cancel Free Spins' methods share common error-handling parameters such as 'error' which is the error code, and 'description' which provides a textual description of the error for troubleshooting .

Security in Pragmatic Play API requests is implemented using secureLogin and a hash code. The secureLogin authenticates the user, while the hash ensures data integrity and authenticity of the requests by preventing unauthorized alterations. These parameters are required in various methods such as 'StartGame', 'GetBalance', and 'Cancel Free Spins' .

The handling of player's bonuses during a cancellation of a Free Spins Bonus campaign depends on the status of the bonus. Not-started bonuses are entirely canceled. If the bonus has started but not finished, remaining spins and free seconds are canceled while completed spins and wins remain. Finished, canceled, or expired bonuses are not affected by the cancellation process .

The 'GetPlayersFSB' API method allows the Casino Operator's system to retrieve all Free Spins Bonuses (FSB) awarded to a particular player. The response includes a list of these bonuses, detailing currency, gameIDs, number of rounds awarded, rounds played, bonusCode, and expirationDate. This method requires secureLogin, playerId, and hash as parameters .

For bonuses that have been started but not finished, the 'Cancel Free Spins' method cancels any remaining spins and free seconds. However, spins that have already been played and their awarded wins remain unaffected. Any single unfinished rounds will not be canceled, allowing the player to complete them later .

The 'roundId' parameter in the 'bonusWin' request method specifies the identifier of the last played round during a Free Spins Bonus. It plays a critical role in tracking the gaming session linked to the win, though it is optional and not always sent to the Casino Operator. If needed, it is configured through Pragmatic Play's Technical Support .

The 'minBetList' parameter ensures that players meet a minimum betting threshold to qualify for tournament participation, thus motivating increased player engagement and securing greater revenue potential for operators. It lists the minimum bet amounts across different currencies, ensuring consistent tournament conditions and broader player inclusivity across regions .

The 'Tournament Prizes' API method manages prize distribution by returning a list of prizes for a specific tournament. This includes information on positions for prize allocation, prize types, and amounts if applicable. The method restricts requests to one per tournament ID and ensures that requests pertain to prize drops that ended no more than 31 days ago. The structured prize information allows operators to accurately allocate rewards as per the tournament rankings .

The essential request parameters for initiating a "StartGame" API call in the Pragmatic Play system include secureLogin, externalPlayerId, gameId, language, and hash. The platform, cashierURL, lobbyURL, playMode, jurisdiction, ctlgroup, and lobbyFilter are optional parameters .

The 'bonusWin' method ensures idempotency by allowing the same transaction results to be sent multiple times without creating duplicate transactions. If a result is sent again with the same reference number, it will not cause the balance to be updated more than once, ensuring that only one transaction is recognized despite multiple attempts .

You might also like