openapi: 3.0.3
info:
title: Operator Documentation
description: >-
Request signing
All Games API requests have to be signed by Operator.
All Wallet API requests have to be signed by Vegangster.
All Freegames API requests must be signed by the Operator.
Before the integration, the Operator generates a private/public key pair and sends the public key to Vegangster. Vegangster sends its public key to the Operator. The body of all requests will be signed with RSA-SHA256 using the respective private key and encoded to BASE64. The signature will be placed in the X-API-Signature header. The Operator needs to verify all Wallet API requests using the public key provided by Vegangster. Vegangster verifies all Games and Freegames API requests using the public key provided by the Operator.
Example of signature generation
Request body:
{"player_id": "64651509b8c355917ec34421", "token": "64651582b8c355917ec34422", "game_code": "the_best_game", "platform": "desktop", "currency": "USD", "lang": "en", "country": "US", "ip": "145.22.35.62", "lobby_url": "https://my-great-casino.com/lobby", "deposit_url": "https://my-great-casino.com/deposit", "player_nick": "xXx_pro100Max_xXx"}
Private key: link
Correct signature:
UCbyafCe3Pxv9FQmT8e7sY8eFYuNTrdGyXnA3B6Ihrd1eP+OpRqqjnNq6/aY2LLbPYi5JnOUhLZlGpMTxMwvQGH+k/E7xAdFhjuli/U+J06uMq/Vy5uXMUpRNHk4p5A3lDNQtpBozeAC6zIPUjFPT5L+9HoI5i1LY1q6PS1d5/k=
Code example in Python: link
Request consistency
Wallet API requests have to be idempotent. All transactions contain a transaction_id
field. Operator has to ensure that requests with the same transaction_id
are not processed twice while the response has to be same for all duplicate requests.
Gameplay
Once you meet the prerequisites, the process is as follows:
-
Obtain a game URL from Vegangster.
-
Direct the customer to the URL provided by Vegangster.
-
Respond to in-game events sent by Vegangster and update the customer's balance
Note that the process is different for DEMO and REAL gameplay modes. In DEMO mode, user can open the game, check the rules/graphics/paytable, and play with fun mode money. Not all game providers allow DEMO gameplay (none of Live Dealers allow it).
Below is an example of interaction flow to open the game in DEMO mode:
-
Operator makes a Game API call to
/operator/v1/game/demo/url
to obtain game launch URL.
-
When the game URL is returned, the Operator uses it to direct the player to the game (for example, launch it in iframe or redirect player to the URL).
-
In DEMO mode, no calls to Operator's API are made because providers handle the balance themselves.
If player liked the game and wants to switch to REAL mode, Operator should proceed with the next steps.
Below is an example of interaction flow between the customer, operator, Vegangster, and game provider in REAL mode:
-
Operator generates and stores a unique game session token.
-
Operator makes a Game API call
/operator/v1/game/url
and passes the generated token along with the other request parameters.
NOTE: Operator needs to be ready to respond to /player/info
Wallet API call even before getting the game URL back.
-
When the game URL is returned, the Operator uses it to direct the player to the game (for example, launch it in iframe or redirect player to the URL).
-
When the game URL is loaded in the browser, Vegangster server makes a Wallet API call
/player/info
(or /player/balance
depends on provider) to the Operator's server.
-
Operator verifies the token against the stored token and returns the user's balance. The user can then place a bet.
-
When the user attempts to place a bet, a Wallet API call
/transaction/bet
is triggered on the Operator's server.
-
The Operator verifies the token, ensures that the user has enough money for this bet, decreases the user's balance by the bet amount, and returns the updated user's balance.
-
If the user wins, the Wallet API triggers a call
/transaction/win
on the Operator's server.
-
Operator verifies the token, increases the user's balance by the win amount, and returns the updated user's balance.
Wallet API Response statuses
Status |
Description |
OK |
Successful response. |
ERROR_GENERAL |
General error status, for cases without a special error code. |
ERROR_INVALID_DATA |
The data passed in request body doesn't match with the model |
ERROR_INVALID_BRAND |
Passed brand is incorrect |
ERROR_INVALID_TOKEN |
Token unknown to Operator's system. Please, note that there is a different status for expired tokens. |
ERROR_INVALID_GAME |
Unknown game_code |
ERROR_BLACKLISTED_COUNTRY |
Operations in given country are unavailable |
ERROR_WRONG_CURRENCY |
Transaction currency differs from Player's wallet currency. |
ERROR_NOT_ENOUGH_MONEY |
Not enough money on Player's balance to place a bet. Please send the actual balance together with this status. |
ERROR_USER_DISABLED |
Player is disabled/locked and can't place bets. |
ERROR_INVALID_SIGNATURE |
Operator couldn't verify signature on request from Vegangster. |
ERROR_TOKEN_EXPIRED |
Session with specified token has already expired. NOTE: token validity MUST NOT be validated in case of wins and rollbacks, since they might come long after the bets. |
ERROR_TRANSACTION_DOES_NOT_EXIST |
Returned when the bet referenced in win request can't be found on Operator's side (wasn't processed or was rolled back). If you received rollback request and can't find the transaction to roll back, respond OK |
ERROR_TRANSACTION_EXISTS |
A transaction with same transaction_id was sent |
ERROR_ROUND_DOES_NOT_FOUND |
Transaction with the given round_id can't be found on Operator's side |
ERROR_FREEGAME_NOT_FOUND |
Transaction with the given freegames_reference can't be found. |
ERROR_SESSION_BLOCKED |
MGA LICENSE ONLY: session has been blocked due to responsible gaming guidelines |
version: 1.0.0
tags:
- name: Sports API
description: >-
Vegangster provides several methods for the Operator to display sports
games on the Operator’s website.
- name: Games API
description: >-
Vegangster provides several methods for the Operator to display games on
the Operator’s website.
- name: Wallet API
description: >-
Operator is expected to provide API for Vegangster calls. API should
process the described requests from Vegangster.
- name: Freegames API
description: >-
Freegames API lets you grant rewards (freespins, freebets, prizes) to a
single player or several players. First-time-player bonuses are supported by
most providers. In some cases, before granting a free bet a player must
interact with the game to properly use it.
paths:
/player/info:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Wallet API
description: "Called to get player's data. Operator is expected to return available details."
operationId: playerInfo
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PlayerInfoRequest'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/PlayerInfo'
/player/balance:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Wallet API
description: "Called when player's balance is needed. Operator is expected to return player's current balance."
operationId: playerBalance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PlayerBalanceRequest'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/PlayerBalance'
/transaction/bet:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: "Called when the User places a bet. Operator is expected to decrease player's balance by amount and return new balance. Before altering of User's balance, Operator has to check that bet wasn't processed before."
tags:
- Wallet API
description: ""
operationId: transactionBet
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionBetRequest'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionResponse'
/transaction/win:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Wallet API
description: "Called when the User wins. Operator is expected to increase player's balance by amount and return new balance. Before any altering of User's balance, Operator has to check that win wasn't processed before."
operationId: transactionWin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionWinRequest'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionResponse'
/transaction/rollback:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Wallet API
description: "Called when there is need to roll back the effect of the referenced transaction. Operator is expected to find referenced transaction, roll back its effects and return the player's new balance."
operationId: transactionRollback
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionRollbackRequest'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionResponse'
/transaction/sports/bet/commit:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Wallet API
description: "This call serves to inform the operator that the player's bet has been accepted by sport provider. However, in certain situations sport provider may reject the bet."
operationId: transactionSportsBetCommit
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionSportsBetCommitRequest'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/BetCommitResponse'
/transaction/sports/bet/settlement:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Wallet API
description: "This call is used to notify operator that the bet is closed. Request is sent with 30 days delay after Win (Lost, Rollback) request. During this period rollbacks could be sent."
operationId: transactionSportsBetSettlement
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionSportsBetSettlementRequest'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/BetCommitResponse'
/operator/v1/game/url:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Games API
description: >-
Returns the Landing URL of the chosen game. Operator has to forward User to returned URL. There are several ways to forward the User:
1. Embed URL into iframe on your site;
2. Redirect User to URL;
3. Open URL in new window/tab of browser.
operationId: gameUrl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorGameUrl'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorGameUrlResponse'
'400':
description: "Error"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorGameUrlError'
/operator/v1/game/demo/url:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Games API
description: >-
Returns the Landing URL of the chosen game in demo mode. No Player data is needed, the funds used are in-game funds.
operationId: gameDemoUrl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorDemoUrl'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorGameUrlResponse'
'400':
description: "Error"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorGameUrlError'
/operator/v1/sports/start:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Sports API
description: >-
Returns the Landing URL of the chosen game. Operator has to forward User to returned URL. There are several ways to forward the User:
1. Embed URL into iframe on your site;
2. Redirect User to URL;
3. Open URL in new window/tab of browser.
operationId: SportsGameUrl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorSportsStart'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorSportsStartResponse'
'400':
description: "Error"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorGameUrlError'
/operator/v1/sports/demo/start/:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Sports API
description: >-
Returns the Landing URL of the chosen game in demo mode. No Player data is needed, the funds used are in-game funds.
operationId: SportsGameDemoUrl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorSportsDemoStart'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorSportsStartResponse'
'400':
description: "Error"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorGameUrlError'
/operator/v1/game/round-info:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Games API
operationId: gameRoundInfo
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorRoundInfo'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorRoundInfoResponse'
'400':
description: "Error"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorRoundInfoResponseError'
/operator/v1/game/round-cancel:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Games API
operationId: gameRoundCancel
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorRoundCancel'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorRoundCancelResponse'
'400':
description: "Error"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorRoundCancelResponseError'
/operator/v1/game/list:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Games API
operationId: gameList
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorList'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/GameListResponse'
/operator/v1/game/tables-info:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Games API
operationId: gameTablesInfo
requestBody:
description: See OperatorGameLiveTablesListResponse schema (id field) for more information.
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorGameLiveTablesListRequest'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorGameLiveTablesListResponse'
/operator/v1/freegames/grant:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Freegames API
operationId: freegamesGrant
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorFreegameGrant'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorFreegameGrantResponse'
'400':
description: "Error"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorGameUrlError'
/operator/v1/freegames/list:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Freegames API
operationId: freegamesList
requestBody:
description: See PlayerInfoRequest schema for more information.
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorFreegameList'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorFreegameListResponse'
/operator/v1/freegames/cancel:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Freegames API
operationId: freegamesCancel
requestBody:
description: See OperatorFreegameResponse schema (id field) for more information.
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorFreegameCancel'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorFreegameResponse'
/operator/v1/freegames/games:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Freegames API
operationId: freegamesGames
requestBody:
description: See OperatorFreegameGamesListResponse schema (id field) for more information.
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorFreegameGamesListRequest'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorFreegameGamesListResponse'
/operator/v1/freegames/bet-amounts:
post:
parameters:
- in: header
name: X-API-Signature
schema:
$ref: '#/components/schemas/Signature'
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
tags:
- Freegames API
operationId: freegamesBetAmounts
requestBody:
description: See OperatorFreegameGameBetAmountListResponse schema (id field) for more information.
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorFreegameGameBetAmountListRequest'
required: true
responses:
'200':
description: "OK"
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorFreegameGameBetAmountListResponse'
components:
schemas:
Currency:
type: string
example: USD
format: ISO-4217
description: >-
ISO 4217 currency code. Following enum contains all currencies supported
by our system. Note that native game play support with these currencies
varies per provider. Please contact us to know which provider supports
which currencies.
enum:
- AFN
- EUR
- ALL
- DZD
- USD
- AOA
- XCD
- ARS
- AMD
- AWG
- AUD
- AZN
- BSD
- BHD
- BDT
- BBD
- BYN
- BZD
- XOF
- BMD
- INR
- BTN
- BOB
- BOV
- BAM
- BWP
- NOK
- BRL
- BND
- BGN
- BIF
- CVE
- KHR
- XAF
- CAD
- KYD
- CLP
- CLF
- CNY
- COP
- COU
- KMF
- CDF
- NZD
- CRC
- HRK
- CUP
- CUC
- ANG
- CZK
- DKK
- DJF
- DOP
- EGP
- SVC
- ERN
- SZL
- ETB
- FKP
- FJD
- XPF
- GMD
- GEL
- GHS
- GIP
- GTQ
- GBP
- GNF
- GYD
- HTG
- HNL
- HKD
- HUF
- ISK
- IDR
- XDR
- IRR
- IQD
- ILS
- JMD
- JPY
- JOD
- KZT
- KES
- KPW
- KRW
- KWD
- KGS
- LAK
- LBP
- LSL
- ZAR
- LRD
- LYD
- CHF
- MOP
- MKD
- MGA
- MWK
- MYR
- MVR
- MRU
- MUR
- XUA
- MXN
- MXV
- MDL
- MNT
- MAD
- MZN
- MMK
- NAD
- NPR
- NIO
- NGN
- OMR
- PKR
- PAB
- PGK
- PYG
- PEN
- PHP
- PLN
- QAR
- RON
- RUB
- RWF
- SHP
- WST
- STN
- SAR
- RSD
- SCR
- SLL
- SLE
- SGD
- XSU
- SBD
- SOS
- SSP
- LKR
- SDG
- SRD
- SEK
- CHE
- CHW
- SYP
- TWD
- TJS
- TZS
- THB
- TOP
- TTD
- TND
- TRY
- TMT
- UGX
- UAH
- AED
- USN
- UYU
- UYI
- UYW
- UZS
- VUV
- VES
- VED
- VND
- YER
- ZMW
- ZWL
- XBA
- XBB
- XBC
- XBD
- XTS
- XXX
- XAU
- XPD
- XPT
- XAG
- USDT
- ETH
- BTC
Language:
type: string
format: ISD-639-1
example: en
description: ISO 639-1 language code
enum:
- aa
- ab
- ae
- af
- ak
- am
- an
- ar
- as
- av
- ay
- az
- ba
- be
- bg
- bh
- bi
- bm
- bn
- bo
- br
- bs
- ca
- ce
- ch
- co
- cr
- cs
- cu
- cv
- cy
- da
- de
- dv
- dz
- ee
- el
- en
- eo
- es
- et
- eu
- fa
- ff
- fi
- fj
- fo
- fr
- fy
- ga
- gd
- gl
- gn
- gu
- gv
- ha
- he
- hi
- ho
- hr
- ht
- hu
- hy
- hz
- ia
- id
- ie
- ig
- ii
- ik
- io
- is
- it
- iu
- ja
- jv
- ka
- kg
- ki
- kj
- kk
- kl
- km
- kn
- ko
- kr
- ks
- ku
- kv
- kw
- ky
- la
- lb
- lg
- li
- ln
- lo
- lt
- lu
- lv
- mg
- mh
- mi
- mk
- ml
- mn
- mr
- ms
- mt
- my
- na
- nb
- nd
- ne
- ng
- nl
- nn
- 'no'
- nr
- nv
- ny
- oc
- oj
- om
- or
- os
- pa
- pi
- pl
- ps
- pt
- qu
- rm
- rn
- ro
- ru
- rw
- sa
- sc
- sd
- se
- sg
- si
- sk
- sl
- sm
- sn
- so
- sq
- sr
- ss
- st
- su
- sv
- sw
- ta
- te
- tg
- th
- ti
- tk
- tl
- tn
- to
- tr
- ts
- tt
- tw
- ty
- ug
- uk
- ur
- uz
- ve
- vi
- vo
- wa
- wo
- xh
- yi
- yo
- za
- zh
- zu
Country:
type: string
format: ISO-3166-1
description: "Player's country ISO 3166-1 code. Following enum contains all supported values."
example: "US"
enum:
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AX
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BL
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BV
- BW
- BY
- BZ
- CA
- CC
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CU
- CV
- CW
- CX
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EC
- EE
- EG
- EH
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GS
- GT
- GU
- GW
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MF
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PN
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SG
- SH
- SI
- SJ
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SV
- SX
- SY
- SZ
- TC
- TD
- TF
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UM
- US
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- YE
- YT
- ZA
- ZM
- ZW
Date:
type: string
format: ISO-8601
example: "2023-05-11T12:22:35"
description: "ISO 8601 Extended datetime format (YYYY-MM-DDThh:mm:ss)."
TableType:
type: string
example: "blackjack"
description: "Table type"
enum:
- roulette
- blackjack
- baccarat
- dragon_tiger
- money_wheel
- monopoly
- dice
- top_card
GameSection:
type: string
example: 'livedealers'
description: >-
Game section
enum:
- casino
- livedealers
GamePlatform:
type: string
example: 'desktop'
description: >-
Platform: mobile or desktop.
enum:
- desktop
- mobile
GameLayout:
type: string
example: '_4x3'
description: >-
Game layout
enum:
- _4x3
- _16x9
- _16x10
- _12x10
- _1280x770
- _1700x770
GameFeature:
type: string
example: 'respins'
description: >-
Game feature
enum:
- bonus_buy
- bonus_symbols
- bonus_wheel
- cascading_reels
- exceptional_wilds
- expanding_wilds
- freespins
- hold_and_win
- jackpots
- money_collect
- picker_bonus
- progressive_games
- progressive_multipliers
- random_multipliers
- random_wilds
- respins
- scatter_symbols
- scatters
- special_multipliers
- standard_wilds
- static_multipliers
- wild
GameTheme:
type: string
example: 'fruits'
description: >-
Game theme
enum:
- adventure
- ancient
- animals
- arabic
- asia
- aztec
- books
- carnival
- classic
- dragons
- egypt
- fantasy
- food
- fruits
- gems
- gods
- greek
- historic
- irish
- jokers
- jungle
- lifestyle
- luxury
- nature
- pirates
- science
- sea
- space
- spooky
- technology
- vikings
- wild_west
GameGenre:
type: string
example: 'anime'
description: >-
Game genre
enum:
- anime
- asian
GameTag:
type: string
example: 'vip'
description: >-
Game tag
enum:
- bonus_buy
- drops_and_wins
- exclusive
- hold_and_win
- hot
- jackpot_hunt
- jackpots
- megaways
- mystery_drops
- new
- popular
- tournament
- vip
GameTechnology:
type: string
example: 'js'
description: >-
Game technology
enum:
- js
- html5
- other
SportProvider:
type: string
example: 'betby'
description: >-
Sport provider
enum:
- betby
- powerplay
SportType:
type: string
example: 'soccer'
description: >-
Sport type
enum:
- soccer
- basketball
- baseball
- ice_hockey
- tennis
- handball
- floorball
- trotting
- golf
- boxing
- motor_sport
- rugby
- aussie_rules
- winter_sports
- bandy
- american_football
- cycling
- specials
- snooker
- table_tennis
- cricket
- darts
- volleyball
- field_hockey
- pool
- waterpolo
- gaelic_sports
- curling
- futsal
- olympics
- badminton
- bowls
- chess
- beach_volley
- netball
- athletics
- squash
- rink_hockey
- lacrosse
- formula_1
- bikes
- dtm
- alpine_skiing
- biathlon
- bobsleigh
- cross_country
- nordic_combined
- ski_jumping
- snowboard
- speed_skating
- luge
- swimming
- finnish_baseball
- softball
- horse_racing
- schwingen
- inline_hockey
- greyhound_racing
- rugby_league
- beach_soccer
- pesapallo
- streethockey
- world_championship
- rowing
- freestyle
- snowboardcross_parallel
- motogp
- moto2
- moto3
- nascar_cup_series
- padel_tennis
- canoeing
- horseball
- aquatics
- archery
- equestrian
- fencing
- gymnastics
- judo
- modern_pentathlon
- sailing
- shooting
- taekwondo
- triathlon
- weightlifting
- wrestling
- olympics_youth
- mountain_bike
- riding
- surfing
- bmx_racing
- canoe_slalom
- rhythmic_gymnastics
- trampoline_gymnastics
- artistic_swimming
- diving
- track_cycling
- beach_tennis
- sumo
- superbike
- rally
- figure_skating
- freestyle_skiing
- skeleton
- short_track
- soccer_mythical
- esport
- world_lottery
- counter_strike
- league_of_legends
- dota_2
- starcraft
- hearthstone
- heroes_of_the_storm
- world_of_tanks
- polo
- mma
- call_of_duty
- smite
- vainglory
- overwatch
- warcraft_iii
- crossfire
- halo
- rainbow_six
- sepak_takraw
- street_fighter_v
- rocket_league
- indy_racing
- basque_pelota
- speedway
- esport_gears_of_war
- esport_clash_royale
- esport_king_of_glory
- gaelic_football
- gaelic_hurling
- esport_fifa
- kabaddi
- esport_quake
- esport_playerunknowns_battlegrounds
- cycling_cycle_ball
- formula_e
- ballrun
- motocross
- sprint_car_racing
- speed_boat_racing
- drag_racing
- stock_car_racing_148
- modified_racing
- off_road
- truck_tractor_pulling
- esport_world_of_warcraft
- esport_nba2k
- esport_dragon_ball_fighterz
- basketball_3x3
- esport_tekken
- beach_handball
- esport_arena_of_valor
- esport_tf2
- esport_ssbm
- esport_paladins
- esport_artifact
- indoor_soccer
- esport_apex_legends
- indy_lights
- esport_pro_evolution_soccer
- esport_madden_nfl
- esport_brawl_stars
- petanque
- esport_fortnite
- esport_mtg
- fishing
- esport_dota_underlords
- esport_teamfight_tactics
- esport_auto_chess
- esport_fighting_games
- deprecated_sc
- esport_motorsport
- cycling_bmx_freestyle
- cycling_bmx_racing
- karate
- marathon_swimming
- skateboarding
- sport_climbing
- nascar_camping_world_truck
- nascar_xfinity_series
- nhra
- touring_car_racing
- formula_2
- motorcycle_racing
- stock_car_racing_191
- air_racing
- endurance_racing
- esport_valorant
- esport_ice_hockey
- escape_from_tarkov_arena
- age_of_empires
- wild_rift
- mobile_legends
- harness
- game_of_tag
- arm_wrestling
- freestyle_wrestling
- greco_roman_wrestling
- bodybuilding
- powerlifting
- jai_alai
- teqball
- bossaball
- table_football
- headis
- draughts
- poker
- ball_hockey
- air_hockey
- quidditch
- frisbee
- capoeira
- sambo
- starcraft_brood_war
- free_fire
- pokemon
- sidewipe
- trackmania
- clash_of_clans
- pubg_mobile
- call_of_duty_mobile
- standoff_2
- tetris
- critical_ops
- omega_strikers
- kho_kho
- mahjong
- vaquejada
- special_odds
- cricket_22
- stormgate
- osu
- keirin
- pickleball
- x1_soccer
- footvolley
- parintis_festival
- tvbet
- virtual
- fifa
- erocket_league
- nba_2k
- etennis
- efighting
- ecricket
- ebaseball
- penalty_shootout
- eshooter
- fifa_volta
- full_ace_tennis
- ehorse_racing
- muay_thai
- soccer_specials
- breaking
- cornhole
- politics
OperatorGameUrl:
type: object
description: "Set of data required to generate a game url"
required:
- operator_id
- brand_id
- player_id
- token
- game_code
- platform
- currency
- lang
- country
- ip
properties:
operator_id:
type: string
example: "64651433b8c355917ec3441f"
description: >-
Unique identifier of Operator in Vegangster system. Used to
authorize incoming requests. Can be obtained from Vegangster back
office after Operator is registered and set up in Vegangster system.
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
player_id:
type: string
example: "64651509b8c355917ec34421"
minLength: 3
description: "Unique Player ID in the Operator’s system."
token:
type: string
example: "64651582b8c355917ec34422"
description: >-
Operator's back end generates a token associated with the Player,
game, Player's current currency and maybe other parameters depending
on the Operator's preferences. The token acts as an ID parameter for
the game session. It is important that the currency is not changed
during the current game session.
game_code:
type: string
example: "the_best_game"
description: >-
Unique game identifier in Vegangster system in form of a string. Can
be obtained from operator/v1/game/list endpoint.
platform:
$ref: "#/components/schemas/GamePlatform"
currency:
$ref: '#/components/schemas/Currency'
lang:
$ref: '#/components/schemas/Language'
country:
$ref: '#/components/schemas/Country'
ip:
type: string
description: "Player's IP address"
example: "145.22.35.62"
lobby_url:
type: string
description: "Most games have a Home button that redirects the Player back to the lobby. Put the lobby URL here."
example: "https://my-great-casino.com/lobby"
maxLength: 255
deposit_url:
type: string
description: "Some games have button that redirects Player to page where he can deposit money. Put your URL to deposit page here."
example: "https://my-great-casino.com/deposit"
maxLength: 255
player_nick:
type: string
description: "Player's nickname on Operator's back end"
example: "xXx_pro100Max_xXx"
OperatorGameUrlResponse:
type: object
description: "OK"
required:
- url
properties:
url:
type: string
example: "https://beta.cool-games.com/the-game?session=ffesg-523rfs3-423d-sf-ef"
description: "Landing URL of chosen game"
OperatorGameUrlError:
type: object
required:
- error
properties:
error:
type: string
example: "Game unavailable"
description: "Reason why request failed"
OperatorDemoUrl:
type: object
description: "Set of data required to generate a demo game url"
required:
- operator_id
- brand_id
- game_code
- platform
- currency
- lang
- country
- ip
properties:
operator_id:
type: string
example: "64651433b8c355917ec3441f"
description: >-
Unique identifier of Operator in Vegangster system. Used to
authorize incoming requests. Can be obtained from Vegangster back
office after Operator is registered and set up in Vegangster system.
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
game_code:
type: string
example: "the_best_game"
description: >-
Unique game identifier in Vegangster system in form of a string. Can
be obtained from operator/v1/game/list endpoint.
platform:
$ref: "#/components/schemas/GamePlatform"
currency:
$ref: '#/components/schemas/Currency'
lang:
$ref: '#/components/schemas/Language'
country:
$ref: '#/components/schemas/Country'
ip:
type: string
description: "Player's IP address"
example: "145.22.35.62"
lobby_url:
type: string
description: "Most games have a Home button that redirects the Player back to the lobby. Put the lobby URL here."
example: "https://my-great-casino.com/lobby"
maxLength: 255
OperatorSportsStart:
type: object
description: "Set of data required to generate a sport game url"
required:
- operator_id
- brand_id
- token
- platform
- currency
- lang
- country
- ip
- provider
properties:
operator_id:
type: string
example: "64651433b8c355917ec3441f"
description: >-
Unique identifier of Operator in Vegangster system. Used to
authorize incoming requests. Can be obtained from Vegangster back
office after Operator is registered and set up in Vegangster system.
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
token:
type: string
example: "64651582b8c355917ec34422"
description: >-
Operator's back end generates a token associated with the Player,
game, Player's current currency and maybe other parameters depending
on the Operator's preferences. The token acts as an ID parameter for
the game session. It is important that the currency is not changed
during the current game session.
platform:
$ref: "#/components/schemas/GamePlatform"
currency:
$ref: '#/components/schemas/Currency'
lang:
$ref: '#/components/schemas/Language'
country:
$ref: '#/components/schemas/Country'
ip:
type: string
description: "Player's IP address"
example: "145.22.35.62"
provider:
$ref: '#/components/schemas/SportProvider'
player_nick:
type: string
description: "Player's nickname on Operator's back end"
example: "xXx_pro100Max_xXx"
player_id:
type: string
example: "64651509b8c355917ec34421"
minLength: 3
description: "Unique Player ID in the Operator’s system."
sport_type:
$ref: '#/components/schemas/SportType'
OperatorSportsDemoStart:
type: object
description: \"Set of data required to generate a demo game url\"
required:
- operator_id
- brand_id
- platform
- lang
- country
- ip
- provider
properties:
operator_id:
type: string
example: "64651433b8c355917ec3441f"
description: >-
Unique identifier of Operator in Vegangster system. Used to
authorize incoming requests. Can be obtained from Vegangster back
office after Operator is registered and set up in Vegangster system.
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
platform:
$ref: "#/components/schemas/GamePlatform"
lang:
$ref: '#/components/schemas/Language'
country:
$ref: '#/components/schemas/Country'
ip:
type: string
description: "Player's IP address"
example: "145.22.35.62"
sport_type:
$ref: '#/components/schemas/SportType'
OperatorSportsStartResponse:
type: object
description: "OK"
required:
- provider
- data
properties:
provider:
$ref: '#/components/schemas/SportProvider'
data:
$ref: '#/components/schemas/DataOperatorSportsStartResponse'
DataOperatorSportsStartResponse:
type: object
required:
- game_url
properties:
game_url:
type: string
example: "https://beta.sport-games.com/the-game?session=ffesg-523rfs3-423d-sf-ef"
description: "Landing URL of chosen game"
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
theme_name:
type: string
example: "default"
description: "Sport provider develops a theme on frontend and shares a unique parameter."
token:
type: string
example: "bRhRHRNRhaetnasrhaeeRHR346uqrhrehR532.."
description: "Encoded jwt token"
OperatorRoundInfo:
type: object
required:
- operator_id
- brand_id
- round_id
properties:
operator_id:
type: string
example: "64651433b8c355917ec3441f"
description: >-
Unique identifier of Operator in Vegangster system. Used to
authorize incoming requests. Can be obtained from Vegangster back
office after Operator is registered and set up in Vegangster system.
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
round_id:
type: string
example: "64651484b8c355917ec34421"
minLength: 3
description: "Round identifier, which you recive from us through API during gameplay."
OperatorRoundInfoResponse:
type: object
properties:
url:
type: string
description: >-
Url to page where results of round would be shown.
providers_data:
type: object
description: >-
Depends on provider, for Live dealer games.
OperatorRoundInfoResponseError:
type: object
required:
- error
properties:
error:
type: string
error_details:
type: array
items:
type: object
example: {'msg': 'API not supported for provider.'}
OperatorRoundCancel:
type: object
required:
- operator_id
- brand_id
- round_id
properties:
operator_id:
type: string
example: "64651433b8c355917ec3441f"
description: >-
Unique identifier of Operator in Vegangster system. Used to
authorize incoming requests. Can be obtained from Vegangster back
office after Operator is registered and set up in Vegangster system.
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
round_id:
type: string
example: "64651484b8c355917ec34421"
minLength: 3
description: "Round identifier, which you recive from us through API during gameplay."
OperatorRoundCancelResponse:
type: object
properties:
success:
type: boolean
OperatorRoundCancelResponseError:
type: object
required:
- error
properties:
error:
type: string
error_details:
type: array
items:
type: object
example: {'msg': 'API not supported for provider.'}
OperatorList:
type: object
required:
- operator_id
- brand_id
properties:
operator_id:
type: string
example: "64651433b8c355917ec3441f"
description: >-
Unique identifier of Operator in Vegangster system. Used to
authorize incoming requests. Can be obtained from Vegangster back
office after Operator is registered and set up in Vegangster system.
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
LiveTablesAPIListModel:
type: object
required:
- last_modified
- game_code
- table_id
- table_name
- table_type
- online
- dealer
- players
- free_seats
properties:
last_modified:
$ref: "#/components/schemas/Date"
game_code:
type: string
example: "blackjack_a"
description: "Game code as it is listed on Vegangster side.
Can be obtained from operator/v1/game/list endpoint."
table_id:
type: string
example: "412"
description: "Table id as it is obtained from the game provider"
table_name:
type: string
example: "Blackjack A"
description: "Table name as it is obtained from the game provider"
table_type:
$ref: "#/components/schemas/TableType"
online:
type: boolean
example: true
dealer:
type: string
example: "Daniel_1"
players:
type: integer
example: 10
free_seats:
type: integer
example: 5
description: "If this value is -1 - the field is not relevant to the provided table"
table_lang:
$ref: '#/components/schemas/Language'
results:
type: array
description: "Composition may differ from game to game. Strict validations are NOT adviced."
items:
type: object
example: [[ { "value" : 8 } ]]
min_bet:
description: "Composition may differ from game to game. Strict validations are NOT adviced."
type: object
bet_limits:
description: "Composition may differ from game to game. Strict validations are NOT adviced."
type: object
example: {"USD": {"symbol": "$", "min": 50, "max": 2500}}
Game:
type: object
required:
- display_provider
- section
- name
- game_code
- provider_game_code
properties:
display_provider:
type: string
example: "Evolution Gaming"
section:
type: string
example: "livedealers"
name:
type: string
example: "Black Jack A"
game_code:
type: string
example: "blackjack_a"
provider_game_code:
type: string
example: "provider.blackjack_a"
provider_mobile_game_code:
type: string
example: "provider.blackjack_a_m"
table_id:
type: string
example: "1234"
blacklisted_countries_iso:
type: array
items:
$ref: '#/components/schemas/Country'
platforms:
type: array
items:
$ref: '#/components/schemas/GamePlatform'
rtp:
type: number
example: 12.34
min_bet_eur:
type: integer
example: 1234
max_bet_eur:
type: integer
example: 1234
languages:
type: array
items:
$ref: '#/components/schemas/Language'
freegames_support:
type: boolean
feature_triggers_support:
type: boolean
demo:
type: boolean
jackpot_support:
type: boolean
date_release:
$ref: "#/components/schemas/Date"
lines:
type: integer
example: 1234
volatility:
type: integer
example: 1
hit_frequency:
type: integer
example: 1
max_exposure:
type: integer
example: 1
max_multiplier:
type: integer
example: 1
layout:
$ref: "#/components/schemas/GameLayout"
features:
type: array
items:
$ref: '#/components/schemas/GameFeature'
themes:
type: array
items:
$ref: '#/components/schemas/GameTheme'
genres:
type: array
items:
$ref: '#/components/schemas/GameGenre'
tags:
type: array
items:
$ref: '#/components/schemas/GameTag'
technology:
type: array
items:
$ref: '#/components/schemas/GameTechnology'
reels:
type: integer
example: 1
rows:
type: integer
example: 1
autoplay_support:
type: boolean
quickspin_support:
type: boolean
GameListResponse:
type: object
required:
- games
properties:
games:
type: array
items:
$ref: '#/components/schemas/Game'
OperatorFreegameGrant:
type: object
required:
- operator_id
- brand_id
- player_id
- country
- ip
- reference
- game_code
- rounds
- rounds_bet
- currency
- end_date
- offer_end_date
properties:
operator_id:
type: string
example: "64651433b8c355917ec3441f"
description: >-
Unique identifier of Operator in Vegangster system. Used to
authorize incoming requests. Can be obtained from Vegangster back
office after Operator is registered and set up in Vegangster system.
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
player_id:
type: string
example: "64651509b8c355917ec34421"
minLength: 3
description: "Unique Player ID in the Operator’s system."
country:
$ref: '#/components/schemas/Country'
ip:
type: string
description: "Player's IP address"
example: "145.22.35.62"
reference:
type: string
example: "Ref_1_fsefgrh"
game_code:
type: string
example: "the_best_game"
description: >-
Unique game identifier in Vegangster system in form of a string. Can
be obtained from operator/v1/game/list endpoint.
rounds:
type: integer
example: 10
description: "Amount of rounds for a freegame session."
rounds_bet:
type: integer
example: 100
description: "Bet amount for each round of a freegame session.
Subunits are used: if currency is 'USD' then 100 = 1 USD."
currency:
$ref: '#/components/schemas/Currency'
end_date:
$ref: "#/components/schemas/Date"
offer_end_date:
$ref: "#/components/schemas/Date"
start_date:
$ref: "#/components/schemas/Date"
max_winnings:
type: integer
example: 1000
description: "Amount of a maximum possible non-zero winning for the freegame. Only applicable to a few of the games. Contact support team in order to determine the list of games/provider that support this feature."
OperatorFreegameGrantResponse:
type: object
required:
- id
properties:
id:
type: string
example: "AnsrgRT432-R4rwrw412f-Fijhr55"
description: "Id of the freegame offer generated on Vegangster side"
OperatorFreegameList:
type: object
required:
- operator_id
- brand_id
- player_id
properties:
operator_id:
type: string
example: "64651433b8c355917ec3441f"
description: >-
Unique identifier of Operator in Vegangster system. Used to
authorize incoming requests. Can be obtained from Vegangster back
office after Operator is registered and set up in Vegangster system.
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
player_id:
type: string
example: "64651509b8c355917ec34421"
minLength: 3
description: "Unique Player ID in the Operator’s system."
OperatorFreegameCancel:
type: object
required:
- operator_id
- brand_id
- id
properties:
operator_id:
type: string
example: "64651433b8c355917ec3441f"
description: >-
Unique identifier of Operator in Vegangster system. Used to
authorize incoming requests. Can be obtained from Vegangster back
office after Operator is registered and set up in Vegangster system.
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
id:
type: string
example: "64e4c3900e812e194e6e3767"
minLength: 3
description: "Id of the freegame offer generated on Vegangster side."
OperatorFreegameListResponse:
type: object
required:
- freegames
properties:
freegames:
type: array
items:
$ref: '#/components/schemas/OperatorFreegameResponse'
OperatorFreegameResponse:
type: object
required:
- id
- reference
- game_code
- rounds
- rounds_bet
- currency
- start_date
- end_date
properties:
id:
type: string
example: "64e4c3900e812e194e6e3767"
description: "Id of the freegame offer generated on Vegangster side"
reference:
type: string
example: "Ref_1_fsefgrh"
game_code:
type: string
example: "the_best_game"
description: >-
Unique game identifier in Vegangster system in form of a string. Can
be obtained from operator/v1/game/list endpoint.
rounds:
type: integer
example: 10
description: "Amount of rounds for a freegame session."
rounds_bet:
type: integer
example: 100
description: "Bet amount for each round of a freegame session.
Subunits are used: if currency is 'USD' then 100 = 1 USD."
currency:
$ref: '#/components/schemas/Currency'
start_date:
$ref: "#/components/schemas/Date"
end_date:
$ref: "#/components/schemas/Date"
OperatorFreegameGamesListRequest:
type: object
required:
- operator_id
- brand_id
- currency
properties:
operator_id:
type: string
example: "64651433b8c355917ec3441f"
description: >-
Unique identifier of Operator in Vegangster system. Used to
authorize incoming requests. Can be obtained from Vegangster back
office after Operator is registered and set up in Vegangster system.
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
currency:
$ref: '#/components/schemas/Currency'
display_provider:
type: string
example: "evolutiongaming"
country:
$ref: '#/components/schemas/Country'
FreegamesGame:
type: object
properties:
display_provider:
type: string
example: "Evolution Gaming"
game_code:
type: string
example: "blackjack_a"
name:
type: string
example: "Black Jack A"
demo:
type: boolean
default: true
platforms:
type: array
items:
type: string
example: ["desktop", "mobile"]
OperatorGameLiveTablesListResponse:
type: object
required:
- tables
properties:
tables:
type: array
items:
$ref: '#/components/schemas/LiveTablesAPIListModel'
OperatorGameLiveTablesListRequest:
type: object
required:
- operator_id
- brand_id
properties:
operator_id:
type: string
example: "64651484b8c355917ec34420"
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
game_codes:
type: array
description: "If provided, will only return tables info for games, which game codes are listed in this field. Game codes can be obtained from operator/v1/game/list endpoint"
items:
type: string
example: ["blackjack_a", "blackjack_b", "blackjack_c"]
OperatorGameGamesListResponse:
type: object
required:
- tables
properties:
games:
type: array
items:
$ref: '#/components/schemas/Game'
OperatorFreegameGamesListResponse:
type: object
required:
- games
properties:
games:
type: array
items:
$ref: '#/components/schemas/FreegamesGame'
OperatorFreegameGameBetAmountListRequest:
type: object
required:
- operator_id
- brand_id
- game_code
properties:
operator_id:
type: string
example: "64651433b8c355917ec3441f"
description: >-
Unique identifier of Operator in Vegangster system. Used to
authorize incoming requests. Can be obtained from Vegangster back
office after Operator is registered and set up in Vegangster system.
brand_id:
type: string
example: "64651484b8c355917ec34420"
description: "Unique identifier of Brand in Vegangster's system."
game_code:
type: string
example: "the_best_game"
description: >-
Unique game identifier in Vegangster system in form of a string. Can
be obtained from operator/v1/game/list endpoint.
currency:
$ref: '#/components/schemas/Currency'
country:
$ref: '#/components/schemas/Country'
OperatorFreegameGameBetAmountListResponse:
type: object
required:
- bet_amounts
properties:
bet_amounts:
type: object
example: {"USD": [100, 200, 300]}
# propertyNames:
# $ref: '#/components/schemas/Currency'
additionalProperties:
type: array
example: [100, 200, 300]
items:
type: integer
example: 100
Signature:
type: string
description: 'RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key.'
example: 'k8T2IfVierOFeALQrNx88Es6Dl8Bgb9ogm1W4xgL3Ve01p59DQNt0oorm0LZt/YqkWYGLL2lpd5Qb1FiX4O7+hfyPKN1Q=='
PlayerInfoRequest:
type: object
required:
- player_id
- token
properties:
operator_player_id:
type: string
example: "64651509b8c355917ec34421"
minLength: 3
description: "Unique Player ID in the Operator’s system."
operator_token:
type: string
example: "64651582b8c355917ec34422"
description: >-
Operator's back end generates a token associated with the Player,
game, Player's current currency and maybe other parameters depending
on the Operator's preferences. The token acts as an ID parameter for
the game session. It is important that the currency is not changed
during the current game session.
PlayerInfo:
type: object
example:
status: OK
currency: EUR
country: PL
balance: 10000
required:
- status
- currency
- country
- balance
properties:
status:
type: string
description: A status message about the operation. 'OK' if no problem has occured
example: OK
currency:
$ref: '#/components/schemas/Currency'
country:
type: string
example: AR
description: a two-letter country code (ISO-3166)
balance:
type: integer
example: 250
description: >-
Player's balance in currency subunits (example: USD cents; 100 = 1
USD)
PlayerBalanceRequest:
type: object
required:
- player_id
- token
properties:
operator_player_id:
type: string
example: "64651509b8c355917ec34421"
minLength: 3
description: "Unique Player ID in the Operator’s system."
PlayerBalance:
type: object
example:
status: OK
currency: USD
balance: 25000
required:
- status
- currency
- balance
properties:
status:
type: string
example: OK
description: A status message about the operation. 'OK' if no problem has occured
currency:
$ref: '#/components/schemas/Currency'
balance:
type: integer
example: 250
description: >-
Player's balance in currency subunits (example: USD cents; 100 = 1
USD)
TransactionResponse:
type: object
example:
status: OK
currency: USD
balance: 50000
external_transaction_id: LOCAL_TR_ID_1
required:
- status
- currency
- balance
- external_transaction_id
properties:
status:
type: string
example: OK
description: A status message about the operation. 'OK' if no problem has occured
currency:
$ref: '#/components/schemas/Currency'
balance:
type: integer
example: 250
description: >-
Player's balance in currency subunits (example: USD cents; 100 = 1
USD)
external_transaction_id:
type: string
example: F988FUH3BZBWBE23BR35TSE
description: A unique identifier for a transaction assigned on your side
TransactionBetRequest:
type: object
required:
- player_id
- token
- game_code
- transaction_id
- round_id
- currency
- amount
properties:
operator_player_id:
type: string
example: "64651509b8c355917ec34421"
minLength: 3
description: "Unique Player ID in the Operator’s system."
operator_token:
type: string
example: "64651582b8c355917ec34422"
description: >-
Operator's back end generates a token associated with the Player,
game, Player's current currency and maybe other parameters depending
on the Operator's preferences. The token acts as an ID parameter for
the game session. It is important that the currency is not changed
during the current game session.
game_code:
type: string
example: "the_best_game"
description: >-
Unique game identifier in Vegangster system in form of a string. Can
be obtained from operator/v1/game/list endpoint.
transaction_id:
type: string
example: "fse356yhb3b423rf8s893y33111rff"
minLength: 3
description: "Transaction identifier, which you recive from us through API during gameplay."
round_id:
type: string
example: "ffe42346yh-dgr"
minLength: 3
description: "Round identifier, which you recive from us through API during gameplay."
currency:
$ref: '#/components/schemas/Currency'
amount:
type: integer
example: 100
description: "Bet amount.
Subunits are used: if currency is 'USD' then 100 = 1 USD."
TransactionWinRequest:
type: object
required:
- player_id
- token
- game_code
- transaction_id
- round_id
- currency
- amount
- round_closed
properties:
operator_player_id:
type: string
example: "64651509b8c355917ec34421"
minLength: 3
description: "Unique Player ID in the Operator’s system."
operator_token:
type: string
example: "64651582b8c355917ec34422"
description: >-
Operator's back end generates a token associated with the Player,
game, Player's current currency and maybe other parameters depending
on the Operator's preferences. The token acts as an ID parameter for
the game session. It is important that the currency is not changed
during the current game session.
game_code:
type: string
example: "the_best_game"
description: >-
Unique game identifier in Vegangster system in form of a string. Can
be obtained from operator/v1/game/list endpoint.
transaction_id:
type: string
example: "fse356yhb3b423rf8s893y33111rff"
minLength: 3
description: "Transaction identifier, which you recive from us through API during gameplay."
round_id:
type: string
example: "ffe42346yh-dgr"
minLength: 3
description: "Round identifier, which you recive from us through API during gameplay."
currency:
$ref: '#/components/schemas/Currency'
amount:
type: integer
example: 100
description: "Win amount.
Subunits are used: if currency is 'USD' then 100 = 1 USD."
round_closed:
type: boolean
example: True
description: "Inform an operator that round is closed"
freegames_reference:
$ref: '#/components/schemas/FreegamesReference'
TransactionRollbackRequest:
type: object
required:
- player_id
- token
- game_code
- transaction_id
- reference_transaction_id
- round_id
properties:
operator_player_id:
type: string
example: "64651509b8c355917ec34421"
minLength: 3
description: "Unique Player ID in the Operator’s system."
operator_token:
type: string
example: "64651582b8c355917ec34422"
description: >-
Operator's back end generates a token associated with the Player,
game, Player's current currency and maybe other parameters depending
on the Operator's preferences. The token acts as an ID parameter for
the game session. It is important that the currency is not changed
during the current game session.
game_code:
type: string
example: "the_best_game"
description: >-
Unique game identifier in Vegangster system in form of a string. Can
be obtained from operator/v1/game/list endpoint.
transaction_id:
type: string
example: "fse356yhb3b423rf8s893y33111rff"
minLength: 3
description: "Transaction identifier, which you recive from us through API during gameplay."
round_id:
type: string
example: "ffe42346yh-dgr"
minLength: 3
description: "Round identifier, which you recive from us through API during gameplay."
reference_transaction_id:
type: string
example: "12315678652123f"
description: >-
A unique identifier of the processed transaction to be rollbacked
(generated on provider's side)
TransactionSportsBetCommitRequest:
type: object
required:
- operator_transaction_id
- operator_token
properties:
operator_transaction_id:
type: string
example: "64651509b8c355917ec34421"
minLength: 3
description: "Unique Transaction ID in the Operator’s system."
operator_token:
type: string
example: "64651582b8c355917ec34422"
description: >-
Operator's back end generates a token associated with the Player,
game, Player's current currency and maybe other parameters depending
on the Operator's preferences. The token acts as an ID parameter for
the game session. It is important that the currency is not changed
during the current game session.
TransactionSportsBetSettlementRequest:
type: object
required:
- operator_transaction_id
- operator_token
- status
properties:
operator_transaction_id:
type: string
example: "64651509b8c355917ec34421"
minLength: 3
description: "Unique Transaction ID in the Operator’s system."
operator_token:
type: string
example: "64651582b8c355917ec34422"
description: >-
Operator's back end generates a token associated with the Player,
game, Player's current currency and maybe other parameters depending
on the Operator's preferences. The token acts as an ID parameter for
the game session. It is important that the currency is not changed
during the current game session.
status:
type: string
example: 'won'
description: "Settled status of betslip"
enum:
- won
- lost
- canceled
- refund
- cashed out
- half-won
- half-lost
BetCommitResponse:
type: object
example:
status: OK
properties:
status:
type: string
description: A status message about the operation. 'OK' if no problem has occured
example: OK
FreegamesReference:
description: '[OPTIONAL] Additional data regarding the freegames'
type: string
example: "present_1_for_user_x"