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:

  1. Obtain a game URL from Vegangster.
  2. Direct the customer to the URL provided by Vegangster.
  3. 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:

  1. Operator makes a Game API call to /operator/v1/game/demo/url to obtain game launch URL.
  2. 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).
  3. 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:

  1. Operator generates and stores a unique game session token.
  2. 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.
  3. 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).
  4. 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.
  5. Operator verifies the token against the stored token and returns the user's balance. The user can then place a bet.
  6. When the user attempts to place a bet, a Wallet API call /transaction/bet is triggered on the Operator's server.
  7. 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.
  8. If the user wins, the Wallet API triggers a call /transaction/win on the Operator's server.
  9. 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"