{"info":{"_postman_id":"264ad90e-f141-424b-b914-3d04ae9d43e4","name":"Integration API - Ninja","description":"<html><head></head><body><h2 id=\"changelog\">Changelog</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Version</th>\n<th>Date</th>\n<th>Changes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1.0</td>\n<td>2024-03-19</td>\n<td>Initial version</td>\n</tr>\n<tr>\n<td>2.0</td>\n<td>2024-09-30</td>\n<td>Free Spins support &amp; Model update</td>\n</tr>\n<tr>\n<td>2.1</td>\n<td>2024-10-11</td>\n<td>Refactor value formats</td>\n</tr>\n<tr>\n<td>3.0</td>\n<td>2024-11-06</td>\n<td>Lobby support</td>\n</tr>\n<tr>\n<td>3.1</td>\n<td>2024-11-18</td>\n<td>Game Round History support</td>\n</tr>\n<tr>\n<td>3.2</td>\n<td>2025-01-13</td>\n<td>Get Providers support</td>\n</tr>\n<tr>\n<td>3.3</td>\n<td>2025-02-14</td>\n<td>Refactor types &amp; Update description</td>\n</tr>\n<tr>\n<td>3.4</td>\n<td>2025-04-02</td>\n<td>Added non-game transactions support</td>\n</tr>\n<tr>\n<td>3.5</td>\n<td>2025-06-04</td>\n<td>Game providerGameId support &amp; Transaction providerRoundId support</td>\n</tr>\n<tr>\n<td>3.6</td>\n<td>2025-06-24</td>\n<td>Update supported currencies</td>\n</tr>\n<tr>\n<td>3.7</td>\n<td>2025-07-31</td>\n<td>Add brand id support</td>\n</tr>\n<tr>\n<td>3.8</td>\n<td>2025-09-11</td>\n<td>Remove brand support</td>\n</tr>\n<tr>\n<td>3.9</td>\n<td>2025-09-29</td>\n<td>Add multi-currency support &amp; Get Player Details support</td>\n</tr>\n<tr>\n<td>3.10</td>\n<td>2025-10-01</td>\n<td>Affiliate support</td>\n</tr>\n<tr>\n<td>3.11</td>\n<td>2025-10-10</td>\n<td>Free Spins Completed</td>\n</tr>\n<tr>\n<td>3.12</td>\n<td>2025-11-08</td>\n<td>Session mechanism</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"introduction\">Introduction</h2>\n<p>Casino is the entity which works with the players.<br>Aggregator Provider is the entity which provides single API for integrations.</p>\n<p>Casino provides:</p>\n<ol>\n<li><p>Callback Url</p>\n</li>\n<li><p>IPs to whitelist.</p>\n</li>\n</ol>\n<p>Aggregator Provider provides:</p>\n<ol>\n<li><p>API Url</p>\n</li>\n<li><p>Basic Auth Username</p>\n</li>\n<li><p>Basic Auth Password</p>\n</li>\n<li><p>Brand Id</p>\n</li>\n<li><p>IPs to whitelist.</p>\n</li>\n</ol>\n<hr>\n<h2 id=\"formats\">Formats</h2>\n<h4 id=\"money\">Money</h4>\n<p>Money amount is passed with minor units<br>Examples: 2.50 EUR = 250, 10.50 TRY = 1050</p>\n<p>Currency is passed as string<br>Examples: EUR, TRY</p>\n<p>Supported Currencies:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Currency</strong></th>\n<th><strong>Name</strong></th>\n<th><strong>Minor Units</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>AED</td>\n<td>United Arab Emirates Dirham</td>\n<td>2</td>\n</tr>\n<tr>\n<td>ALL</td>\n<td>Albanian Lek</td>\n<td>2</td>\n</tr>\n<tr>\n<td>AMD</td>\n<td>Armenian Dram</td>\n<td>2</td>\n</tr>\n<tr>\n<td>ANG</td>\n<td>Netherlands Antillean Guilder</td>\n<td>2</td>\n</tr>\n<tr>\n<td>AOA</td>\n<td>Angolan Kwanza</td>\n<td>2</td>\n</tr>\n<tr>\n<td>ARS</td>\n<td>Argentine Peso</td>\n<td>2</td>\n</tr>\n<tr>\n<td>AUD</td>\n<td>Australian Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>AWG</td>\n<td>Aruban Florin</td>\n<td>2</td>\n</tr>\n<tr>\n<td>AZN</td>\n<td>Azerbaijani Manat</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BAM</td>\n<td>Bosnia-Herzegovina Convertible Mark</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BBD</td>\n<td>Barbadian Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BDT</td>\n<td>Bangladeshi Taka</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BGN</td>\n<td>Bulgarian Lev</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BHD</td>\n<td>Bahraini Dinar</td>\n<td>3</td>\n</tr>\n<tr>\n<td>BIF</td>\n<td>Burundian Franc</td>\n<td>0</td>\n</tr>\n<tr>\n<td>BMD</td>\n<td>Bermudian Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BND</td>\n<td>Brunei Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BOB</td>\n<td>Bolivian Boliviano</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BOV</td>\n<td>Bolivian Mvdol</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BRL</td>\n<td>Brazilian Real</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BSD</td>\n<td>Bahamian Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BTN</td>\n<td>Bhutanese Ngultrum</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BWP</td>\n<td>Botswanan Pula</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BYN</td>\n<td>Belarusian Ruble</td>\n<td>2</td>\n</tr>\n<tr>\n<td>BZD</td>\n<td>Belize Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>CAD</td>\n<td>Canadian Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>CDF</td>\n<td>Congolese Franc</td>\n<td>2</td>\n</tr>\n<tr>\n<td>CHE</td>\n<td>WIR Euro</td>\n<td>2</td>\n</tr>\n<tr>\n<td>CHF</td>\n<td>Swiss Franc</td>\n<td>2</td>\n</tr>\n<tr>\n<td>CHW</td>\n<td>WIR Franc</td>\n<td>2</td>\n</tr>\n<tr>\n<td>CLF</td>\n<td>Unidad de Fomento (Chile)</td>\n<td>4</td>\n</tr>\n<tr>\n<td>CLP</td>\n<td>Chilean Peso</td>\n<td>2</td>\n</tr>\n<tr>\n<td>CNY</td>\n<td>Chinese Yuan</td>\n<td>2</td>\n</tr>\n<tr>\n<td>COP</td>\n<td>Colombian Peso</td>\n<td>2</td>\n</tr>\n<tr>\n<td>COU</td>\n<td>Unidad de Valor Real</td>\n<td>2</td>\n</tr>\n<tr>\n<td>CRC</td>\n<td>Costa Rican Colón</td>\n<td>2</td>\n</tr>\n<tr>\n<td>CUC</td>\n<td>Cuban Convertible Peso</td>\n<td>2</td>\n</tr>\n<tr>\n<td>CUP</td>\n<td>Cuban Peso</td>\n<td>2</td>\n</tr>\n<tr>\n<td>CVE</td>\n<td>Cape Verdean Escudo</td>\n<td>2</td>\n</tr>\n<tr>\n<td>CZK</td>\n<td>Czech Koruna</td>\n<td>2</td>\n</tr>\n<tr>\n<td>DJF</td>\n<td>Djiboutian Franc</td>\n<td>0</td>\n</tr>\n<tr>\n<td>DKK</td>\n<td>Danish Krone</td>\n<td>2</td>\n</tr>\n<tr>\n<td>DOP</td>\n<td>Dominican Peso</td>\n<td>2</td>\n</tr>\n<tr>\n<td>DZD</td>\n<td>Algerian Dinar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>EGP</td>\n<td>Egyptian Pound</td>\n<td>2</td>\n</tr>\n<tr>\n<td>ERN</td>\n<td>Eritrean Nakfa</td>\n<td>2</td>\n</tr>\n<tr>\n<td>ETB</td>\n<td>Ethiopian Birr</td>\n<td>2</td>\n</tr>\n<tr>\n<td>EUR</td>\n<td>Euro</td>\n<td>2</td>\n</tr>\n<tr>\n<td>FJD</td>\n<td>Fijian Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>FKP</td>\n<td>Falkland Islands Pound</td>\n<td>2</td>\n</tr>\n<tr>\n<td>GBP</td>\n<td>British Pound Sterling</td>\n<td>2</td>\n</tr>\n<tr>\n<td>GEL</td>\n<td>Georgian Lari</td>\n<td>2</td>\n</tr>\n<tr>\n<td>GHS</td>\n<td>Ghanaian Cedi</td>\n<td>2</td>\n</tr>\n<tr>\n<td>GIP</td>\n<td>Gibraltar Pound</td>\n<td>2</td>\n</tr>\n<tr>\n<td>GMD</td>\n<td>Gambian Dalasi</td>\n<td>2</td>\n</tr>\n<tr>\n<td>GNF</td>\n<td>Guinean Franc</td>\n<td>0</td>\n</tr>\n<tr>\n<td>GTQ</td>\n<td>Guatemalan Quetzal</td>\n<td>2</td>\n</tr>\n<tr>\n<td>GYD</td>\n<td>Guyanaese Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>HKD</td>\n<td>Hong Kong Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>HNL</td>\n<td>Honduran Lempira</td>\n<td>2</td>\n</tr>\n<tr>\n<td>HRK</td>\n<td>Croatian Kuna</td>\n<td>2</td>\n</tr>\n<tr>\n<td>HTG</td>\n<td>Haitian Gourde</td>\n<td>2</td>\n</tr>\n<tr>\n<td>HUF</td>\n<td>Hungarian Forint</td>\n<td>2</td>\n</tr>\n<tr>\n<td>IDR</td>\n<td>Indonesian Rupiah</td>\n<td>2</td>\n</tr>\n<tr>\n<td>ILS</td>\n<td>Israeli New Shekel</td>\n<td>2</td>\n</tr>\n<tr>\n<td>INR</td>\n<td>Indian Rupee</td>\n<td>2</td>\n</tr>\n<tr>\n<td>IQD</td>\n<td>Iraqi Dinar</td>\n<td>3</td>\n</tr>\n<tr>\n<td>IRR</td>\n<td>Iranian Rial</td>\n<td>2</td>\n</tr>\n<tr>\n<td>ISK</td>\n<td>Icelandic Króna</td>\n<td>0</td>\n</tr>\n<tr>\n<td>JMD</td>\n<td>Jamaican Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>JOD</td>\n<td>Jordanian Dinar</td>\n<td>3</td>\n</tr>\n<tr>\n<td>JPY</td>\n<td>Japanese Yen</td>\n<td>0</td>\n</tr>\n<tr>\n<td>KES</td>\n<td>Kenyan Shilling</td>\n<td>2</td>\n</tr>\n<tr>\n<td>KGS</td>\n<td>Kyrgyzstani Som</td>\n<td>2</td>\n</tr>\n<tr>\n<td>KHR</td>\n<td>Cambodian Riel</td>\n<td>2</td>\n</tr>\n<tr>\n<td>KMF</td>\n<td>Comorian Franc</td>\n<td>0</td>\n</tr>\n<tr>\n<td>KPW</td>\n<td>North Korean Won</td>\n<td>2</td>\n</tr>\n<tr>\n<td>KRW</td>\n<td>South Korean Won</td>\n<td>0</td>\n</tr>\n<tr>\n<td>KWD</td>\n<td>Kuwaiti Dinar</td>\n<td>3</td>\n</tr>\n<tr>\n<td>KYD</td>\n<td>Cayman Islands Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>KZT</td>\n<td>Kazakhstani Tenge</td>\n<td>2</td>\n</tr>\n<tr>\n<td>LAK</td>\n<td>Lao Kip</td>\n<td>2</td>\n</tr>\n<tr>\n<td>LBP</td>\n<td>Lebanese Pound</td>\n<td>2</td>\n</tr>\n<tr>\n<td>LKR</td>\n<td>Sri Lankan Rupee</td>\n<td>2</td>\n</tr>\n<tr>\n<td>LRD</td>\n<td>Liberian Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>LSL</td>\n<td>Lesotho Loti</td>\n<td>2</td>\n</tr>\n<tr>\n<td>LYD</td>\n<td>Libyan Dinar</td>\n<td>3</td>\n</tr>\n<tr>\n<td>MAD</td>\n<td>Moroccan Dirham</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MDL</td>\n<td>Moldovan Leu</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MGA</td>\n<td>Malagasy Ariary</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MKD</td>\n<td>Macedonian Denar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MMK</td>\n<td>Myanmar Kyat</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MNT</td>\n<td>Mongolian Tögrög</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MOP</td>\n<td>Macanese Pataca</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MRU</td>\n<td>Mauritanian Ouguiya</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MUR</td>\n<td>Mauritian Rupee</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MVR</td>\n<td>Maldivian Rufiyaa</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MWK</td>\n<td>Malawian Kwacha</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MXN</td>\n<td>Mexican Peso</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MXV</td>\n<td>Mexican Unidad de Inversion</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MYR</td>\n<td>Malaysian Ringgit</td>\n<td>2</td>\n</tr>\n<tr>\n<td>MZN</td>\n<td>Mozambican Metical</td>\n<td>2</td>\n</tr>\n<tr>\n<td>NAD</td>\n<td>Namibian Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>NGN</td>\n<td>Nigerian Naira</td>\n<td>2</td>\n</tr>\n<tr>\n<td>NIO</td>\n<td>Nicaraguan Córdoba</td>\n<td>2</td>\n</tr>\n<tr>\n<td>NOK</td>\n<td>Norwegian Krone</td>\n<td>2</td>\n</tr>\n<tr>\n<td>NPR</td>\n<td>Nepalese Rupee</td>\n<td>2</td>\n</tr>\n<tr>\n<td>NZD</td>\n<td>New Zealand Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>OMR</td>\n<td>Omani Rial</td>\n<td>3</td>\n</tr>\n<tr>\n<td>PAB</td>\n<td>Panamanian Balboa</td>\n<td>2</td>\n</tr>\n<tr>\n<td>PEN</td>\n<td>Peruvian Sol</td>\n<td>2</td>\n</tr>\n<tr>\n<td>PGK</td>\n<td>Papua New Guinean Kina</td>\n<td>2</td>\n</tr>\n<tr>\n<td>PHP</td>\n<td>Philippine Peso</td>\n<td>2</td>\n</tr>\n<tr>\n<td>PKR</td>\n<td>Pakistani Rupee</td>\n<td>2</td>\n</tr>\n<tr>\n<td>PLN</td>\n<td>Polish Złoty</td>\n<td>2</td>\n</tr>\n<tr>\n<td>PYG</td>\n<td>Paraguayan Guaraní</td>\n<td>0</td>\n</tr>\n<tr>\n<td>QAR</td>\n<td>Qatari Riyal</td>\n<td>2</td>\n</tr>\n<tr>\n<td>RON</td>\n<td>Romanian Leu</td>\n<td>2</td>\n</tr>\n<tr>\n<td>RSD</td>\n<td>Serbian Dinar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>RUB</td>\n<td>Russian Ruble</td>\n<td>2</td>\n</tr>\n<tr>\n<td>RWF</td>\n<td>Rwandan Franc</td>\n<td>0</td>\n</tr>\n<tr>\n<td>SAR</td>\n<td>Saudi Riyal</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SBD</td>\n<td>Solomon Islands Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SCR</td>\n<td>Seychellois Rupee</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SDG</td>\n<td>Sudanese Pound</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SEK</td>\n<td>Swedish Krona</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SGD</td>\n<td>Singapore Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SHP</td>\n<td>Saint Helena Pound</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SLL</td>\n<td>Sierra Leonean Leone</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SOS</td>\n<td>Somali Shilling</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SRD</td>\n<td>Surinamese Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SSP</td>\n<td>South Sudanese Pound</td>\n<td>2</td>\n</tr>\n<tr>\n<td>STN</td>\n<td>São Tomé and Príncipe Dobra</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SVC</td>\n<td>Salvadoran Colón</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SYP</td>\n<td>Syrian Pound</td>\n<td>2</td>\n</tr>\n<tr>\n<td>SZL</td>\n<td>Swazi Lilangeni</td>\n<td>2</td>\n</tr>\n<tr>\n<td>THB</td>\n<td>Thai Baht</td>\n<td>2</td>\n</tr>\n<tr>\n<td>TJS</td>\n<td>Tajikistani Somoni</td>\n<td>2</td>\n</tr>\n<tr>\n<td>TMT</td>\n<td>Turkmenistani Manat</td>\n<td>2</td>\n</tr>\n<tr>\n<td>TND</td>\n<td>Tunisian Dinar</td>\n<td>3</td>\n</tr>\n<tr>\n<td>TOP</td>\n<td>Tongan Paʻanga</td>\n<td>2</td>\n</tr>\n<tr>\n<td>TRY</td>\n<td>Turkish Lira</td>\n<td>2</td>\n</tr>\n<tr>\n<td>TTD</td>\n<td>Trinidad and Tobago Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>TWD</td>\n<td>New Taiwan Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>TZS</td>\n<td>Tanzanian Shilling</td>\n<td>2</td>\n</tr>\n<tr>\n<td>UAH</td>\n<td>Ukrainian Hryvnia</td>\n<td>2</td>\n</tr>\n<tr>\n<td>UGX</td>\n<td>Ugandan Shilling</td>\n<td>0</td>\n</tr>\n<tr>\n<td>USD</td>\n<td>United States Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>USN</td>\n<td>US Dollar (Next day)</td>\n<td>2</td>\n</tr>\n<tr>\n<td>UYI</td>\n<td>Uruguay Peso en Unidades Indexadas</td>\n<td>0</td>\n</tr>\n<tr>\n<td>UYU</td>\n<td>Uruguayan Peso</td>\n<td>2</td>\n</tr>\n<tr>\n<td>UZS</td>\n<td>Uzbekistani Som</td>\n<td>2</td>\n</tr>\n<tr>\n<td>VND</td>\n<td>Vietnamese Đồng</td>\n<td>0</td>\n</tr>\n<tr>\n<td>VUV</td>\n<td>Vanuatu Vatu</td>\n<td>0</td>\n</tr>\n<tr>\n<td>WST</td>\n<td>Samoan Tala</td>\n<td>2</td>\n</tr>\n<tr>\n<td>XAF</td>\n<td>Central African CFA Franc</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XCD</td>\n<td>East Caribbean Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>XOF</td>\n<td>West African CFA Franc</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XPF</td>\n<td>CFP Franc</td>\n<td>0</td>\n</tr>\n<tr>\n<td>YER</td>\n<td>Yemeni Rial</td>\n<td>2</td>\n</tr>\n<tr>\n<td>ZAR</td>\n<td>South African Rand</td>\n<td>2</td>\n</tr>\n<tr>\n<td>ZMW</td>\n<td>Zambian Kwacha</td>\n<td>2</td>\n</tr>\n<tr>\n<td>ZWL</td>\n<td>Zimbabwean Dollar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>VEF</td>\n<td>Venezuelan Bolívar</td>\n<td>2</td>\n</tr>\n<tr>\n<td>XAG</td>\n<td>Silver (troy ounce)</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XAU</td>\n<td>Gold (troy ounce)</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XBA</td>\n<td>European Composite Unit</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XBB</td>\n<td>European Monetary Unit</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XBC</td>\n<td>European Unit of Account 9</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XBD</td>\n<td>European Unit of Account 17</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XDR</td>\n<td>Special Drawing Rights</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XPD</td>\n<td>Palladium (troy ounce)</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XPT</td>\n<td>Platinum (troy ounce)</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XSU</td>\n<td>SUCRE</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XTS</td>\n<td>Code Reserved for Testing</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XUA</td>\n<td>ADB Unit of Account</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XXX</td>\n<td>No Currency</td>\n<td>0</td>\n</tr>\n<tr>\n<td>XBT</td>\n<td>Bitcoin</td>\n<td>8</td>\n</tr>\n<tr>\n<td>BTC</td>\n<td>Bitcoin</td>\n<td>8</td>\n</tr>\n<tr>\n<td>ADA</td>\n<td>Cardano</td>\n<td>6</td>\n</tr>\n<tr>\n<td>BCH</td>\n<td>Bitcoin Cash</td>\n<td>8</td>\n</tr>\n<tr>\n<td>BNB</td>\n<td>Binance Coin</td>\n<td>18</td>\n</tr>\n<tr>\n<td>CRO</td>\n<td>Cronos</td>\n<td>18</td>\n</tr>\n<tr>\n<td>DAI</td>\n<td>Dai</td>\n<td>18</td>\n</tr>\n<tr>\n<td>DOGE</td>\n<td>Dogecoin</td>\n<td>8</td>\n</tr>\n<tr>\n<td>ETH</td>\n<td>Ethereum</td>\n<td>18</td>\n</tr>\n<tr>\n<td>LINK</td>\n<td>Chainlink</td>\n<td>18</td>\n</tr>\n<tr>\n<td>LTC</td>\n<td>Litecoin</td>\n<td>8</td>\n</tr>\n<tr>\n<td>POL</td>\n<td>Polygon</td>\n<td>18</td>\n</tr>\n<tr>\n<td>SAND</td>\n<td>The Sandbox</td>\n<td>18</td>\n</tr>\n<tr>\n<td>SOL</td>\n<td>Solana</td>\n<td>9</td>\n</tr>\n<tr>\n<td>TRX</td>\n<td>TRON</td>\n<td>6</td>\n</tr>\n<tr>\n<td>UNI</td>\n<td>Uniswap</td>\n<td>18</td>\n</tr>\n<tr>\n<td>USDC</td>\n<td>USD Coin</td>\n<td>6</td>\n</tr>\n<tr>\n<td>USDT</td>\n<td>Tether</td>\n<td>6</td>\n</tr>\n<tr>\n<td>XRP</td>\n<td>Ripple</td>\n<td>6</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h4 id=\"date-and-time\">Date And Time</h4>\n<p>Date and Time are passed in Unix Timestamp using UTC timezone (<a href=\"https://www.epochconverter.com/\">epochconverter</a>) - number of milliseconds from the epoch of 1970-01-01T00:00:00Z.<br>Examples: 2024-03-15T11:42:03+00:00 = '1710499323000'</p>\n<h4 id=\"locale\">Locale</h4>\n<p>User's locale should be passed in ISO-639 + '_' + ISO-3166 format (<a href=\"https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html\">ISO-639, ISO-3166</a>).</p>\n<p>Locales:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Locale</strong></th>\n<th><strong>Region</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>af_ZA</td>\n<td>Afrikaans (South Africa)</td>\n</tr>\n<tr>\n<td>ar_AR</td>\n<td>Arabic</td>\n</tr>\n<tr>\n<td>ar_AE</td>\n<td>Arabic (U.A.E.)</td>\n</tr>\n<tr>\n<td>ar_BH</td>\n<td>Arabic (Bahrain)</td>\n</tr>\n<tr>\n<td>ar_DZ</td>\n<td>Arabic (Algeria)</td>\n</tr>\n<tr>\n<td>ar_EG</td>\n<td>Arabic (Egypt)</td>\n</tr>\n<tr>\n<td>ar_IQ</td>\n<td>Arabic (Iraq)</td>\n</tr>\n<tr>\n<td>ar_JO</td>\n<td>Arabic (Jordan)</td>\n</tr>\n<tr>\n<td>ar_KW</td>\n<td>Arabic (Kuwait)</td>\n</tr>\n<tr>\n<td>ar_LB</td>\n<td>Arabic (Lebanon)</td>\n</tr>\n<tr>\n<td>ar_LY</td>\n<td>Arabic (Libya)</td>\n</tr>\n<tr>\n<td>ar_MA</td>\n<td>Arabic (Morocco)</td>\n</tr>\n<tr>\n<td>ar_OM</td>\n<td>Arabic (Oman)</td>\n</tr>\n<tr>\n<td>ar_QA</td>\n<td>Arabic (Qatar)</td>\n</tr>\n<tr>\n<td>ar_SA</td>\n<td>Arabic (Saudi Arabia)</td>\n</tr>\n<tr>\n<td>ar_SY</td>\n<td>Arabic (Syria)</td>\n</tr>\n<tr>\n<td>ar_TN</td>\n<td>Arabic (Tunisia)</td>\n</tr>\n<tr>\n<td>ar_YE</td>\n<td>Arabic (Yemen)</td>\n</tr>\n<tr>\n<td>az_AZ</td>\n<td>Azeri (Latin) (Azerbaijan)</td>\n</tr>\n<tr>\n<td>be_BY</td>\n<td>Belarusian (Belarus)</td>\n</tr>\n<tr>\n<td>bg_BG</td>\n<td>Bulgarian (Bulgaria)</td>\n</tr>\n<tr>\n<td>bs_BA</td>\n<td>Bosnian (Bosnia and Herzegovina)</td>\n</tr>\n<tr>\n<td>ca_ES</td>\n<td>Catalan (Spain)</td>\n</tr>\n<tr>\n<td>cs_CZ</td>\n<td>Czech (Czech Republic)</td>\n</tr>\n<tr>\n<td>cy_GB</td>\n<td>Welsh (United Kingdom)</td>\n</tr>\n<tr>\n<td>da_DK</td>\n<td>Danish (Denmark)</td>\n</tr>\n<tr>\n<td>de_AT</td>\n<td>German (Austria)</td>\n</tr>\n<tr>\n<td>de_CH</td>\n<td>German (Switzerland)</td>\n</tr>\n<tr>\n<td>de_DE</td>\n<td>German (Germany)</td>\n</tr>\n<tr>\n<td>de_LI</td>\n<td>German (Liechtenstein)</td>\n</tr>\n<tr>\n<td>de_LU</td>\n<td>German (Luxembourg)</td>\n</tr>\n<tr>\n<td>dv_MV</td>\n<td>Divehi (Maldives)</td>\n</tr>\n<tr>\n<td>el_GR</td>\n<td>Greek (Greece)</td>\n</tr>\n<tr>\n<td>el_EL</td>\n<td>Greek (Greece)</td>\n</tr>\n<tr>\n<td>en_AU</td>\n<td>English (Australia)</td>\n</tr>\n<tr>\n<td>en_BZ</td>\n<td>English (Belize)</td>\n</tr>\n<tr>\n<td>en_CA</td>\n<td>English (Canada)</td>\n</tr>\n<tr>\n<td>en_CB</td>\n<td>English (Caribbean)</td>\n</tr>\n<tr>\n<td>en_GB</td>\n<td>English (United Kingdom)</td>\n</tr>\n<tr>\n<td>en_IE</td>\n<td>English (Ireland)</td>\n</tr>\n<tr>\n<td>en_JM</td>\n<td>English (Jamaica)</td>\n</tr>\n<tr>\n<td>en_NZ</td>\n<td>English (New Zealand)</td>\n</tr>\n<tr>\n<td>en_PH</td>\n<td>English (Republic of the Philippines)</td>\n</tr>\n<tr>\n<td>en_TT</td>\n<td>English (Trinidad and Tobago)</td>\n</tr>\n<tr>\n<td>en_US</td>\n<td>English (United States)</td>\n</tr>\n<tr>\n<td>en_ZA</td>\n<td>English (South Africa)</td>\n</tr>\n<tr>\n<td>en_ZW</td>\n<td>English (Zimbabwe)</td>\n</tr>\n<tr>\n<td>es_AR</td>\n<td>Spanish (Argentina)</td>\n</tr>\n<tr>\n<td>es_BO</td>\n<td>Spanish (Bolivia)</td>\n</tr>\n<tr>\n<td>es_CL</td>\n<td>Spanish (Chile)</td>\n</tr>\n<tr>\n<td>es_CO</td>\n<td>Spanish (Colombia)</td>\n</tr>\n<tr>\n<td>es_CR</td>\n<td>Spanish (Costa Rica)</td>\n</tr>\n<tr>\n<td>es_DO</td>\n<td>Spanish (Dominican Republic)</td>\n</tr>\n<tr>\n<td>es_EC</td>\n<td>Spanish (Ecuador)</td>\n</tr>\n<tr>\n<td>es_ES</td>\n<td>Spanish (Spain)</td>\n</tr>\n<tr>\n<td>es_GT</td>\n<td>Spanish (Guatemala)</td>\n</tr>\n<tr>\n<td>es_HN</td>\n<td>Spanish (Honduras)</td>\n</tr>\n<tr>\n<td>es_MX</td>\n<td>Spanish (Mexico)</td>\n</tr>\n<tr>\n<td>es_NI</td>\n<td>Spanish (Nicaragua)</td>\n</tr>\n<tr>\n<td>es_PA</td>\n<td>Spanish (Panama)</td>\n</tr>\n<tr>\n<td>es_PE</td>\n<td>Spanish (Peru)</td>\n</tr>\n<tr>\n<td>es_PR</td>\n<td>Spanish (Puerto Rico)</td>\n</tr>\n<tr>\n<td>es_PY</td>\n<td>Spanish (Paraguay)</td>\n</tr>\n<tr>\n<td>es_SV</td>\n<td>Spanish (El Salvador)</td>\n</tr>\n<tr>\n<td>es_UY</td>\n<td>Spanish (Uruguay)</td>\n</tr>\n<tr>\n<td>es_VE</td>\n<td>Spanish (Venezuela)</td>\n</tr>\n<tr>\n<td>et_EE</td>\n<td>Estonian (Estonia)</td>\n</tr>\n<tr>\n<td>eu_ES</td>\n<td>Basque (Spain)</td>\n</tr>\n<tr>\n<td>fa_IR</td>\n<td>Farsi (Iran)</td>\n</tr>\n<tr>\n<td>fi_FI</td>\n<td>Finnish (Finland)</td>\n</tr>\n<tr>\n<td>fo_FO</td>\n<td>Faroese (Faroe Islands)</td>\n</tr>\n<tr>\n<td>fr_BE</td>\n<td>French (Belgium)</td>\n</tr>\n<tr>\n<td>fr_CA</td>\n<td>French (Canada)</td>\n</tr>\n<tr>\n<td>fr_CH</td>\n<td>French (Switzerland)</td>\n</tr>\n<tr>\n<td>fr_FR</td>\n<td>French (France)</td>\n</tr>\n<tr>\n<td>fr_LU</td>\n<td>French (Luxembourg)</td>\n</tr>\n<tr>\n<td>fr_MC</td>\n<td>French (Principality of Monaco)</td>\n</tr>\n<tr>\n<td>gl_ES</td>\n<td>Galician (Spain)</td>\n</tr>\n<tr>\n<td>gu_IN</td>\n<td>Gujarati (India)</td>\n</tr>\n<tr>\n<td>he_IL</td>\n<td>Hebrew (Israel)</td>\n</tr>\n<tr>\n<td>hi_IN</td>\n<td>Hindi (India)</td>\n</tr>\n<tr>\n<td>hr_BA</td>\n<td>Croatian (Bosnia and Herzegovina)</td>\n</tr>\n<tr>\n<td>hr_HR</td>\n<td>Croatian (Croatia)</td>\n</tr>\n<tr>\n<td>hu_HU</td>\n<td>Hungarian (Hungary)</td>\n</tr>\n<tr>\n<td>hy_AM</td>\n<td>Armenian (Armenia)</td>\n</tr>\n<tr>\n<td>id_ID</td>\n<td>Indonesian (Indonesia)</td>\n</tr>\n<tr>\n<td>is_IS</td>\n<td>Icelandic (Iceland)</td>\n</tr>\n<tr>\n<td>it_CH</td>\n<td>Italian (Switzerland)</td>\n</tr>\n<tr>\n<td>it_IT</td>\n<td>Italian (Italy)</td>\n</tr>\n<tr>\n<td>ja_JP</td>\n<td>Japanese (Japan)</td>\n</tr>\n<tr>\n<td>ka_GE</td>\n<td>Georgian (Georgia)</td>\n</tr>\n<tr>\n<td>kk_KZ</td>\n<td>Kazakh (Kazakhstan)</td>\n</tr>\n<tr>\n<td>kn_IN</td>\n<td>Kannada (India)</td>\n</tr>\n<tr>\n<td>ko_KR</td>\n<td>Korean (Korea)</td>\n</tr>\n<tr>\n<td>kok_IN</td>\n<td>Konkani (India)</td>\n</tr>\n<tr>\n<td>ky_KG</td>\n<td>Kyrgyz (Kyrgyzstan)</td>\n</tr>\n<tr>\n<td>lt_LT</td>\n<td>Lithuanian (Lithuania)</td>\n</tr>\n<tr>\n<td>lv_LV</td>\n<td>Latvian (Latvia)</td>\n</tr>\n<tr>\n<td>mi_NZ</td>\n<td>Maori (New Zealand)</td>\n</tr>\n<tr>\n<td>mk_MK</td>\n<td>FYRO Macedonian (Former Yugoslav Republic of Macedonia)</td>\n</tr>\n<tr>\n<td>mn_MN</td>\n<td>Mongolian (Mongolia)</td>\n</tr>\n<tr>\n<td>mr_IN</td>\n<td>Marathi (India)</td>\n</tr>\n<tr>\n<td>ms_BN</td>\n<td>Malay (Brunei Darussalam)</td>\n</tr>\n<tr>\n<td>ms_MY</td>\n<td>Malay (Malaysia)</td>\n</tr>\n<tr>\n<td>mt_MT</td>\n<td>Maltese (Malta)</td>\n</tr>\n<tr>\n<td>nb_NO</td>\n<td>Norwegian (Bokm?l) (Norway)</td>\n</tr>\n<tr>\n<td>nl_BE</td>\n<td>Dutch (Belgium)</td>\n</tr>\n<tr>\n<td>nl_NL</td>\n<td>Dutch (Netherlands)</td>\n</tr>\n<tr>\n<td>nn_NO</td>\n<td>Norwegian (Nynorsk) (Norway)</td>\n</tr>\n<tr>\n<td>ns_ZA</td>\n<td>Northern Sotho (South Africa)</td>\n</tr>\n<tr>\n<td>pa_IN</td>\n<td>Punjabi (India)</td>\n</tr>\n<tr>\n<td>pl_PL</td>\n<td>Polish (Poland)</td>\n</tr>\n<tr>\n<td>ps_AR</td>\n<td>Pashto (Afghanistan)</td>\n</tr>\n<tr>\n<td>pt_BR</td>\n<td>Portuguese (Brazil)</td>\n</tr>\n<tr>\n<td>pt_PT</td>\n<td>Portuguese (Portugal)</td>\n</tr>\n<tr>\n<td>qu_BO</td>\n<td>Quechua (Bolivia)</td>\n</tr>\n<tr>\n<td>qu_EC</td>\n<td>Quechua (Ecuador)</td>\n</tr>\n<tr>\n<td>qu_PE</td>\n<td>Quechua (Peru)</td>\n</tr>\n<tr>\n<td>ro_RO</td>\n<td>Romanian (Romania)</td>\n</tr>\n<tr>\n<td>ru_RU</td>\n<td>Russian (Russia)</td>\n</tr>\n<tr>\n<td>sa_IN</td>\n<td>Sanskrit (India)</td>\n</tr>\n<tr>\n<td>se_FI</td>\n<td>Sami (Northern) (Finland)</td>\n</tr>\n<tr>\n<td>se_NO</td>\n<td>Sami (Northern) (Norway)</td>\n</tr>\n<tr>\n<td>se_SE</td>\n<td>Sami (Northern) (Sweden)</td>\n</tr>\n<tr>\n<td>sk_SK</td>\n<td>Slovak (Slovakia)</td>\n</tr>\n<tr>\n<td>sl_SI</td>\n<td>Slovenian (Slovenia)</td>\n</tr>\n<tr>\n<td>sq_AL</td>\n<td>Albanian (Albania)</td>\n</tr>\n<tr>\n<td>sr_BA</td>\n<td>Serbian (Latin) (Bosnia and Herzegovina)</td>\n</tr>\n<tr>\n<td>sr_SP</td>\n<td>Serbian (Latin) (Serbia and Montenegro)</td>\n</tr>\n<tr>\n<td>sv_FI</td>\n<td>Swedish (Finland)</td>\n</tr>\n<tr>\n<td>sv_SE</td>\n<td>Swedish (Sweden)</td>\n</tr>\n<tr>\n<td>sw_KE</td>\n<td>Swahili (Kenya)</td>\n</tr>\n<tr>\n<td>syr_SY</td>\n<td>Syriac (Syria)</td>\n</tr>\n<tr>\n<td>ta_IN</td>\n<td>Tamil (India)</td>\n</tr>\n<tr>\n<td>te_IN</td>\n<td>Telugu (India)</td>\n</tr>\n<tr>\n<td>th_TH</td>\n<td>Thai (Thailand)</td>\n</tr>\n<tr>\n<td>tl_PH</td>\n<td>Tagalog (Philippines)</td>\n</tr>\n<tr>\n<td>tn_ZA</td>\n<td>Tswana (South Africa)</td>\n</tr>\n<tr>\n<td>tr_TR</td>\n<td>Turkish (Turkey)</td>\n</tr>\n<tr>\n<td>tt_RU</td>\n<td>Tatar (Russia)</td>\n</tr>\n<tr>\n<td>uk_UA</td>\n<td>Ukrainian (Ukraine)</td>\n</tr>\n<tr>\n<td>ur_PK</td>\n<td>Urdu (Islamic Republic of Pakistan)</td>\n</tr>\n<tr>\n<td>uz_UZ</td>\n<td>Uzbek (Latin) (Uzbekistan)</td>\n</tr>\n<tr>\n<td>vi_VN</td>\n<td>Vietnamese (Viet Nam)</td>\n</tr>\n<tr>\n<td>xh_ZA</td>\n<td>Xhosa (South Africa)</td>\n</tr>\n<tr>\n<td>zh_CN</td>\n<td>Chinese (S)</td>\n</tr>\n<tr>\n<td>zh_HK</td>\n<td>Chinese (Hong Kong)</td>\n</tr>\n<tr>\n<td>zh_MO</td>\n<td>Chinese (Macau)</td>\n</tr>\n<tr>\n<td>zh_SG</td>\n<td>Chinese (Singapore)</td>\n</tr>\n<tr>\n<td>zh_TW</td>\n<td>Chinese (T)</td>\n</tr>\n<tr>\n<td>zu_ZA</td>\n<td>Zulu (South Africa)</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"security\">Security</h2>\n<p>Each request between casino and aggregator provider and vice versa must contain basic auth header (<a href=\"https://en.wikipedia.org/wiki/Basic_access_authentication\">Basic access authentication</a>)<br>Example for username 'name' and password 'password':<br>Authorization: Basic bmFtZTpwYXNzd29yZA==</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"48907826","collectionId":"264ad90e-f141-424b-b914-3d04ae9d43e4","publishedId":"2sBXqMJzu1","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-05-07T15:36:28.000Z"},"item":[{"name":"Casino Aggregator API","item":[{"name":"Aggregator API","item":[{"name":"Games API","item":[{"name":"Get Game Link","id":"e22b5027-5aa0-41c4-9e02-497418232b27","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"urls\": {\n        \"returnUrl\": \"https://example.com\",\n        \"depositUrl\": \"https://example.com\"\n    },\n    \"user\": {\n        \"externalId\": \"externalId\",\n        \"username\": \"test\",\n        \"name\": \"test\",\n        \"surname\": \"test\",\n        \"honorific\": \"Mr\",\n        \"ip\": \"0.0.0.0\",\n        \"locale\": \"tr_TR\",\n        \"device\": {\n            \"operatingSystem\": \"LINUX\",\n            \"platform\": \"BROWSER\"\n        },\n        \"currency\": \"TRY\"\n    },\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games/link","description":"<p>Returns the Landing URL of the chosen game. Casino has to forward User to returned URL. There are several ways to forward the User:</p>\n<ol>\n<li><p>Embed URL into iframe on your site;</p>\n</li>\n<li><p>Redirect User to URL;</p>\n</li>\n<li><p>Open URL in new window/tab of browser.</p>\n</li>\n</ol>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>gameId</code>(string, required) - Id from get games request</p>\n</li>\n<li><p><code>urls</code> (object, required)</p>\n<ul>\n<li><p><code>returnUrl</code> (string, required) - Url to provider page on casino</p>\n</li>\n<li><p><code>depositUrl</code> (string required) - Url to deposit page on casino</p>\n</li>\n</ul>\n</li>\n<li><p><code>user</code> (object, required)</p>\n<ul>\n<li><p><code>externalId</code> (string, required) - User id in casino system. Must be unique</p>\n</li>\n<li><p><code>username</code> (string, required)</p>\n</li>\n<li><p><code>name</code> (string, optional)</p>\n</li>\n<li><p><code>surname</code> (string, optional)</p>\n</li>\n<li><p><code>honorific</code> (enum, optional) - Values: 'Mr', 'Mrs', 'Ms', 'Miss'</p>\n</li>\n<li><p><code>ip</code> (string, required)</p>\n</li>\n<li><p><code>locale</code> (string, required)</p>\n</li>\n<li><p><code>device</code> (object, required)</p>\n<ul>\n<li><p><code>operatingSystem</code> (enum, required) - Values 'WINDOWS', 'LINUX', 'MACOS', 'IOS', 'ANDROID'</p>\n</li>\n<li><p><code>platform</code> (enum, required) - Values 'BROWSER', 'NATIVE'</p>\n</li>\n</ul>\n</li>\n<li><p><code>currency</code> (string, required) - User currency</p>\n</li>\n</ul>\n</li>\n<li><p><code>session</code> (object, optional)</p>\n<ul>\n<li><code>externalId</code> (string, required) - Session Id in casino system. Will be attached to callbacks in Casino API, see session object</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><code>link</code>(string, required) - Link to open game</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","games","link"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"8c25af39-e119-442d-b0e9-bab53ad11753","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"urls\": {\n        \"returnUrl\": \"https://example.com\",\n        \"depositUrl\": \"https://example.com\"\n    },\n    \"user\": {\n        \"externalId\": \"externalId\",\n        \"username\": \"test\",\n        \"name\": \"test\",\n        \"surname\": \"test\",\n        \"honorific\": \"Mr\",\n        \"ip\": \"0.0.0.0\",\n        \"locale\": \"tr_TR\",\n        \"device\": {\n            \"operatingSystem\": \"LINUX\",\n            \"platform\": \"BROWSER\"\n        },\n        \"currency\": \"TRY\"\n    },\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games/link"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"link\": \"https://example.com\"\n}"},{"id":"5fdb609b-b770-4283-85be-6db8cfbdc3e1","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"urls\": {\n        \"returnUrl\": \"https://example.com\",\n        \"depositUrl\": \"https://example.com\"\n    },\n    \"user\": {\n        \"externalId\": \"externalId\",\n        \"username\": \"test\",\n        \"name\": \"test\",\n        \"surname\": \"test\",\n        \"honorific\": \"Mr\",\n        \"ip\": \"0.0.0.0\",\n        \"locale\": \"tr_TR\",\n        \"device\": {\n            \"operatingSystem\": \"LINUX\",\n            \"platform\": \"BROWSER\"\n        },\n        \"currency\": \"TRY\"\n    },\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games/link"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\": 104,\n    \"errorMessage\": \"Game not found\"\n}"}],"_postman_id":"e22b5027-5aa0-41c4-9e02-497418232b27"},{"name":"Get Demo Game Link","id":"80a8de36-46d5-410c-bb9d-2e7e8e271561","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"urls\": {\n        \"returnUrl\": \"https://example.com\",\n        \"depositUrl\": \"https://example.com\"\n    },\n    \"user\": {\n        \"ip\": \"0.0.0.0\",\n        \"locale\": \"tr_TR\",\n        \"device\": {\n            \"operatingSystem\": \"LINUX\",\n            \"platform\": \"BROWSER\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games/link/demo","description":"<p>Returns the Landing URL of the chosen game in Demo mode.</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>gameId</code>(string, required) - Id from get games request</p>\n</li>\n<li><p><code>urls</code> (object, required)</p>\n<ul>\n<li><p><code>returnUrl</code> (string, required) - Url to provider page on casino</p>\n</li>\n<li><p><code>depositUrl</code> (string required) - Url to deposit page on casino</p>\n</li>\n</ul>\n</li>\n<li><p><code>user</code> (object, required)</p>\n<ul>\n<li><p><code>ip</code> (string, required)</p>\n</li>\n<li><p><code>locale</code> (string, required)</p>\n</li>\n<li><p><code>device</code> (object, required)</p>\n<ul>\n<li><p><code>operatingSystem</code> (enum, required) - Values 'WINDOWS', 'LINUX', 'MACOS', 'IOS', 'ANDROID'</p>\n</li>\n<li><p><code>platform</code> (enum, required) - Values 'BROWSER', 'NATIVE'</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><code>link</code>(string, required) - Link to open game</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","games","link","demo"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"6d0cc10f-335e-455b-9b27-b3d16d60b485","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"urls\": {\n        \"returnUrl\": \"https://example.com\",\n        \"depositUrl\": \"https://example.com\"\n    },\n    \"user\": {\n        \"ip\": \"0.0.0.0\",\n        \"locale\": \"tr_TR\",\n        \"device\": {\n            \"operatingSystem\": \"LINUX\",\n            \"platform\": \"BROWSER\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games/link/demo"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"link\": \"https://example.com\"\n}"},{"id":"6d6c53ce-b660-49a0-ac56-3c37880a870a","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"urls\": {\n        \"returnUrl\": \"https://example.com\",\n        \"depositUrl\": \"https://example.com\"\n    },\n    \"user\": {\n        \"ip\": \"0.0.0.0\",\n        \"locale\": \"tr_TR\",\n        \"device\": {\n            \"operatingSystem\": \"LINUX\",\n            \"platform\": \"BROWSER\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games/link/demo"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\": 104,\n    \"errorMessage\": \"Game not found\"\n}"}],"_postman_id":"80a8de36-46d5-410c-bb9d-2e7e8e271561"},{"name":"Get Games","id":"47f29797-9ec5-41c4-a430-92a6bc253a9a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games","description":"<p>Returns the list of games available for brand</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>provider</code> (string, optional) - Provider which games should be returned. If not present all games will be returned</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>List of Objects:</p>\n<ul>\n<li><p><code>id</code> (string, required) - Id of the game. Unique among all games</p>\n</li>\n<li><p><code>providerGameId</code> (string, required) - Id of the game in provider system.</p>\n</li>\n<li><p><code>name</code> (string, required)</p>\n</li>\n<li><p><code>isActive</code> (boolean, required)</p>\n</li>\n<li><p><code>isDemoAvailable</code> (boolean, required)</p>\n</li>\n<li><p><code>isFreeBonusBuyAvailable</code> (boolean, required) - if this game is applicable for free bonus buys</p>\n</li>\n<li><p><code>previewImages</code> (list of objects, required)</p>\n<ul>\n<li><p><code>size</code> (enum, required) - Values: 'S', 'M', 'L'</p>\n</li>\n<li><p><code>url</code> (string, required) - Url to game's preview image</p>\n</li>\n</ul>\n</li>\n<li><p><code>backgroundImageUrl</code> (string, optional) - Url to game's background image</p>\n</li>\n<li><p><code>provider</code> (string, required) - Provider name</p>\n</li>\n<li><p><code>product</code> (enum, required) - Values: 'LIVE_CASINO', 'CASINO', 'GAMES', 'VIRTUAL'</p>\n</li>\n<li><p><code>createdAt</code> (long, required) - Created at timestamp</p>\n</li>\n<li><p><code>devices</code> (list of enums, required) - Values: 'DESKTOP', 'MOBILE'</p>\n</li>\n<li><p><code>gameTags</code> (list of objects, required)</p>\n<ul>\n<li><p><code>id</code> (string, required)</p>\n</li>\n<li><p><code>name</code> (string, required)</p>\n</li>\n</ul>\n</li>\n<li><p><code>betValues</code> (list of objects, required) - Bet values to create free spins</p>\n<ul>\n<li><p><code>currency</code> (string, required) - Bet value currency</p>\n</li>\n<li><p><code>values</code> (list of long, required) - Possible free spins bets values. Values are in Money format</p>\n</li>\n</ul>\n</li>\n<li><p><code>rtp</code> (object, optional) - Game RTP value</p>\n<ul>\n<li><p><code>type</code> (string, required) - RTP object type (Fixed)</p>\n</li>\n<li><p><code>value</code> (double, required) - RTP value</p>\n</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","games"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"1e547daa-ed93-448c-ac64-3dfffe0be004","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"dd4c01ce-1230-41a3-a5af-24bb867db622\",\n        \"providerGameId\": \"test-game\",\n        \"name\": \"Test Game\",\n        \"isActive\": true,\n        \"isDemoAvailable\": true,\n        \"isFreeBonusBuyAvailable\": true,\n        \"previewImages\": [\n            {\n                \"size\": \"S\",\n                \"url\": \"https://example.com\"\n            },\n            {\n                \"size\": \"M\",\n                \"url\": \"https://example.com\"\n            },\n            {\n                \"size\": \"L\",\n                \"url\": \"https://example.com\"\n            }\n        ],\n        \"backgroundImageUrl\": null,\n        \"provider\": \"provider\",\n        \"product\": \"CASINO\",\n        \"createdAt\": 1685879114717,\n        \"devices\": [\n            \"DESKTOP\",\n            \"MOBILE\"\n        ],\n        \"gameTags\": [\n            {\n                \"id\": \"08d657d2-9678-4d3f-9431-152a6db60e1f\",\n                \"name\": \"Slots\"\n            }\n        ],\n        \"betValues\": [\n            {\n                \"currency\": \"EUR\",\n                \"values\": [\n                    25,\n                    50,\n                    75,\n                    100\n                ]\n            },\n            {\n                \"currency\": \"USD\",\n                \"values\": [\n                    25,\n                    50,\n                    75,\n                    100\n                ]\n            }\n        ]\n    }\n]"},{"id":"e95d6910-a6d1-417d-967e-b3d03c96ab48","name":"success with provider","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"provider\": \"provider2\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[]"},{"id":"f51b9dd1-7bb6-4788-bca6-67917cbf5cc5","name":"success with provider null","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"provider\": null\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"dd4c01ce-1230-41a3-a5af-24bb867db622\",\n        \"providerGameId\": \"test-game\",\n        \"name\": \"Test Game\",\n        \"isActive\": true,\n        \"isDemoAvailable\": true,\n        \"isFreeBonusBuyAvailable\": true,\n        \"previewImages\": [\n            {\n                \"size\": \"S\",\n                \"url\": \"https://example.com\"\n            },\n            {\n                \"size\": \"M\",\n                \"url\": \"https://example.com\"\n            },\n            {\n                \"size\": \"L\",\n                \"url\": \"https://example.com\"\n            }\n        ],\n        \"backgroundImageUrl\": null,\n        \"provider\": \"provider\",\n        \"product\": \"CASINO\",\n        \"createdAt\": 1685879114717,\n        \"devices\": [\n            \"DESKTOP\",\n            \"MOBILE\"\n        ],\n        \"gameTags\": [\n            {\n                \"id\": \"08d657d2-9678-4d3f-9431-152a6db60e1f\",\n                \"name\": \"Slots\"\n            }\n        ],\n        \"betValues\": [\n            {\n                \"currency\": \"EUR\",\n                \"values\": [\n                    25,\n                    50,\n                    75,\n                    100\n                ]\n            },\n            {\n                \"currency\": \"USD\",\n                \"values\": [\n                    25,\n                    50,\n                    75,\n                    100\n                ]\n            }\n        ]\n    }\n]"},{"id":"0ca4560d-37e2-4b59-a6fa-3ce46361e107","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\": 1,\n    \"errorMessage\": \"Internal Server Error\"\n}"},{"id":"698e8868-2b81-4c75-aa8e-fdd1597b4060","name":"fail Provider not found","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"provider\": \"provider99\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\": 117,\n    \"errorMessage\": \"Provider not found\"\n}"}],"_postman_id":"47f29797-9ec5-41c4-a430-92a6bc253a9a"},{"name":"Get Providers","id":"3c6e4ca2-641b-42f2-a287-86e800b5f139","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/providers","description":"<p>Returns details about game providers.</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><code>brandId</code> (int, required) - Brand id provided by aggregator provider</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>List of Objects:</p>\n<ul>\n<li><p><code>name</code> (string, required) - Provider name</p>\n</li>\n<li><p><code>roundHistory</code> (boolean, required)</p>\n</li>\n<li><p><code>products</code> (list of enum, required) - Values: 'VIRTUAL', 'GAMES', 'LIVE_CASINO', 'CASINO', 'SPORTS', 'POKER'</p>\n</li>\n<li><p><code>bonuses</code> (list of enum, required) - Values: 'FREE_SPINS'</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","providers"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"e3347913-39aa-4b25-a9d6-73a726b40f1f","name":"success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/providers"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"name\": \"provider\",\n        \"roundHistory\": true,\n        \"products\": [\n            \"CASINO\",\n            \"GAMES\",\n            \"LIVE_CASINO\"\n        ],\n        \"bonuses\": []\n    },\n    {\n        \"name\": \"provider2\",\n        \"roundHistory\": false,\n        \"products\": [\n            \"CASINO\",\n            \"VIRTUAL\"\n        ],\n        \"bonuses\": [\n            \"FREE_SPINS\"\n        ]\n    },\n    {\n        \"name\": \"provider3\",\n        \"roundHistory\": false,\n        \"products\": [\n            \"CASINO\",\n            \"GAMES\",\n            \"SPORTS\"\n        ],\n        \"bonuses\": []\n    },\n    {\n        \"name\": \"provider4\",\n        \"roundHistory\": false,\n        \"products\": [\n            \"SPORTS\"\n        ],\n        \"bonuses\": []\n    }\n]"},{"id":"57c3ad83-61e4-4933-8aac-53df7ae36386","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/providers"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\": 1,\n    \"errorMessage\": \"Internal Server Error\"\n}"}],"_postman_id":"3c6e4ca2-641b-42f2-a287-86e800b5f139"},{"name":"Get Jackpot Feed","id":"2107f58a-dd30-4bba-88d4-5c0cd166aa6d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"providers\":[\"some-provider\"],\n    \"currency\": \"EUR\",\n    \"brandId\": 0\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games/feeds/jackpot","description":"<p>Retursn jackpot feed. Process of fetching jackpot data is asynchronious and it's expected to use some sort of polling mechanism to get latest jackpot details.</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>providers</code> (string array, required) - Ids of providers to fetch jackpots</p>\n</li>\n<li><p><code>currency</code> (enum, required) - Currency of jackpot</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Response body is a dedicated jackpot pool</p>\n<p>List of Objects:</p>\n<ul>\n<li><p><code>provider</code> (string, required) - Provider name</p>\n</li>\n<li><p><code>tiers</code> (object array, required) - Tiers for that pool</p>\n<ul>\n<li><p><code>level</code> (int, required) - Jackpot level</p>\n</li>\n<li><p><code>amount</code> (long, required) - Jackpot amount</p>\n</li>\n<li><p><code>currency</code> (enum, required) - Jackpot amount currency</p>\n</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","games","feeds","jackpot"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"6e48f9a1-ecad-4043-9cd1-7f256cf5c89b","name":"success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"providers\":[\"some-provider\"],\n    \"currency\": \"EUR\",\n    \"brandId\": 0\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games/feeds/jackpot"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"provider\": \"some-provider\",\n    \"tiers\": [\n      {\n        \"level\": 0,\n        \"amount\": 541519,\n        \"currency\": \"USD\"\n      },\n      {\n        \"level\": 1,\n        \"amount\": 2362556,\n        \"currency\": \"USD\"\n      },\n      {\n        \"level\": 2,\n        \"amount\": 1330052,\n        \"currency\": \"USD\"\n      }\n    ]\n  }\n]"},{"id":"e6b0ae08-57a2-4057-8e48-9bf3bed55778","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"providers\":[\"some-provider\"],\n    \"currency\": \"EUR\",\n    \"brandId\": 0\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/games/feeds/jackpot"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\": 1,\n    \"errorMessage\": \"Internal Server Error\"\n}"}],"_postman_id":"2107f58a-dd30-4bba-88d4-5c0cd166aa6d"}],"id":"ad48e282-12f9-4a09-a273-9f81b39843bd","description":"<p>Provides methods to display and launch games on a Casino.</p>\n","event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"f0e1e21d-e55f-4678-9cae-e8f9f3cbe6ca"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"ae19f328-ab27-44bc-b26b-336c6f33930d"}}],"_postman_id":"ad48e282-12f9-4a09-a273-9f81b39843bd","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}}},{"name":"Free Spins API","item":[{"name":"Get Player Active Free Spins","id":"a31dcd3c-9921-4a97-88ce-bd37c5f4f4aa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/free-spins","description":"<p>Returns currently active player Free Spins.</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>List of Objects:</p>\n<ul>\n<li><p><code>externalFreeSpinsId</code> (string, required) - Id of Free Spins in casino system</p>\n</li>\n<li><p><code>internalUserId</code> (string, required) - User id in aggregator provider system</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>gameIds</code> (string array, required) - Ids from get games request</p>\n</li>\n<li><p><code>betValue</code> (object, required) - Bet value from games request</p>\n<ul>\n<li><p><code>currency</code> (string, required) - Bet value currency</p>\n</li>\n<li><p><code>value</code> (long, required) - Bet value from games request. In Money format</p>\n</li>\n</ul>\n</li>\n<li><p><code>amount</code> (integer, required) - Amount of free spins</p>\n</li>\n<li><p><code>currentAmount</code> (integer, required) - Amount of used free spins</p>\n</li>\n<li><p><code>startDate</code> (long, required) - Free Spins start date timestamp</p>\n</li>\n<li><p><code>endDate</code> (long, required) - Free Spins end date timestamp</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","free-spins"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"be2d9ec2-5d61-4743-b4a0-848b16427c75","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/free-spins"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\",\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"gameIds\": [\"dd4c01ce-1230-41a3-a5af-24bb867db622\"],\n    \"betValue\": {\n      \"currency\": \"TRY\",\n      \"value\": 100\n    },\n    \"amount\": 10,\n    \"currentAmount\": 0,\n    \"startDate\": 1727695739999,\n    \"endDate\": 1727696280002\n  }\n]"},{"id":"61f3178f-3bd7-4192-b058-6a3299e8e2e2","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"invalidExternalId\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/free-spins"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": 109,\n  \"errorMessage\": \"Invalid User\"\n}"}],"_postman_id":"a31dcd3c-9921-4a97-88ce-bd37c5f4f4aa"},{"name":"Create Player Free Spins","id":"3e011149-8131-4cda-9fbc-de60892c71ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\",\n    \"user\": {\n        \"externalId\": \"externalId\",\n        \"username\": \"test\",\n        \"name\": \"test\",\n        \"surname\": \"test\",\n        \"honorific\": \"Mr\",\n        \"currency\": \"TRY\",\n        \"locale\": \"tr_TR\"\n    },\n    \"gameId\": \"dd4c01ce-1230-41a3-a5af-24bb867db622\",\n    \"amount\": 10,\n    \"betValue\": {\n        \"currency\": \"TRY\",\n        \"value\": 100\n    },\n    \"startDate\": 1727698989326,\n    \"endDate\": 1727699569328\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/free-spins/create","description":"<p>Endpoint for creating Free Spins</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>externalFreeSpinsId</code> (string, required) - Id of Free Spins in casino system</p>\n</li>\n<li><p><code>user</code> (object, required)</p>\n<ul>\n<li><p><code>externalId</code> (string, required) - User id in casino system. Must be unique</p>\n</li>\n<li><p><code>username</code> (string, required)</p>\n</li>\n<li><p><code>name</code> (string, optional)</p>\n</li>\n<li><p><code>surname</code> (string, optional)</p>\n</li>\n<li><p><code>honorific</code> (enum, optional) - Values: 'Mr', 'Mrs', 'Ms', 'Miss'</p>\n</li>\n<li><p><code>currency</code> (string, required) - User currency</p>\n</li>\n<li><p><code>locale</code> (string, required)</p>\n</li>\n</ul>\n</li>\n<li><p><code>gameId</code> (string, required) - Id from get games request</p>\n</li>\n<li><p><code>amount</code> (integer, required) - Amount of free spins</p>\n</li>\n<li><p><code>betValue</code> (object, required) - Bet value from games request</p>\n<ul>\n<li><p><code>currency</code> (string, required) - Bet value code currency</p>\n</li>\n<li><p><code>value</code> (long, required) - Bet value from games request. In Money format</p>\n</li>\n</ul>\n</li>\n<li><p><code>startDate</code> (long, required) - Free Spins start date timestamp</p>\n</li>\n<li><p><code>endDate</code> (long, required) - Free Spins end date timestamp</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>externalFreeSpinsId</code> (string, required) - Id of Free Spins in casino system</p>\n</li>\n<li><p><code>internalUserId</code> (string, required) - User id in aggregator provider system</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>gameId</code> (string, optional) - Id from get games request</p>\n</li>\n<li><p><code>gameIds</code> (string array, optional) - Ids from get games request, either gameId or gameIds should be present. If both provided behaviour is undefined</p>\n</li>\n<li><p><code>betValue</code> (object, required) - Bet value from games request</p>\n<ul>\n<li><p><code>currency</code> (string, required) - Bet value code currency</p>\n</li>\n<li><p><code>value</code> (long, required) - Bet value from games request. In Money format</p>\n</li>\n</ul>\n</li>\n<li><p><code>startDate</code> (long, required) - Free Spins start date timestamp</p>\n</li>\n<li><p><code>endDate</code> (long, required) - Free Spins end date timestamp</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","free-spins","create"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"600772ad-7129-4610-9f02-679df7ff4354","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\",\n    \"user\": {\n        \"externalId\": \"externalId\",\n        \"username\": \"test\",\n        \"name\": \"test\",\n        \"surname\": \"test\",\n        \"honorific\": \"Mr\",\n        \"currency\": \"TRY\",\n        \"locale\": \"tr_TR\"\n    },\n    \"gameId\": \"dd4c01ce-1230-41a3-a5af-24bb867db622\",\n    \"gameIds\": [\"dd4c01ce-1230-41a3-a5af-24bb867db622\"],\n    \"amount\": 10,\n    \"betValue\": {\n        \"currency\": \"TRY\",\n        \"value\": 100\n    },\n    \"startDate\": 1727698989326,\n    \"endDate\": 1727699569328\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/free-spins/create"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\"\n}"},{"id":"5b94568c-4cdb-4c47-b0c1-091bef6a6339","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\",\n    \"user\": {\n        \"externalId\": \"externalId\",\n        \"username\": \"test\",\n        \"name\": \"test\",\n        \"surname\": \"test\",\n        \"honorific\": \"Mr\",\n        \"currency\": \"TRY\",\n        \"locale\": \"tr_TR\"\n    },\n    \"gameId\": \"7dc23ad9-ec37-47d2-a94b-b608687c940b\",\n    \"gameIds\": [\"dd4c01ce-1230-41a3-a5af-24bb867db622\"],\n    \"amount\": 10,\n    \"betValue\": {\n        \"currency\": \"TRY\",\n        \"value\": 100\n    },\n    \"startDate\": 1727698989326,\n    \"endDate\": 1727699569328\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/free-spins/create"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": 114,\n  \"errorMessage\": \"Free Spins not supported by provider\"\n}"}],"_postman_id":"3e011149-8131-4cda-9fbc-de60892c71ce"},{"name":"Create Player Free Bonus Buy","id":"a4e4b04f-8037-4f0b-a5ef-60d971cf2d1e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\",\n    \"user\": {\n        \"externalId\": \"externalId\",\n        \"username\": \"test\",\n        \"name\": \"test\",\n        \"surname\": \"test\",\n        \"honorific\": \"Mr\",\n        \"currency\": \"TRY\",\n        \"locale\": \"tr_TR\"\n    },\n    \"gameIds\": [\n        \"dd4c01ce-1230-41a3-a5af-24bb867db622\"\n    ],\n    \"betValue\": {\n        \"currency\": \"TRY\",\n        \"value\": 100\n    },\n    \"startDate\": 1727698989326,\n    \"endDate\": 1727699569328\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/free-spins/create-bonus-buy","description":"<p>Endpoint for creating Free Spins</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>externalFreeSpinsId</code> (string, required) - Id of Free Spins in casino system</p>\n</li>\n<li><p><code>user</code> (object, required)</p>\n<ul>\n<li><p><code>externalId</code> (string, required) - User id in casino system. Must be unique</p>\n</li>\n<li><p><code>username</code> (string, required)</p>\n</li>\n<li><p><code>name</code> (string, optional)</p>\n</li>\n<li><p><code>surname</code> (string, optional)</p>\n</li>\n<li><p><code>honorific</code> (enum, optional) - Values: 'Mr', 'Mrs', 'Ms', 'Miss'</p>\n</li>\n<li><p><code>currency</code> (string, required) - User currency</p>\n</li>\n<li><p><code>locale</code> (string, required)</p>\n</li>\n</ul>\n</li>\n<li><p><code>gameIds</code> (string array, required) - Ids from get games request</p>\n</li>\n<li><p><code>betValue</code> (object, required) - Bet value from games request</p>\n<ul>\n<li><p><code>currency</code> (string, required) - Bet value code currency</p>\n</li>\n<li><p><code>value</code> (long, required) - Bet value from games request. In Money format</p>\n</li>\n</ul>\n</li>\n<li><p><code>startDate</code> (long, required) - Free Spins start date timestamp</p>\n</li>\n<li><p><code>endDate</code> (long, required) - Free Spins end date timestamp</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><code>externalFreeSpinsId</code> (string, required) - Id of Free Spins in casino system</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","free-spins","create-bonus-buy"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"b39cf80d-7024-4c20-9010-c464225ba2b5","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\",\n    \"user\": {\n        \"externalId\": \"externalId\",\n        \"username\": \"test\",\n        \"name\": \"test\",\n        \"surname\": \"test\",\n        \"honorific\": \"Mr\",\n        \"currency\": \"TRY\",\n        \"locale\": \"tr_TR\"\n    },\n    \"gameIds\": [\"dd4c01ce-1230-41a3-a5af-24bb867db622\"],\n    \"betValue\": {\n        \"currency\": \"TRY\",\n        \"value\": 100\n    },\n    \"startDate\": 1727698989326,\n    \"endDate\": 1727699569328\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/free-spins/create"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\"\n}"},{"id":"23f63c10-6d46-45fc-8316-24762fae7a76","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\",\n    \"user\": {\n        \"externalId\": \"externalId\",\n        \"username\": \"test\",\n        \"name\": \"test\",\n        \"surname\": \"test\",\n        \"honorific\": \"Mr\",\n        \"currency\": \"TRY\",\n        \"locale\": \"tr_TR\"\n    },\n    \"gameIds\": [\"dd4c01ce-1230-41a3-a5af-24bb867db622\"],\n    \"betValue\": {\n        \"currency\": \"TRY\",\n        \"value\": 100\n    },\n    \"startDate\": 1727698989326,\n    \"endDate\": 1727699569328\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/free-spins/create"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": 114,\n  \"errorMessage\": \"Free Spins not supported by provider\"\n}"}],"_postman_id":"a4e4b04f-8037-4f0b-a5ef-60d971cf2d1e"},{"name":"Cancel Player Free Spins","id":"860c9c6e-5613-4ab6-872e-da12cdaf34eb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\",\n    \"externalUserId\": \"externalId\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/free-spins/cancel","description":"<p>Endpoint for cancelling Free Spins</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>externalFreeSpinsId</code> (string, required) - Id of Free Spins in casino system</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>internalUserId</code> (string, required) - User id in aggregator provider system</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>externalFreeSpinsId</code> (string, required) - Id of Free Spins in casino system</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","free-spins","cancel"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"1917a604-74ab-4227-89c4-d20a4ade968a","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\",\n    \"externalUserId\": \"externalId\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/free-spins/cancel"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\"\n}"},{"id":"db3e00db-ab53-4cf6-bd37-80d402091e4c","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalFreeSpinsId\": \"62922980-23bb-7361-a652-7c50f9cf62ce\",\n    \"externalUserId\": \"invalidExternalId\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/free-spins/cancel"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": 109,\n  \"errorMessage\": \"Invalid User\"\n}"}],"_postman_id":"860c9c6e-5613-4ab6-872e-da12cdaf34eb"}],"id":"bf8617e6-ac99-4a01-8d2c-410e36a6ed74","description":"<p>Provides methods to manage rewards (freespins, freebets, prizes).</p>\n","event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"d43873aa-ae84-43d3-acc2-9c2cf897cb98"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"f52fe4ac-6a86-4630-98a0-1425305bec37"}}],"_postman_id":"bf8617e6-ac99-4a01-8d2c-410e36a6ed74","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}}},{"name":"Lobby API","item":[{"name":"Get Lobby Link","id":"570382c7-4140-41d6-b76a-92532d6aa64b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"urls\": {\n        \"returnUrl\": \"https://example.com\",\n        \"depositUrl\": \"https://example.com\"\n    },\n    \"user\": {\n        \"externalId\": \"externalId\",\n        \"username\": \"test\",\n        \"name\": \"test\",\n        \"surname\": \"test\",\n        \"honorific\": \"Mr\",\n        \"ip\": \"0.0.0.0\",\n        \"locale\": \"tr_TR\",\n        \"device\": {\n            \"operatingSystem\": \"LINUX\",\n            \"platform\": \"BROWSER\"\n        },\n        \"currency\": \"TRY\"\n    },\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/lobby/link","description":"<p>Returns the Landing URL of the Lobby.</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>urls</code> (object, required)</p>\n<ul>\n<li><p><code>returnUrl</code> (string, required) - Url to provider page on casino</p>\n</li>\n<li><p><code>depositUrl</code> (string, required) - Url to deposit page on casino</p>\n</li>\n</ul>\n</li>\n<li><p><code>user</code> (object, required)</p>\n<ul>\n<li><p><code>externalId</code> (string, required) - User id in casino system. Must be unique</p>\n</li>\n<li><p><code>username</code> (string, required)</p>\n</li>\n<li><p><code>name</code> (string, optional)</p>\n</li>\n<li><p><code>surname</code> (string, optional)</p>\n</li>\n<li><p><code>honorific</code> (enum, optional) - Values: 'Mr', 'Mrs', 'Ms', 'Miss'</p>\n</li>\n<li><p><code>ip</code> (string, required)</p>\n</li>\n<li><p><code>locale</code> (string, required)</p>\n</li>\n<li><p><code>device</code> (object, required)</p>\n<ul>\n<li><p><code>operatingSystem</code> (enum, required) - Values 'WINDOWS', 'LINUX', 'MACOS', 'IOS', 'ANDROID'</p>\n</li>\n<li><p><code>platform</code> (enum, required) - Values 'BROWSER', 'NATIVE'</p>\n</li>\n</ul>\n</li>\n<li><p><code>currency</code> (string, required) - User currency</p>\n</li>\n</ul>\n</li>\n<li><p><code>session</code> (object, optional)</p>\n<ul>\n<li><code>externalId</code> (string, required) - Session Id in casino system. Will be attached to callbacks in Casino API, see session object</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><code>link</code>(string, required) - Link to open lobby</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","lobby","link"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"cefd8e88-e3f4-463a-9754-42847199f32c","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"urls\": {\n        \"returnUrl\": \"https://example.com\",\n        \"depositUrl\": \"https://example.com\"\n    },\n    \"user\": {\n        \"externalId\": \"externalId\",\n        \"username\": \"test\",\n        \"name\": \"test\",\n        \"surname\": \"test\",\n        \"honorific\": \"Mr\",\n        \"ip\": \"0.0.0.0\",\n        \"locale\": \"tr_TR\",\n        \"device\": {\n            \"operatingSystem\": \"LINUX\",\n            \"platform\": \"BROWSER\"\n        },\n        \"currency\": \"TRY\"\n    },\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/lobby/link"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"link\": \"https://example.com\"\n}"},{"id":"8a95bc14-8c72-4e59-a36f-5e8922c2a2e1","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"user\": {\n        \"externalId\": \"externalId\",\n        \"username\": \"test\",\n        \"name\": \"test\",\n        \"surname\": \"test\",\n        \"honorific\": \"Mr\",\n        \"ip\": \"0.0.0.0\",\n        \"locale\": \"tr_TR\",\n        \"device\": {\n            \"operatingSystem\": \"LINUX\",\n            \"platform\": \"BROWSER\"\n        },\n        \"currency\": \"TRY\"\n    },\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/lobby/link"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": 4,\n  \"errorMessage\": \"Deserialization error\"\n}"}],"_postman_id":"570382c7-4140-41d6-b76a-92532d6aa64b"},{"name":"Get Demo Lobby Link","id":"f30a11d6-24e0-41c1-92eb-b69195ba11e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"urls\": {\n        \"returnUrl\": \"https://example.com\",\n        \"depositUrl\": \"https://example.com\"\n    },\n    \"user\": {\n        \"ip\": \"0.0.0.0\",\n        \"locale\": \"tr_TR\",\n        \"device\": {\n            \"operatingSystem\": \"LINUX\",\n            \"platform\": \"BROWSER\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/lobby/link/demo","description":"<p>Returns the Landing URL of the Demo Lobby.</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>urls</code> (object, required)</p>\n<ul>\n<li><p><code>returnUrl</code> (string, required) - Url to provider page on casino</p>\n</li>\n<li><p><code>depositUrl</code> (string, required) - Url to deposit page on casino</p>\n</li>\n</ul>\n</li>\n<li><p><code>user</code> (object, required)</p>\n<ul>\n<li><p><code>ip</code> (string, required)</p>\n</li>\n<li><p><code>locale</code> (string, required)</p>\n</li>\n<li><p><code>device</code> (object, required)</p>\n<ul>\n<li><p><code>operatingSystem</code> (enum, required) - Values 'WINDOWS', 'LINUX', 'MACOS', 'IOS', 'ANDROID'</p>\n</li>\n<li><p><code>platform</code> (enum, required) - Values 'BROWSER', 'NATIVE'</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><code>link</code>(string, required) - Link to open lobby</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","lobby","link","demo"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"fe0ed621-9d95-43c1-af01-2cb4e2efb9f4","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"urls\": {\n        \"returnUrl\": \"https://example.com\",\n        \"depositUrl\": \"https://example.com\"\n    },\n    \"user\": {\n        \"ip\": \"0.0.0.0\",\n        \"locale\": \"tr_TR\",\n        \"device\": {\n            \"operatingSystem\": \"LINUX\",\n            \"platform\": \"BROWSER\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/lobby/link/demo"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"link\": \"https://example.com\"\n}"},{"id":"623cd429-4c9b-4af8-b443-771d543e2fd9","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"user\": {\n        \"ip\": \"0.0.0.0\",\n        \"locale\": \"tr_TR\",\n        \"device\": {\n            \"operatingSystem\": \"LINUX\",\n            \"platform\": \"BROWSER\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/lobby/link/demo"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": 4,\n  \"errorMessage\": \"Deserialization error\"\n}"}],"_postman_id":"f30a11d6-24e0-41c1-92eb-b69195ba11e7"}],"id":"1a65d46f-d387-48d3-a2bc-850b99ced403","description":"<p>Provides methods to show Games Lobby.</p>\n<p>Games Lobby contains all games availbale to brand and ready to play</p>\n","event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"2698772a-87e3-4ffa-9855-01d236a9a7b6"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"57b5fd65-c6ea-4de5-b390-4d459ad3d0ba"}}],"_postman_id":"1a65d46f-d387-48d3-a2bc-850b99ced403","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}}},{"name":"Round API","item":[{"name":"Get Private Round History","id":"d7a49ec9-aec2-474d-9066-caf716c5e42f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/round/private/history","description":"<p>Returns the URL of a game round detail. Designed for Backoffice usage, because there might be sensitive data here.</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider i</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>roundId</code> (string, required) - Id of the round</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><code>value</code> (string, required) - URL that contains round info in provider system, it's preferred to insert it into iframe.src attribut</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","round","private","history"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"95700e0b-193f-43c2-bd47-05e44c6314ce","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/round/private/history"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"value\": \"https://example.com\"\n}"},{"id":"226b3c75-90a5-48ee-afc5-ea59939f9126","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/round/private/history"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": 115,\n  \"errorMessage\": \"Round not found\"\n}"}],"_postman_id":"d7a49ec9-aec2-474d-9066-caf716c5e42f"},{"name":"Get Private Round Replay","id":"961669e4-eeb3-400a-afcc-ff6d95907177","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/round/private/replay","description":"<p>Returns the URL of a game round replay. This API should be only used to retrive replays for rounds with big multipliers.</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider i</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>roundId</code> (string, required) - Id of the round</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><code>value</code> (string, required) - URL that contains round replay in provider system, it's preferred to insert it into iframe.src attribut</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","round","private","replay"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"6c08faff-9ead-4bb9-9f89-0a576c94617e","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/round/private/replay"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"value\": \"https://example.com\"\n}"},{"id":"2dcaf1a8-0d37-4301-bedd-19f5d82c130d","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/round/private/replay"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": 115,\n  \"errorMessage\": \"Round not found\"\n}"}],"_postman_id":"961669e4-eeb3-400a-afcc-ff6d95907177"},{"name":"Get Public Round History","id":"d6ef28b4-4350-4eec-adcc-add938899eac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/round/public/history","description":"<p>Returns the URL of a game round detail. Designed for Public usage, i.e. you can use this API to display link on your Player UI.</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider i</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>roundId</code> (string, required) - Id of the round</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><code>value</code> (string, required) - URL that contains round info in provider system, it's preferred to insert it into iframe.src attribut</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","round","public","history"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"a7260f69-c374-4698-aa76-55993f157cea","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/round/public/history"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"value\": \"https://example.com\"\n}"},{"id":"038f273f-35f4-44cd-8152-29ffc5872723","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/round/public/history"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": 115,\n  \"errorMessage\": \"Round not found\"\n}"}],"_postman_id":"d6ef28b4-4350-4eec-adcc-add938899eac"},{"name":"Game Pending Round Feed","id":"121490f8-62f4-436b-a2bc-365c77543c4e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/round/feeds/game/pending","description":"<p>This report returns all the game rounds that were started by a certain player but not completed yet.<br />Customer is expected to use this API</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider i</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>providers</code> (string array, optional) - Provider value received from providers endpoint, if no given - all prvoiders will be used</p>\n</li>\n<li><p><code>products</code> (enum array, optional) - Values: 'LIVE_CASINO', 'CASINO', 'GAMES', 'VIRTUAL', if empty will search for all products</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Array of objects:</p>\n<ul>\n<li><p><code>id</code> (string, required) - ID of pending round</p>\n</li>\n<li><p><code>gameId</code> (string, required) - game identifier</p>\n</li>\n<li><p><code>betAmount</code> (number, required) - pending bet amount</p>\n</li>\n<li><p><code>currency</code> (enum, required) - round currency</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","round","feeds","game","pending"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"0de41a59-24a1-4869-ad28-a40744cc72fa","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\",\n    \"products\": [\"LIVE_CASINO\"]\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/round/feeds/game/pending"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"round-id\",\n        \"gameId\":\"game-id\",\n        \"betAmount\": 100,\n        \"currency\": \"EUR\"\n    }\n]"},{"id":"6794680e-ece5-409a-95bb-2aceb9c687b1","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"externalId\",\n    \"products\": [\"LIVE_CASINO\"]\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/round/feeds/game/pending"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": 115,\n  \"errorMessage\": \"Round not found\"\n}"}],"_postman_id":"121490f8-62f4-436b-a2bc-365c77543c4e"}],"id":"8555928a-4f86-475d-b86a-7892717cbbd8","_postman_id":"8555928a-4f86-475d-b86a-7892717cbbd8","description":"","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}}}],"id":"88578455-9adc-446b-9913-744a0ab23265","description":"<p>Requests sent from Casino to Aggregator Provider</p>\n","event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"a7def537-06c9-4736-a061-989c2ce8c7d5"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"48e9d329-f752-4514-9465-350293e96bdb"}}],"_postman_id":"88578455-9adc-446b-9913-744a0ab23265","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}}},{"name":"Casino API","item":[{"name":"Get Balance","id":"2a40cb4c-6538-4a21-bb6a-81500cec489b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"currency\": \"TRY\",\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/get-balance","description":"<p>Called when player's balance is needed. Casino is expected to return player's current balance</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>internalUserId</code> (string, required) - User id in aggregator provider system</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>currency</code> (string, required) - User currency</p>\n</li>\n<li><p><code>provider</code> (string, optional) - Provider which requests the balance. This value might not be available in certain situations</p>\n</li>\n<li><p><code>session</code> (object, optional)</p>\n<ul>\n<li><code>externalId</code> (string, required) - Session Id in casino system received on game launch</li>\n</ul>\n</li>\n<li><p><code>gameId</code>(string, optional) - Game Id</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\"><strong>Response Body Description:</strong></h4>\n<p>Object:</p>\n<ul>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>balance</code> (long, required) - In Money format</p>\n</li>\n<li><p><code>currency</code> (string, required) - User currency</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["get-balance"],"host":["{callbackUrl}"],"query":[],"variable":[]}},"response":[{"id":"8468927b-9993-4b55-9d0d-cefd13e55957","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"currency\": \"TRY\",\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    },\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\"\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/get-balance"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"externalUserId\": \"externalId\",\n    \"balance\": 100000,\n    \"currency\": \"TRY\"\n}"},{"id":"6262da4a-ee83-4516-8224-922ba0e38fb7","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e2ludmFsaWRfdXNlcm5hbWV9OntwYXNzd29yZH0=","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"currency\": \"TRY\",\n    \"provider\": \"some-provider\",\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    },\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\"\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/get-balance"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\" : 2,\n    \"errorMessage\" : \"Invalid credentials\"\n}"}],"_postman_id":"2a40cb4c-6538-4a21-bb6a-81500cec489b"},{"name":"Transaction","id":"1eaab29c-645d-4b48-b872-8a8bd9f1f7cc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"txType\": \"WIN\",\n    \"txId\": \"af7d269d-c6c7-472a-a4c7-b73b9d78ab24\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\",\n    \"providerRoundId\": \"providerRoundId\",\n    \"isRoundFinished\": true,\n    \"amount\": 200,\n    \"currency\": \"TRY\",\n    \"provider\": \"provider\",\n    \"rolledBackTxId\": null,\n    \"externalFreeSpinsId\": null,\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"timestamp\": 1710772705668,\n    \"isJackpot\": false,\n    \"isBonusBuy\": true,\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/transaction","description":"<p>Endpoint used for various transactions:</p>\n<ul>\n<li><p><strong>BET</strong> - Called when the User places a bet.</p>\n</li>\n<li><p><strong>WIN</strong> - Called when the User wins.</p>\n</li>\n<li><p><strong>ROLLBACK</strong> - Called when there is need to roll back the effect of the referenced transaction.</p>\n</li>\n<li><p><strong>FREE_SPINS_BET</strong> - Called when the User places a Free Spins bet.</p>\n</li>\n<li><p><strong>FREE_SPINS_WIN</strong> - Called when the User wins in Free Spins round.</p>\n</li>\n</ul>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>internalUserId</code> (string, required) - User id in aggregator provider system</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>txType</code> (enum, required) - Values: 'BET', 'WIN', 'ROLLBACK', 'FREE_SPINS_BET', 'FREE_SPINS_WIN'</p>\n</li>\n<li><p><code>txId</code> (string, required) - Id of the transaction. Unique among all txs</p>\n</li>\n<li><p><code>roundId</code> (string, required) - Id of the round in aggregator system</p>\n</li>\n<li><p><code>providerRoundId</code> (string, required) - Id of the round in provider system</p>\n</li>\n<li><p><code>isForced</code> (boolean, required) - BET should be accepted even if player doesn't have enough money on balance (balance can go negative)</p>\n</li>\n<li><p><code>isJackpot</code> (boolean, required) - Indicates if current transaction is related to jackpot</p>\n</li>\n<li><p><code>isBonusBuy</code> (boolean, required) - Indicates if current transaction is related to bonus buy</p>\n</li>\n<li><p><code>isRoundFinished</code> (boolean, required)</p>\n</li>\n<li><p><code>amount</code> (long, required) - Transaction amount. In Money format</p>\n</li>\n<li><p><code>currency</code> (string, required) - User currency</p>\n</li>\n<li><p><code>provider</code> (string, required) - Provider name</p>\n</li>\n<li><p><code>rolledBackTxId</code> (string, optional) - Not null in case of rollback. Tx id to rollback</p>\n</li>\n<li><p><code>externalFreeSpinsId</code> (string, optional) - Not null in case of free spins transaction</p>\n</li>\n<li><p><code>gameId</code> (string, optional) - Id from get games request. Can be null in case of jackpots, tips etc</p>\n</li>\n<li><p><code>timestamp</code> (long, required) - Transaction process timestamp in aggregator provider system</p>\n</li>\n<li><p><code>session</code> (object, optional)</p>\n<ul>\n<li><code>externalId</code> (string, required) - Session Id in casino system received on game launch</li>\n</ul>\n</li>\n<li><p><code>details</code> (object, optional) - Sportsbook bet context. Populated only for sportsbook transactions; null for casino game transactions. See \"Sportsbook Scheme\" folder for the schema.</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>txId</code> (string, required) - Transaction id in casino system</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>balance</code> (long, required) - Balance after transaction. In Money format</p>\n</li>\n<li><p><code>currency</code> (string, required) - User currency</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["transaction"],"host":["{callbackUrl}"],"query":[],"variable":[]}},"response":[{"id":"08226430-2e63-4cb1-83e6-fd7d41c5f621","name":"bet","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"txType\": \"BET\",\n    \"txId\": \"af7d269d-c6c7-472a-a4c7-b73b9d78ab24\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\",\n    \"providerRoundId\": \"providerRoundId\",\n    \"isForced\": false,\n    \"isRoundFinished\": false,\n    \"amount\": 200,\n    \"currency\": \"TRY\",\n    \"provider\": \"provider\",\n    \"rolledBackTxId\": null,\n    \"externalFreeSpinsId\": null,\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"timestamp\": 1710772705668,\n    \"isJackpot\": false,\n    \"isBonusBuy\": true,\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/transaction"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"txId\": \"845676317\",\n    \"externalUserId\": \"externalId\",\n    \"balance\": \"133937020\",\n    \"currency\": \"TRY\"\n}"},{"id":"5258f4af-9baa-47f6-87d2-89178e6909fd","name":"fail - bet","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"txType\": \"BET\",\n    \"txId\": \"af7d269d-c6c7-472a-a4c7-b73b9d78ab24\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\",\n    \"providerRoundId\": \"providerRoundId\",\n    \"isForced\": false,\n    \"isRoundFinished\": false,\n    \"amount\": 20000,\n    \"currency\": \"TRY\",\n    \"provider\": \"provider\",\n    \"rolledBackTxId\": null,\n    \"externalFreeSpinsId\": null,\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"timestamp\": 1710772705668,\n    \"isJackpot\": false,\n    \"isBonusBuy\": true,\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/transaction"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\" : 106,\n    \"errorMessage\" : \"Not enough funds\"\n}"},{"id":"cb8e6492-31b5-488e-bb68-3969ae88735a","name":"free spins bet","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"txType\": \"FREE_SPINS_BET\",\n    \"txId\": \"af7d269d-c6c7-472a-a4c7-b73b9d78ab24\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\",\n    \"providerRoundId\": \"providerRoundId\",\n    \"isForced\": false,\n    \"isRoundFinished\": false,\n    \"amount\": 0,\n    \"currency\": \"TRY\",\n    \"provider\": \"provider\",\n    \"rolledBackTxId\": null,\n    \"externalFreeSpinsId\": \"05699a64-e4a0-4091-86cd-b5e9d3823f67\",\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"timestamp\": 1710772705668,\n    \"isJackpot\": false,\n    \"isBonusBuy\": true,\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/transaction"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"txId\": \"123676317\",\n    \"externalUserId\": \"externalId\",\n    \"balance\": \"133937020\",\n    \"currency\": \"TRY\"\n}"},{"id":"dd7d21f0-4a3b-4a4a-9e35-4b0432309304","name":"rollback","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"txType\": \"ROLLBACK\",\n    \"txId\": \"af7d269d-c6c7-472a-a4c7-b73b9d78ab24\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\",\n    \"providerRoundId\": \"providerRoundId\",\n    \"isForced\": false,\n    \"isRoundFinished\": true,\n    \"amount\": 200,\n    \"currency\": \"TRY\",\n    \"provider\": \"provider\",\n    \"rolledBackTxId\": \"0192f780-33d8-7481-a8ae-d331c9ba50e2\",\n    \"externalFreeSpinsId\": null,\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"timestamp\": 1710772705668,\n    \"isJackpot\": false,\n    \"isBonusBuy\": true,\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/transaction"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"txId\": \"735676317\",\n    \"externalUserId\": \"externalId\",\n    \"balance\": \"133938120\",\n    \"currency\": \"TRY\"\n}"},{"id":"dbe2a74a-cd68-45ab-b1b3-d893d8d6573c","name":"win","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"txType\": \"WIN\",\n    \"txId\": \"af7d269d-c6c7-472a-a4c7-b73b9d78ab24\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\",\n    \"providerRoundId\": \"providerRoundId\",\n    \"isForced\": false,\n    \"isRoundFinished\": true,\n    \"amount\": 200,\n    \"currency\": \"TRY\",\n    \"provider\": \"provider\",\n    \"rolledBackTxId\": null,\n    \"externalFreeSpinsId\": null,\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"timestamp\": 1710772705668,\n    \"isJackpot\": false,\n    \"isBonusBuy\": true,\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/transaction"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"txId\" : \"145676328\",\n    \"externalUserId\" : \"externalId\",\n    \"balance\" : \"133938020\",\n    \"currency\" : \"TRY\"\n  }"},{"id":"55dbbae0-c78d-4d35-b173-2538893344bb","name":"free spins win","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"txType\": \"FREE_SPINS_WIN\",\n    \"txId\": \"af7d269d-c6c7-472a-a4c7-b73b9d78ab24\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\",\n    \"providerRoundId\": \"providerRoundId\",\n    \"isForced\": false,\n    \"isRoundFinished\": true,\n    \"amount\": 200,\n    \"currency\": \"TRY\",\n    \"provider\": \"provider\",\n    \"rolledBackTxId\": null,\n    \"externalFreeSpinsId\": \"05699a64-e4a0-4091-86cd-b5e9d3823f67\",\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"timestamp\": 1710772705668,\n    \"isJackpot\": false,\n    \"isBonusBuy\": true,\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/transaction"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"txId\" : \"441676328\",\n    \"externalUserId\" : \"externalId\",\n    \"balance\" : \"133938020\",\n    \"currency\" : \"TRY\"\n  }"}],"_postman_id":"1eaab29c-645d-4b48-b872-8a8bd9f1f7cc"},{"name":"End Round","id":"4227e80f-cb3d-4b37-90b0-23b716eb5691","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\",\n    \"providerRoundId\": \"providerRoundId\",\n    \"isRoundFinished\": true,\n    \"currency\": \"TRY\",\n    \"provider\": \"provider\",\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"timestamp\": 1710772705668,\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/end-round","description":"<p>Called to notify about round end.</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>internalUserId</code> (string, required) - User id in aggregator provider system</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>roundId</code> (string, required) - Id of the round</p>\n</li>\n<li><p><code>providerRoundId</code> (string, required) - Id of the round in provider system</p>\n</li>\n<li><p><code>isRoundFinished</code> (boolean, required)</p>\n</li>\n<li><p><code>currency</code> (string, required) - User currency</p>\n</li>\n<li><p><code>provider</code> (string, required) - Provider name</p>\n</li>\n<li><p><code>gameId</code> (string, optional) - Id from get games request. Can be null in case of jackpots, tips etc</p>\n</li>\n<li><p><code>timestamp</code> (long, required) - End round timestamp in aggregator provider system</p>\n</li>\n<li><p><code>session</code> (object, optional)</p>\n<ul>\n<li><code>externalId</code> (string, required) - Session Id in casino system received on game launch</li>\n</ul>\n</li>\n<li><p><code>details</code> (object, optional) - Sportsbook bet context. Populated only for sportsbook transactions; null for casino game transactions. See \"Sportsbook Scheme\" folder for the schema.</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>balance</code> (long, required) - Balance in Money format</p>\n</li>\n<li><p><code>currency</code> (string, required) - User currency</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["end-round"],"host":["{callbackUrl}"],"query":[],"variable":[]}},"response":[{"id":"f78ed03e-dc92-435f-8be6-37efa1907211","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\",\n    \"providerRoundId\": \"providerRoundId\",\n    \"isRoundFinished\": true,\n    \"currency\": \"TRY\",\n    \"provider\": \"provider\",\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"timestamp\": 1710772705668,\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/end-round"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"externalUserId\": \"externalId\",\n  \"balance\": 100000,\n  \"currency\": \"TRY\"\n}"},{"id":"64402549-8029-4a14-bc6e-522e31fa2e68","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e2ludmFsaWRfdXNlcm5hbWV9OntwYXNzd29yZH0=","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"roundId\": \"6a95ba3a-1448-4824-998c-045552421f62\",\n    \"providerRoundId\": \"providerRoundId\",\n    \"isRoundFinished\": true,\n    \"currency\": \"TRY\",\n    \"provider\": \"provider\",\n    \"gameId\": \"234f4893-6bdc-4dea-82bb-6e351976836e\",\n    \"timestamp\": 1710772705668,\n    \"session\": {\n        \"externalId\": \"your-session-id\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/end-round"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\" : 2,\n    \"errorMessage\" : \"Invalid credentials\"\n}"}],"_postman_id":"4227e80f-cb3d-4b37-90b0-23b716eb5691"},{"name":"Free Spins Completed","id":"56ff548b-9244-4343-9924-8e2348e3e12f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"externalFreeSpinsId\": \"your-free-spins-id\",\n    \"totalWinAmount\": 100,\n    \"currency\": \"USD\"\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/free-spins-completed","description":"<p>Called to notify about free spins completion.</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>internalUserId</code> (string, required) - User id in aggregator provider system</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>externalFreeSpinsId</code> (string, required) - Free spins id that you used for its create</p>\n</li>\n<li><p><code>currency</code> (enum, required) - Currency of rpvodied amounts</p>\n</li>\n<li><p><code>totalAmount</code> (long, required) - Total winning amount of a free spin</p>\n</li>\n<li><p><code>txId</code> (string, required) - Free spins total win transaction id for operation idempotency</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>balance</code> (long, required) - In Money format</p>\n</li>\n<li><p><code>currency</code> (string, required) - User currency</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["free-spins-completed"],"host":["{callbackUrl}"],"query":[],"variable":[]}},"response":[{"id":"07933e0e-cfa9-4d07-a6af-0b4688b5f003","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"externalFreeSpinsId\": \"your-free-spins-id\",\n    \"totalWinAmount\": 100,\n    \"currency\": \"USD\"\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/end-round"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"externalUserId\": \"externalId\",\n    \"balance\": 100000,\n    \"currency\": \"TRY\"\n}"},{"id":"1d183f2d-bfe3-4665-831a-fdd67891a719","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e2ludmFsaWRfdXNlcm5hbWV9OntwYXNzd29yZH0=","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"internalUserId\": \"037ee5a8-d09f-4b0a-9f5d-dc5d12d0d48b\",\n    \"externalUserId\": \"externalId\",\n    \"externalFreeSpinsId\": \"your-free-spins-id\",\n    \"totalWinAmount\": 100,\n    \"currency\": \"USD\"\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/end-round"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\" : 2,\n    \"errorMessage\" : \"Invalid credentials\"\n}"}],"_postman_id":"56ff548b-9244-4343-9924-8e2348e3e12f"},{"name":"Get Player Details (Optional)","id":"3294999d-5ca5-41cc-aa08-41d3184919bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"token\": \"some-token\"\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/get-player-details","description":"<p>Called to fetch player details by provided token.</p>\n<p>This API is optional, it might become mandatory to be implemented depending on the product scope received by the casino</p>\n<hr />\n<h4 id=\"request-body-description\">Request Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>brandId</code> (int, required) - Brand id provided by aggregator provider</p>\n</li>\n<li><p><code>token</code> (string, required) - Token received from integration that will allow it to fetch player details</p>\n</li>\n</ul>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>externalUserId</code> (string, required) - User id in casino system</p>\n</li>\n<li><p><code>username</code> (string, required)</p>\n</li>\n<li><p><code>name</code> (string, optional)</p>\n</li>\n<li><p><code>surname</code> (string, optional)</p>\n</li>\n<li><p><code>honorific</code> (enum, optional) - Values: 'Mr', 'Mrs', 'Ms', 'Miss'</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}},"urlObject":{"path":["get-player-details"],"host":["{callbackUrl}"],"query":[],"variable":[]}},"response":[{"id":"afc3f669-00d4-484f-bb38-96d373153b7f","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"token\": \"some-token\"\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/end-round"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"externalUserId\": \"externalId\",\n  \"username\": \"username\",\n  \"name\": \"Name\",\n  \"surname\": \"Surname\",\n  \"honorific\": null\n}"},{"id":"87f2045f-a439-4bb9-84ba-25ecd6b3a651","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e2ludmFsaWRfdXNlcm5hbWV9OntwYXNzd29yZH0=","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"token\": \"some-token\"\n}","options":{"raw":{"language":"json"}}},"url":"{callbackUrl}/end-round"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\" : 2,\n    \"errorMessage\" : \"Invalid credentials\"\n}"}],"_postman_id":"3294999d-5ca5-41cc-aa08-41d3184919bf"}],"id":"313155e0-ebbb-4aa8-8ef4-96dfc019cb9e","description":"<p>Requests sent from Aggregator Provider to Casino</p>\n","event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"00232eef-9544-47e3-b980-bd326483f60e"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"31314ff1-2c8a-4a5f-b728-740d28443b2b"}}],"_postman_id":"313155e0-ebbb-4aa8-8ef4-96dfc019cb9e","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","name":"Casino Aggregator API","type":"folder"}}}],"id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"cfa7c79a-740c-4d64-827d-43bbbe6ff1aa"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"25c98e57-e6da-44e4-ab0f-7b42ed9949e7"}}],"_postman_id":"f25cc1e0-b5ff-4625-85b2-d09b578043d6","description":""},{"name":"Sportsbook Scheme - Preview","item":[{"name":"Transaction Details","item":[],"id":"dcb5c0d5-af7a-4a84-a146-2d7e559b1644","description":"<p>Schema of the <code>details</code> object attached to sportsbook-originated <code>Transaction</code> and <code>End Round</code> callbacks.</p>\n<p>Populated only for sportsbook transactions; null for casino game transactions.</p>\n<hr />\n<h4 id=\"object\">Object</h4>\n<ul>\n<li><p><code>method</code> (enum, required) - Sportsbook event that triggered the notify. Values: 'ACCOUNT_DETAILS', 'EDIT_BET', 'BET_CANCELED', 'CREATE_BET_BATCH', 'CREATE_BET', 'BET_SETTLED', 'BET_CASH_OUT', 'BET_PARTIAL_CASH_OUT', 'BET_CREATE_FAILED', 'BET_ODDS_BOOST_SETTLED', 'BET_ODDS_BOOST_CANCELED', 'CREATE_FORECAST', 'SETTLE_FORECAST', 'CANCEL_FORECAST'</p>\n</li>\n<li><p><code>bet</code> (object, required) - Snapshot of the underlying sportsbook bet (see Bet section below)</p>\n</li>\n</ul>\n<p>Bet (<code>details.bet</code>):</p>\n<ul>\n<li><p><code>betId</code> (string, required) - Bet id in sportsbook system</p>\n</li>\n<li><p><code>totalCoefficient</code> (double, required) - Total bet coefficient</p>\n</li>\n<li><p><code>eventPicks</code> (array, required) - Picks placed on regular sport events (see Pick and Event Pick sections)</p>\n</li>\n<li><p><code>outrightPicks</code> (array, required) - Picks placed on outright (long-term) markets (see Pick and Outright Pick sections)</p>\n</li>\n<li><p><code>createTime</code> (long, required) - Timestamp in milliseconds when the bet was placed</p>\n</li>\n<li><p><code>live</code> (boolean, required) - True if the bet was placed on a live event</p>\n</li>\n<li><p><code>hash</code> (object, required) - Structural summary of the bet (see \"Bet Hash\" item in this folder)</p>\n</li>\n<li><p><code>result</code> (enum, optional) - Bet settlement state. Null while the bet is still pending. Values: 'WIN', 'LOSS', 'PARTIAL_WIN', 'PARTIAL_LOSS', 'CANCELED', 'PENDING', 'CASH_OUTED', 'RETURN', 'UNKNOWN'</p>\n</li>\n<li><p><code>settledAt</code> (long, optional) - Timestamp in milliseconds when the bet was settled</p>\n</li>\n<li><p><code>cashOutAt</code> (long, optional) - Timestamp in milliseconds when the bet was cashed out</p>\n</li>\n<li><p><code>canceledAt</code> (long, optional) - Timestamp in milliseconds when the bet was canceled</p>\n</li>\n</ul>\n<p>Pick (shared fields of <code>details.bet.eventPicks[]</code> and <code>details.bet.outrightPicks[]</code>):</p>\n<ul>\n<li><p><code>pickId</code> (string, required) - Pick id in sportsbook system</p>\n</li>\n<li><p><code>sportName</code> (string, required) - Sport name</p>\n</li>\n<li><p><code>sportId</code> (string, required) - Sport id</p>\n</li>\n<li><p><code>categoryName</code> (string, required) - Sport category name</p>\n</li>\n<li><p><code>categoryId</code> (string, required) - Sport category id</p>\n</li>\n<li><p><code>tournamentName</code> (string, required) - Tournament name</p>\n</li>\n<li><p><code>tournamentId</code> (string, required) - Tournament id</p>\n</li>\n<li><p><code>coefficient</code> (string, required) - Pick coefficient</p>\n</li>\n<li><p><code>result</code> (string, required) - Pick settlement result</p>\n</li>\n<li><p><code>outcomeParameterHash</code> (object, required) - Outcome descriptor (see \"Outcome Hash\" item in this folder).</p>\n</li>\n<li><p><code>banker</code> (boolean, required) - True if the pick is marked as a banker in a system bet</p>\n</li>\n<li><p><code>contribution</code> (double, optional) - Pick contribution to the total coefficient</p>\n</li>\n</ul>\n<p>Event Pick (<code>details.bet.eventPicks[]</code> extra fields):</p>\n<ul>\n<li><p><code>eventStatus</code> (string, required) - Sport event status</p>\n</li>\n<li><p><code>eventId</code> (string, required) - Sport event id</p>\n</li>\n<li><p><code>eventName</code> (string, required) - Sport event name</p>\n</li>\n<li><p><code>marketParameterHash</code> (object, required) - Market descriptor (see \"Market Hash\" item in this folder).</p>\n</li>\n<li><p><code>participants</code> (object, required) - Map keyed by participant slot, value is a Participant object with <code>name</code> (string) and <code>teamId</code> (string).</p>\n</li>\n<li><p><code>finalScore</code> (object, optional) - Final score of the event with <code>team1</code> (float) and <code>team2</code> (float).</p>\n</li>\n</ul>\n<p>Outright Pick (<code>details.bet.outrightPicks[]</code> extra fields):</p>\n<ul>\n<li><p><code>outrightId</code> (string, required) - Outright market id</p>\n</li>\n<li><p><code>outrightName</code> (string, required) - Outright market name</p>\n</li>\n</ul>\n<hr />\n<h4 id=\"example-payload\">Example payload</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"method\": \"BET_SETTLED\",\n  \"bet\": {\n    \"betId\": \"b1f8a8a4-2eb3-4b16-8d6c-2a4a25c5c5c5\",\n    \"totalCoefficient\": 1.5,\n    \"eventPicks\": [\n      {\n        \"pickId\": \"1c1a8a01-1111-4111-9111-111111111111\",\n        \"sportName\": \"Football\",\n        \"sportId\": \"11111111-1111-1111-1111-111111111111\",\n        \"categoryName\": \"England\",\n        \"categoryId\": \"22222222-2222-2222-2222-222222222222\",\n        \"tournamentName\": \"Premier League\",\n        \"tournamentId\": \"33333333-3333-3333-3333-333333333333\",\n        \"coefficient\": \"1.50\",\n        \"result\": \"WIN\",\n        \"outcomeParameterHash\": {\n          \"parameters\": { \"@kind\": \"enum\", \"outcome\": \"team1\" }\n        },\n        \"banker\": false,\n        \"contribution\": null,\n        \"eventStatus\": \"ENDED\",\n        \"eventId\": \"44444444-4444-4444-4444-444444444444\",\n        \"eventName\": \"Arsenal vs Chelsea\",\n        \"marketParameterHash\": {\n          \"type\": \"score_oupt\",\n          \"parameters\": { \"total\": \"2.5\" }\n        },\n        \"participants\": {\n          \"1\": { \"name\": \"Arsenal\", \"teamId\": \"55555555-5555-5555-5555-555555555555\" },\n          \"2\": { \"name\": \"Chelsea\", \"teamId\": \"66666666-6666-6666-6666-666666666666\" }\n        },\n        \"finalScore\": { \"team1\": 2.0, \"team2\": 1.0 }\n      }\n    ],\n    \"outrightPicks\": [],\n    \"createTime\": 1710849600000,\n    \"live\": false,\n    \"hash\": { \"betType\": \"SINGLE\", \"totalPicks\": 1, \"picksPerSelection\": [1], \"bankersCount\": 0 },\n    \"result\": \"WIN\",\n    \"settledAt\": 1710856800000,\n    \"cashOutAt\": null,\n    \"canceledAt\": null\n  }\n}\n</code></pre>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"344c33b6-755b-4f66-bbe1-bc282a9e79d0"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"30b71a62-763f-45a6-82f1-3419d7f41d12"}}],"_postman_id":"dcb5c0d5-af7a-4a84-a146-2d7e559b1644"},{"name":"Bet Hash","item":[],"id":"722f11b2-936b-4dba-9e7f-3428be80f3ed","description":"<p>Structural summary of a bet, exposed at <code>details.bet.hash</code>.</p>\n<p>The platform represents bet structure with a compact string (e.g. <code>1/1</code>, <code>3/3</code>, <code>2/3</code>, <code>2/3:3/3</code>, <code>2/3|B1</code>). This object exposes the same information as parsed values, so an integration does not need to parse the string itself.</p>\n<hr />\n<h4 id=\"object\">Object</h4>\n<ul>\n<li><p><code>betType</code> (enum, required) - Bet structure. Values: 'SINGLE' (one pick), 'PARLAY' (all picks must win), 'SYSTEM' (any K out of N must win, possibly across several selection groups).</p>\n</li>\n<li><p><code>totalPicks</code> (int, required) - Total number of picks <code>N</code> in the bet.</p>\n</li>\n<li><p><code>picksPerSelection</code> (array, required) - For each selection group, the number of picks <code>K</code> that must win for that group to pay out. SINGLE/PARLAY have one entry equal to <code>totalPicks</code>; SYSTEM may have several entries with <code>K &lt; N</code>.</p>\n</li>\n<li><p><code>bankersCount</code> (int, required) - Number of picks marked as bankers. Bankers must always win for any combination to settle.</p>\n</li>\n</ul>\n<hr />\n<h4 id=\"reading-picksperselection\">Reading <code>picksPerSelection</code></h4>\n<p>Each entry is the <code>K</code> of a <code>K/N</code> selection group. The number of winning combinations the bet pays out on equals <code>sum over K of C(N, K)</code>.</p>\n<p>Examples:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Bet structure</th>\n<th><code>betType</code></th>\n<th><code>totalPicks</code></th>\n<th><code>picksPerSelection</code></th>\n<th><code>bankersCount</code></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Single (<code>1/1</code>)</td>\n<td>SINGLE</td>\n<td>1</td>\n<td><code>[1]</code></td>\n<td>0</td>\n</tr>\n<tr>\n<td>Accumulator on 3 picks (<code>3/3</code>)</td>\n<td>PARLAY</td>\n<td>3</td>\n<td><code>[3]</code></td>\n<td>0</td>\n</tr>\n<tr>\n<td>2-of-3 system (<code>2/3</code>)</td>\n<td>SYSTEM</td>\n<td>3</td>\n<td><code>[2]</code></td>\n<td>0</td>\n</tr>\n<tr>\n<td>Trixie (<code>2/3:3/3</code>)</td>\n<td>SYSTEM</td>\n<td>3</td>\n<td><code>[2, 3]</code></td>\n<td>0</td>\n</tr>\n<tr>\n<td>Patent (<code>1/3:2/3:3/3</code>)</td>\n<td>SYSTEM</td>\n<td>3</td>\n<td><code>[1, 2, 3]</code></td>\n<td>0</td>\n</tr>\n<tr>\n<td>Yankee (<code>2/4:3/4:4/4</code>)</td>\n<td>SYSTEM</td>\n<td>4</td>\n<td><code>[2, 3, 4]</code></td>\n<td>0</td>\n</tr>\n<tr>\n<td>2-of-3 with 1 banker (`2/3</td>\n<td>B1`)</td>\n<td>SYSTEM</td>\n<td>3</td>\n<td><code>[2]</code></td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h4 id=\"limits\">Limits</h4>\n<ul>\n<li><p>Maximum picks per parlay: 14</p>\n</li>\n<li><p>Maximum picks per system: 12</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"49d4d89d-315e-438d-bb76-fb61c4202199"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"853b4a50-0959-4943-ba7a-285ff476c9cc"}}],"_postman_id":"722f11b2-936b-4dba-9e7f-3428be80f3ed"},{"name":"Market Hash","item":[],"id":"8ec9189d-bcec-4cf2-9eac-d58ea3bd3317","description":"<p>Market descriptor, exposed at <code>details.bet.eventPicks[].marketParameterHash</code>.</p>\n<p>Identifies the market the pick is placed on (e.g. \"Total goals over/under 2.5\") via a stable type code plus a parameters map.</p>\n<hr />\n<h4 id=\"object\">Object</h4>\n<ul>\n<li><p><code>type</code> (string, required) - Market type code. Lower-case identifier matching the platform's MarketType enum (examples: <code>match_winner</code>, <code>dnb</code>, <code>1x2</code>, <code>score_oupt</code> (over/under total), <code>score_handicap</code>, <code>correct_score</code>, <code>htft</code>, <code>team_total</code>, <code>score_first_ynpt</code>, <code>score_assist_oupt</code>). Always present.</p>\n</li>\n<li><p><code>parameters</code> (object, required) - Map of string keys to string values that specialise the market. The exact keys depend on <code>type</code>. May be empty for parameter-less markets (e.g. <code>match_winner</code>, <code>dnb</code>). See \"Common parameter keys\" below.</p>\n</li>\n</ul>\n<hr />\n<h4 id=\"common-parameter-keys\">Common parameter keys</h4>\n<p>Keys are sorted alphabetically and values are always strings. Numeric values use minimum-precision decimal formatting (e.g. <code>2</code>, not <code>2.0</code>; but <code>2.5</code> stays <code>2.5</code>).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Used by</strong></th>\n<th><strong>Meaning / example value</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>total</code></td>\n<td>over/under markets (<code>score_oupt</code>, <code>score_assist_oupt</code>, …)</td>\n<td>Threshold value (e.g. <code>2.5</code>)</td>\n</tr>\n<tr>\n<td><code>handicap</code></td>\n<td>handicap markets</td>\n<td>Signed handicap line (e.g. <code>-1.5</code>, <code>2</code>)</td>\n</tr>\n<tr>\n<td><code>period</code></td>\n<td>period-scoped markets</td>\n<td>Period number (e.g. <code>1</code>, <code>2</code>)</td>\n</tr>\n<tr>\n<td><code>team</code></td>\n<td>team-specific markets (e.g. team total)</td>\n<td><code>team1</code> / <code>team2</code></td>\n</tr>\n<tr>\n<td><code>from</code>, <code>to</code></td>\n<td>range markets</td>\n<td>Inclusive lower / upper bound (e.g. <code>0</code> / <code>1</code>)</td>\n</tr>\n</tbody>\n</table>\n</div><p>Markets without parameters serialise as an empty <code>parameters</code> map.</p>\n<hr />\n<h4 id=\"examples\">Examples</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"type\": \"match_winner\", \"parameters\": {} }\n{ \"type\": \"score_oupt\", \"parameters\": { \"total\": \"2.5\" } }\n{ \"type\": \"score_handicap\", \"parameters\": { \"handicap\": \"-1.5\" } }\n{ \"type\": \"team_total\", \"parameters\": { \"team\": \"team1\", \"total\": \"1.5\" } }\n</code></pre>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"a3848da8-78d4-456c-8984-78cf43b27073"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"428b7121-432c-4f52-9d4c-4216418543f0"}}],"_postman_id":"8ec9189d-bcec-4cf2-9eac-d58ea3bd3317"},{"name":"Outcome Hash","item":[],"id":"4249beda-23ea-4b6a-9007-0e9b7b67f4df","description":"<p>Outcome descriptor, exposed at <code>details.bet.eventPicks[].outcomeParameterHash</code> and <code>details.bet.outrightPicks[].outcomeParameterHash</code>.</p>\n<p>Identifies which option of the market the user picked (e.g. \"team 1 to win\", \"over 2.5\", \"correct score 2:1\").</p>\n<hr />\n<h4 id=\"object\">Object</h4>\n<ul>\n<li><code>parameters</code> (object, required) - Map of string keys to string values that identifies the outcome inside the market. Always carries an <code>@kind</code> key whose value selects the parameter shape; the remaining keys depend on <code>@kind</code>. See \"Kinds and their keys\" below.</li>\n</ul>\n<hr />\n<h4 id=\"kinds-and-their-keys\">Kinds and their keys</h4>\n<p>The <code>@kind</code> key is required and selects the shape of the remaining keys. Values come from the platform's <code>OutcomeParametersKind</code> enum.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong><code>@kind</code></strong></th>\n<th><strong>Required keys</strong></th>\n<th><strong>Example <code>parameters</code></strong></th>\n<th><strong>When used</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>outcome</code> (entity id)</td>\n<td><code>{\"@kind\": \"id\", \"outcome\": \"&lt;teamId&gt;\"}</code></td>\n<td>Outcomes that point at a domain entity (a team, a player, a participant).</td>\n</tr>\n<tr>\n<td><code>enum</code></td>\n<td><code>outcome</code> (enum value)</td>\n<td><code>{\"@kind\": \"enum\", \"outcome\": \"team1\"}</code></td>\n<td>Outcomes from a fixed enumeration (<code>team1</code> / <code>draw</code> / <code>team2</code>, <code>yes</code> / <code>no</code>, <code>over</code> / <code>under</code>, …).</td>\n</tr>\n<tr>\n<td><code>id_enum</code></td>\n<td><code>outcome</code> (<code>&lt;id&gt;_&lt;enum&gt;</code>)</td>\n<td><code>{\"@kind\": \"id_enum\", \"outcome\": \"&lt;teamId&gt;_yes\"}</code></td>\n<td>Combined entity-and-enum outcomes (e.g. \"team X to score: yes\").</td>\n</tr>\n<tr>\n<td><code>key_id</code></td>\n<td>(entity id keys)</td>\n<td><code>{\"@kind\": \"key_id\", \"&lt;teamId1&gt;\": \"2\", \"&lt;teamId2&gt;\": \"1\"}</code></td>\n<td>Correct-score-style markets where the score is keyed by team id.</td>\n</tr>\n<tr>\n<td><code>value</code></td>\n<td><code>outcome</code>, <code>predicate</code></td>\n<td><code>{\"@kind\": \"value\", \"outcome\": \"3\", \"predicate\": \"eq\"}</code></td>\n<td>Numeric comparison outcomes. <code>predicate</code> ∈ <code>eq</code>, <code>gt</code>, <code>gte</code>, <code>lt</code>, <code>lte</code>.</td>\n</tr>\n<tr>\n<td><code>multi_value</code></td>\n<td><code>value1</code>, <code>value2</code>, <code>predicate</code></td>\n<td><code>{\"@kind\": \"multi_value\", \"value1\": \"1\", \"value2\": \"2\", \"predicate\": \"eq\"}</code></td>\n<td>Outcomes comparing two values jointly.</td>\n</tr>\n<tr>\n<td><code>htft</code></td>\n<td><code>ht</code>, <code>ft</code></td>\n<td><code>{\"@kind\": \"htft\", \"ht\": \"&lt;teamId&gt;\", \"ft\": \"draw\"}</code></td>\n<td>Half-time / full-time double-result outcomes. Values are entity ids or <code>draw</code>.</td>\n</tr>\n<tr>\n<td><code>range</code></td>\n<td><code>from</code>, <code>to</code></td>\n<td><code>{\"@kind\": \"range\", \"from\": \"1\", \"to\": \"2\"}</code></td>\n<td>Banded outcomes (\"1-2 goals\").</td>\n</tr>\n<tr>\n<td><code>_name</code></td>\n<td><code>_name</code></td>\n<td><code>{\"@kind\": \"_name\", \"_name\": \"Germany\"}</code></td>\n<td>Free-form named outcomes (e.g. tournament winners).</td>\n</tr>\n<tr>\n<td><code>id_sequence</code></td>\n<td><code>outcome</code></td>\n<td><code>{\"@kind\": \"id_sequence\", \"outcome\": \"&lt;id1&gt;;&lt;id2&gt;;…\"}</code></td>\n<td>Ordered sequence of entity ids.</td>\n</tr>\n<tr>\n<td><code>id_sequence_double</code>, <code>id_sequence_triple</code></td>\n<td><code>outcome</code></td>\n<td>same as <code>id_sequence</code></td>\n<td>Two-/three-position sequences (e.g. podium predictions).</td>\n</tr>\n<tr>\n<td><code>period123</code></td>\n<td><code>outcome</code></td>\n<td><code>{\"@kind\": \"period123\", \"outcome\": \"team1\"}</code></td>\n<td>Period-1/2/3 winner outcomes.</td>\n</tr>\n<tr>\n<td><code>value_sequence</code></td>\n<td><code>outcome</code></td>\n<td><code>{\"@kind\": \"value_sequence\", \"outcome\": \"&lt;v1&gt;;&lt;v2&gt;;…\"}</code></td>\n<td>Sequence of numeric values.</td>\n</tr>\n<tr>\n<td><code>id_id</code></td>\n<td>(two id keys)</td>\n<td><code>{\"@kind\": \"id_id\", \"&lt;idA&gt;\": \"&lt;idB&gt;\"}</code></td>\n<td>Pair-of-ids outcomes.</td>\n</tr>\n<tr>\n<td><code>custom</code></td>\n<td>(kind-specific)</td>\n<td><code>{\"@kind\": \"custom\", …}</code></td>\n<td>Reserved for non-standard outcomes; consult per-market docs.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Notes:</p>\n<ul>\n<li><p>Keys are sorted alphabetically when serialised.</p>\n</li>\n<li><p>Numeric values use minimum-precision decimal formatting (<code>2</code> instead of <code>2.0</code>).</p>\n</li>\n<li><p><code>@kind</code> is always present; if a kind needs no extra keys, only <code>@kind</code> is sent.</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"1f4a2107-6389-4854-989b-c450aae3eed0"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"94baa835-f23c-4575-9fbd-98d9e3b4ce56"}}],"_postman_id":"4249beda-23ea-4b6a-9007-0e9b7b67f4df"}],"id":"04a16ea6-7cad-4a2f-9828-ba28d19a808f","description":"<p>Reference structures for the sportsbook-specific payloads attached to Casino API callbacks (Transaction, End Round).</p>\n<p>When the originating transaction comes from a sportsbook bet, the request body carries an extra <code>details</code> object alongside the regular casino fields. Casino game transactions leave it null.</p>\n<p>This folder documents:</p>\n<ul>\n<li><p><strong>Transaction Details</strong> - the full <code>details</code> object schema and an example payload.</p>\n</li>\n<li><p><strong>Bet Hash</strong> - structural summary of the bet (single / parlay / system, banker count).</p>\n</li>\n<li><p><strong>Market Hash</strong> - market <code>type</code> code and the contents of its <code>parameters</code> map.</p>\n</li>\n<li><p><strong>Outcome Hash</strong> - the <code>parameters</code> map keys, indexed by <code>@kind</code> (the outcome parameters kind).</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"90904ade-0e6e-4e01-adc0-c97bbb3aea84"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"fe5f8ba8-1c28-4fe6-9d12-936d50d19d48"}}],"_postman_id":"04a16ea6-7cad-4a2f-9828-ba28d19a808f"},{"name":"Affiliate API","item":[{"name":"Aggregator API","item":[{"name":"Register User","id":"900177fb-8166-4134-8f65-6a634cb358d3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"ext_987654321\",\n    \"username\": \"mehmet.demir\",\n    \"name\": \"Mehmet\",\n    \"surname\": \"Demir\",\n    \"honorific\": \"Mr\",\n    \"locale\": \"tr_TR\",\n    \"currency\": \"TRY\",\n    \"tracker\": {\n        \"type\": \"TRACKING_CODE\",\n        \"value\": \"ABHoQxDbREpLTHMp18gbAL6wZw\"\n    },\n    \"promoCode\": \"WELCOME\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/affiliate/users/register","description":"<h1 id=\"endpoint-for-customer-registration\">Endpoint for Customer Registration</h1>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><strong>POST</strong> <code>/external-casino-client/v1/affiliate/users/register</code></p>\n<h2 id=\"description\">Description</h2>\n<p>This endpoint allows external casino systems to register affiliate users. The system supports idempotent operations - if a user with the same <code>externalUserId</code> and <code>brandId</code> already exists, the stored user data is returned instead of creating a duplicate.</p>\n<h2 id=\"request-body-description\">Request Body Description</h2>\n<p><strong>Object:</strong></p>\n<ul>\n<li><p><code>brandId</code> (Int, required) - Brand id provided by aggregator provider. Must be a valid brand identifier.</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - Unique identifier of the user in the casino system. Must be unique among all users for the same brand. Cannot be blank.</p>\n</li>\n<li><p><code>username</code> (string, required) - Username for the user. Cannot be blank.</p>\n</li>\n<li><p><code>name</code> (string, optional) - First name of the user. Can be null.</p>\n</li>\n<li><p><code>surname</code> (string, optional) - Last name of the user. Can be null.</p>\n</li>\n<li><p><code>honorific</code> (enum, optional) - Honorific title for the user. Please refer to the common API documentation for honorific enum values. Can be null.</p>\n</li>\n<li><p><code>locale</code> (enum, required) - Locale code for the user. Please refer to the common API documentation for locale enum values. Must be a valid locale enum value.</p>\n</li>\n<li><p><code>currency</code> (string, required) - Currency code. Must be a valid currency code and cannot be blank. Please refer to the common API documentation for currency code rules.</p>\n</li>\n<li><p><code>tracker</code> (object, optional) - Tracking information for affiliate attribution. Can be null if the user registration should not be attributed to any affiliate. If provided, must be a valid tracker object. The tracker object has the following structure:</p>\n<ul>\n<li><p><code>type</code> (enum, required) - Tracker type. Valid values:</p>\n<ul>\n<li><p><code>TRACKING_CODE</code> - Tracking code type</p>\n</li>\n<li><p><code>LINK_CODE</code> - Link code type</p>\n</li>\n</ul>\n</li>\n<li><p><code>value</code> (string, required) - Tracker value. The value must be non-empty and cannot be blank. This validation applies to both <code>TRACKING_CODE</code> and <code>LINK_CODE</code> tracker types.</p>\n</li>\n</ul>\n</li>\n<li><p><code>promoCode</code> (string, optional) - Promotional code associated with the registration. Can be null.</p>\n</li>\n</ul>\n<h2 id=\"response-body-description\">Response Body Description</h2>\n<p><strong>Object:</strong></p>\n<ul>\n<li><p><code>internalUserId</code> (string, required) - Internal user identifier in the aggregator provider system. This is a unique identifier generated by the system and can be used for future reference or queries.</p>\n</li>\n<li><p><code>externalUserId</code> (string, required) - User identifier from the request. If a user with this <code>externalUserId</code> and <code>brandId</code> already exists, the stored value is returned (idempotent behavior).</p>\n</li>\n<li><p><code>brandId</code> (integer, required) - Brand id from the request. If the user already exists, the stored value is returned.</p>\n</li>\n<li><p><code>createdAt</code> (long, required) - Created at timestamp when the user was registered. If the user already exists, the stored value is returned. Please refer to the common API documentation for timestamp format rules.</p>\n</li>\n<li><p><code>referrer</code> (object, optional) - Referrer information if the user was referred by an affiliate. Can be null if no referrer is associated with the user. The referrer object has the following structure:</p>\n<ul>\n<li><p><code>type</code> (enum, required) - Referrer type. Valid values:</p>\n<ul>\n<li><code>AFFILIATE</code> - User was referred by an affiliate</li>\n</ul>\n</li>\n<li><p><code>id</code> (string, required) - Referrer identifier (UUID format). Unique identifier of the referrer.</p>\n</li>\n</ul>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>**When** **`referrer`** **is null:**\n- No `tracker` was provided in the request (user registered without attribution)\n- The `tracker` value provided in the request could not be resolved to a valid referrer (affiliate)\n- The tracker value does not exist in the system or is invalid\n- No referrer was associated with the user during registration\n**When** **`referrer`** **is not null:**\n- The `tracker` value provided in the request was successfully resolved to a valid referrer\n- The system identified an affiliate associated with the tracker value\n- The referrer information is returned to indicate successful attribution\n**Idempotent behavior:**\n- If a user with the same `externalUserId` and `brandId` already exists, the stored referrer value from the original registration is returned\n- This means the referrer value (null or not null) will be the same as it was during the initial registration, regardless of the tracker value in subsequent requests\n\n</code></pre><ul>\n<li><p><code>username</code> (string, optional) - Username from the request. If the user already exists, the stored value is returned. Can be null.</p>\n</li>\n<li><p><code>name</code> (string, optional) - First name from the request. If the user already exists, the stored value is returned. Can be null.</p>\n</li>\n<li><p><code>surname</code> (string, optional) - Last name from the request. If the user already exists, the stored value is returned. Can be null.</p>\n</li>\n<li><p><code>honorific</code> (enum, optional) - Honorific from the request. If the user already exists, the stored value is returned. Please refer to the common API documentation for honorific enum values. Can be null.</p>\n</li>\n<li><p><code>locale</code> (enum, required) - Locale from the request. If the user already exists, the stored value is returned. Please refer to the common API documentation for locale enum values.</p>\n</li>\n<li><p><code>currency</code> (string, optional) - Currency code from the request. If the user already exists, the stored value is returned. Please refer to the common API documentation for currency code rules. Can be null.</p>\n</li>\n</ul>\n<h2 id=\"request-example\">Request Example</h2>\n<h3 id=\"registration-with-tracking-code\">Registration with Tracking Code</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"brandId\": 1,\n  \"externalUserId\": \"user-abc-123\",\n  \"username\": \"johndoe\",\n  \"name\": \"John\",\n  \"surname\": \"Doe\",\n  \"honorific\": \"MR\",\n  \"locale\": \"en_US\",\n  \"currency\": \"USD\",\n  \"tracker\": {\n    \"type\": \"TRACKING_CODE\",\n    \"value\": \"tracking-code-12345\"\n  },\n  \"promoCode\": \"WELCOME2024\"\n}\n\n</code></pre>\n<h3 id=\"registration-with-link-code\">Registration with Link Code</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"brandId\": 1,\n  \"externalUserId\": \"user-xyz-789\",\n  \"username\": \"janedoe\",\n  \"name\": \"Jane\",\n  \"surname\": \"Doe\",\n  \"locale\": \"en_GB\",\n  \"currency\": \"GBP\",\n  \"tracker\": {\n    \"type\": \"LINK_CODE\",\n    \"value\": \"link-code-67890\"\n  }\n}\n\n</code></pre>\n<h3 id=\"minimal-registration\">Minimal Registration</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"brandId\": 1,\n  \"externalUserId\": \"user-minimal-456\",\n  \"username\": \"minimaluser\",\n  \"locale\": \"tr_TR\",\n  \"currency\": \"TRY\",\n  \"tracker\": {\n    \"type\": \"TRACKING_CODE\",\n    \"value\": \"tracking-code-11111\"\n  }\n}\n\n</code></pre>\n<h3 id=\"registration-without-attribution\">Registration without Attribution</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"brandId\": 1,\n  \"externalUserId\": \"user-no-attribution-789\",\n  \"username\": \"directuser\",\n  \"locale\": \"en_US\",\n  \"currency\": \"USD\"\n}\n\n</code></pre>\n<h2 id=\"response-example\">Response Example</h2>\n<h3 id=\"successful-response-200-ok\">Successful Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"internalUserId\": \"internal-user-uuid-12345\",\n  \"externalUserId\": \"user-abc-123\",\n  \"brandId\": 1,\n  \"createdAt\": 1704067200000,\n  \"referrer\": null,\n  \"username\": \"johndoe\",\n  \"name\": \"John\",\n  \"surname\": \"Doe\",\n  \"honorific\": \"MR\",\n  \"locale\": \"en_US\",\n  \"currency\": \"USD\"\n}\n\n</code></pre>\n<h3 id=\"successful-response-with-referrer-200-ok\">Successful Response with Referrer (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"internalUserId\": \"internal-user-uuid-12345\",\n  \"externalUserId\": \"user-abc-123\",\n  \"brandId\": 1,\n  \"createdAt\": 1704067200000,\n  \"referrer\": {\n    \"type\": \"AFFILIATE\",\n    \"id\": \"550e8400-e29b-41d4-a716-446655440000\"\n  },\n  \"username\": \"johndoe\",\n  \"name\": \"John\",\n  \"surname\": \"Doe\",\n  \"honorific\": \"MR\",\n  \"locale\": \"en_US\",\n  \"currency\": \"USD\"\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"400-bad-request---request-validation-error\">400 Bad Request - Request Validation Error</h3>\n<p>Occurs when request validation fails. Common causes:</p>\n<ul>\n<li><p>Missing required fields</p>\n</li>\n<li><p>Invalid field formats (e.g., invalid currency code, invalid enum value)</p>\n</li>\n<li><p>Blank values for required string fields</p>\n</li>\n<li><p>Invalid tracker format or value (if tracker is provided)</p>\n</li>\n<li><p>Invalid tracker type (if tracker is provided)</p>\n</li>\n</ul>\n<p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Request validation failed\",\n  \"message\": \"Field 'currency' must be a valid currency code\"\n}\n\n</code></pre>\n<h3 id=\"400-bad-request---invalid-tracker\">400 Bad Request - Invalid Tracker</h3>\n<p>Occurs when a tracker is provided but the format or value is invalid. Common causes:</p>\n<ul>\n<li><p>Missing <code>type</code> or <code>value</code> field in tracker object</p>\n</li>\n<li><p>Invalid tracker <code>type</code> (must be <code>TRACKING_CODE</code> or <code>LINK_CODE</code>)</p>\n</li>\n<li><p>Blank or empty tracker <code>value</code></p>\n</li>\n</ul>\n<p><strong>Note:</strong> This error only occurs when a tracker object is provided. If no tracker is provided, the registration will succeed without attribution.</p>\n<p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Request validation failed\",\n  \"message\": \"Tracker value should be valid tracking code\"\n}\n\n</code></pre>\n<h3 id=\"500-internal-server-error---unknown-error\">500 Internal Server Error - Unknown Error</h3>\n<p>Occurs when an unexpected server error happens.</p>\n<p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Unknown error\",\n  \"message\": \"An unexpected error occurred\"\n}\n\n</code></pre>\n<h2 id=\"important-notes\">Important Notes</h2>\n<ol>\n<li><p><strong>Idempotency</strong>: The endpoint is idempotent. If you send the same request (same <code>externalUserId</code> and <code>brandId</code>) multiple times, you will receive the same response with the stored user data. This prevents duplicate user registrations.</p>\n</li>\n<li><p><strong>User Uniqueness</strong>: The combination of <code>externalUserId</code> and <code>brandId</code> must be unique. Attempting to register a user with the same <code>externalUserId</code> and <code>brandId</code> but different data will return the existing user.</p>\n</li>\n<li><p><strong>Tracker and Attribution</strong>:</p>\n<ul>\n<li><p>The <code>tracker</code> field is optional. If not provided, the user will be created without attribution (the <code>referrer</code> field in the response will be null)</p>\n</li>\n<li><p>If <code>tracker</code> is provided, it must contain a valid tracker object</p>\n</li>\n<li><p>The tracker <code>type</code> must be either <code>TRACKING_CODE</code> or <code>LINK_CODE</code></p>\n</li>\n<li><p>The tracker <code>value</code> must be non-empty and cannot be blank for both tracker types</p>\n</li>\n<li><p>If a valid tracker is provided and can be resolved, the <code>referrer</code> field in the response will contain the referrer information</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Currency Codes</strong>: Please refer to the common API documentation for currency code rules.</p>\n</li>\n<li><p><strong>Locale Values</strong>: Please refer to the common API documentation for locale enum values.</p>\n</li>\n<li><p><strong>Honorific Values</strong>: Please refer to the common API documentation for honorific enum values.</p>\n</li>\n<li><p><strong>Timestamp Format</strong>: Please refer to the common API documentation for timestamp format rules.</p>\n</li>\n</ol>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires authentication. Please refer to the authentication documentation for details on how to include authentication headers in your requests.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"ee5964aa-a7f4-41c1-b2fd-2f619fbe0678","id":"ee5964aa-a7f4-41c1-b2fd-2f619fbe0678","name":"Affiliate API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","affiliate","users","register"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"57b06256-4bd2-4f66-b444-72e643e15abb","name":"success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"ext_987654321\",\n    \"username\": \"mehmet.demir\",\n    \"name\": \"Mehmet\",\n    \"surname\": \"Demir\",\n    \"honorific\": \"Mr\",\n    \"locale\": \"tr_TR\",\n    \"currency\": \"TRY\",\n    \"tracker\": {\n        \"type\": \"TRACKING_CODE\",\n        \"value\": \"ABHoQxDbREpLTHMp18gbAL6wZw\"\n    },\n    \"promoCode\": \"WELCOME\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/affiliate/users/register"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"internalUserId\": \"019a3409-eace-739e-ae71-83b41d323375\",\n    \"externalUserId\": \"ext_987654321\",\n    \"brandId\": 0,\n    \"createdAt\": 1761721205143,\n    \"referrer\": {\n        \"id\": \"019a33fe-a05d-71bc-91fc-2ee9ca31ae1b\",\n        \"type\": \"AFFILIATE\"\n    },\n    \"username\": \"mehmet.demir\",\n    \"name\": \"Mehmet\",\n    \"surname\": \"Demir\",\n    \"honorific\": \"Mr\",\n    \"locale\": \"tr_TR\",\n    \"currency\": \"TRY\"\n}"},{"id":"531c0fa6-4e13-4810-a41d-8a961b208726","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic e3VzZXJuYW1lfTp7cGFzc3dvcmR9","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"externalUserId\": \"ext_987654321\",\n    \"username\": \"mehmet.demir\",\n    \"name\": \"Mehmet\",\n    \"surname\": \"Demir\",\n    \"honorific\": \"Mr\",\n    \"locale\": \"tr_TR\",\n    \"currency\": \"TRY\",\n    \"tracker\": {\n        \"type\": \"TRACKING_CODE\",\n        \"value\": \"ABHoQxDbREpLTHMp18gbAL6wZw\"\n    },\n    \"promoCode\": \"WELCOME\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/affiliate/users/register"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": 107,\n  \"errorMessage\": \"User creation failed\"\n}"}],"_postman_id":"900177fb-8166-4134-8f65-6a634cb358d3"},{"name":"Create User Financial Transaction","id":"3e963ecf-e231-4ea8-8d39-3c67aac3e13e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"externalTxId\": \"ext_787654324\",\n    \"brandId\": 0,\n    \"externalUserId\": \"ext_987654321\",\n    \"createdAt\": 1761721205143,\n    \"txType\": \"DEPOSIT\",\n    \"amount\": 100,\n    \"currency\": \"TRY\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/affiliate/users/transactions/financial/create","description":"<h1 id=\"endpoint-for-creating-affiliate-user-financial-transaction\">Endpoint for Creating Affiliate User Financial Transaction</h1>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><strong>POST</strong> <code>/external-casino-client/v1/affiliate/users/transactions/financial/create</code></p>\n<h2 id=\"description\">Description</h2>\n<p>This endpoint allows external casino systems to create financial transactions for affiliate users. The system supports idempotent operations - if a transaction with the same <code>externalTxId</code> and <code>brandId</code> already exists, the stored transaction data is returned instead of creating a duplicate.</p>\n<h2 id=\"request-body-description\">Request Body Description</h2>\n<p><strong>Object:</strong></p>\n<ul>\n<li><p><strong>brandId</strong> (integer, required) - Brand id provided by aggregator provider. Must be a valid brand identifier.</p>\n</li>\n<li><p><strong>externalTxId</strong> (string, required) - Unique identifier of the transaction in the casino system. Must be unique among all transactions for the same brand. Cannot be blank.</p>\n</li>\n<li><p><strong>externalUserId</strong> (string, required) - User identifier in the casino system. Must match a previously registered affiliate user. Cannot be blank.</p>\n</li>\n<li><p><strong>createdAt</strong> (long, required) - Timestamp when the transaction was created. Must be a valid long integer. Please refer to the common API documentation for timestamp format rules.</p>\n</li>\n<li><p><strong>txType</strong> (enum, required) - Type of financial transaction. Valid values:</p>\n<ul>\n<li><p><code>DEPOSIT</code> - Funds deposited to the user account</p>\n</li>\n<li><p><code>WITHDRAWAL</code> - Funds withdrawn from the user account</p>\n</li>\n<li><p><code>ROLLBACK</code> - Transaction rollback (requires <code>rolledBackExternalTxId</code>)</p>\n</li>\n</ul>\n</li>\n<li><p><strong>amount</strong> (integer, required) - Transaction amount. Must be a valid integer. Please refer to the common API documentation for amount format rules.</p>\n</li>\n<li><p><strong>currency</strong> (string, required) - Currency code. Must be a valid currency code and cannot be blank. Please refer to the common API documentation for currency code rules.</p>\n</li>\n<li><p><strong>rolledBackExternalTxId</strong> (string, optional) - Identifier of the transaction being rolled back. Required when <code>txType</code> is <code>ROLLBACK</code>. Must reference an existing transaction that was previously created. Can be null for <code>DEPOSIT</code> and <code>WITHDRAWAL</code> transaction types.</p>\n</li>\n</ul>\n<h2 id=\"response-body-description\">Response Body Description</h2>\n<p><strong>Object:</strong></p>\n<ul>\n<li><p><strong>txId</strong> (string, required) - Internal transaction identifier in the aggregator provider system. This is a unique identifier generated by the system and can be used for future reference or queries.</p>\n</li>\n<li><p><strong>externalTxId</strong> (string, required) - Transaction identifier from the request. If a transaction with this <code>externalTxId</code> and <code>brandId</code> already exists, the stored value is returned (idempotent behavior).</p>\n</li>\n<li><p><strong>brandId</strong> (integer, required) - Brand id from the request. If the transaction already exists, the stored value is returned.</p>\n</li>\n<li><p><strong>externalUserId</strong> (string, required) - User identifier in the casino system from the request. If the transaction already exists, the stored value is returned.</p>\n</li>\n<li><p><strong>createdAt</strong> (long, required) - Created at timestamp from the request. If the transaction already exists, the stored value is returned. Please refer to the common API documentation for timestamp format rules.</p>\n</li>\n<li><p><strong>txType</strong> (enum, required) - Transaction type from the request. Valid values: <code>DEPOSIT</code>, <code>WITHDRAWAL</code>, <code>ROLLBACK</code>. If the transaction already exists, the stored value is returned.</p>\n</li>\n<li><p><strong>amount</strong> (integer, required) - Transaction amount from the request. If the transaction already exists, the stored value is returned. Please refer to the common API documentation for amount format rules.</p>\n</li>\n<li><p><strong>currency</strong> (string, required) - Currency code from the request. If the transaction already exists, the stored value is returned. Please refer to the common API documentation for currency code rules.</p>\n</li>\n<li><p><strong>rolledBackExternalTxId</strong> (string, optional) - Identifier of the rolled back transaction from the request. Required for rollback transactions. If the transaction already exists, the stored value is returned. Can be null for <code>DEPOSIT</code> and <code>WITHDRAWAL</code> transaction types.</p>\n</li>\n</ul>\n<h2 id=\"request-example\">Request Example</h2>\n<h3 id=\"deposit-transaction\">Deposit Transaction</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"brandId\": 1,\n  \"externalTxId\": \"tx-deposit-12345\",\n  \"externalUserId\": \"user-abc-123\",\n  \"createdAt\": 1704067200000,\n  \"txType\": \"DEPOSIT\",\n  \"amount\": 10000,\n  \"currency\": \"USD\"\n}\n\n</code></pre>\n<h3 id=\"withdrawal-transaction\">Withdrawal Transaction</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"brandId\": 1,\n  \"externalTxId\": \"tx-withdrawal-67890\",\n  \"externalUserId\": \"user-abc-123\",\n  \"createdAt\": 1704067300000,\n  \"txType\": \"WITHDRAWAL\",\n  \"amount\": 5000,\n  \"currency\": \"EUR\"\n}\n\n</code></pre>\n<h3 id=\"rollback-transaction\">Rollback Transaction</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"brandId\": 1,\n  \"externalTxId\": \"tx-rollback-11111\",\n  \"externalUserId\": \"user-abc-123\",\n  \"createdAt\": 1704067400000,\n  \"txType\": \"ROLLBACK\",\n  \"amount\": 10000,\n  \"currency\": \"USD\",\n  \"rolledBackExternalTxId\": \"tx-deposit-12345\"\n}\n\n</code></pre>\n<h2 id=\"response-example\">Response Example</h2>\n<h3 id=\"successful-response-200-ok\">Successful Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"txId\": \"internal-tx-uuid-12345\",\n  \"externalTxId\": \"tx-deposit-12345\",\n  \"brandId\": 1,\n  \"externalUserId\": \"user-abc-123\",\n  \"createdAt\": 1704067200000,\n  \"txType\": \"DEPOSIT\",\n  \"amount\": 10000,\n  \"currency\": \"USD\",\n  \"rolledBackExternalTxId\": null\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"400-bad-request---request-validation-error\">400 Bad Request - Request Validation Error</h3>\n<p>Occurs when request validation fails. Common causes:</p>\n<ul>\n<li><p>Missing required fields</p>\n</li>\n<li><p>Invalid field formats (e.g., invalid currency code, invalid enum value)</p>\n</li>\n<li><p>Blank values for required string fields</p>\n</li>\n<li><p>Invalid integer or long values</p>\n</li>\n</ul>\n<p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Request validation failed\",\n  \"message\": \"Field 'currency' must be a valid currency code\"\n}\n\n</code></pre>\n<h3 id=\"400-bad-request---invalid-user\">400 Bad Request - Invalid User</h3>\n<p>Occurs when the <code>externalUserId</code> does not exist in the system (user not registered).</p>\n<p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid user\",\n  \"message\": \"User with externalUserId 'user-abc-123' not found\"\n}\n\n</code></pre>\n<h3 id=\"400-bad-request---rolled-back-transaction-not-found\">400 Bad Request - Rolled Back Transaction Not Found</h3>\n<p>Occurs when <code>txType</code> is <code>ROLLBACK</code> but the <code>rolledBackExternalTxId</code> references a transaction that does not exist.</p>\n<p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Rolled back transaction not found\",\n  \"message\": \"Transaction with externalTxId 'tx-deposit-12345' not found\"\n}\n\n</code></pre>\n<h3 id=\"400-bad-request---missing-rolled-back-transaction-id\">400 Bad Request - Missing Rolled Back Transaction ID</h3>\n<p>Occurs when <code>txType</code> is <code>ROLLBACK</code> but <code>rolledBackExternalTxId</code> is not provided.</p>\n<p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Missing rolled back transaction ID\",\n  \"message\": \"rolledBackExternalTxId is required for ROLLBACK transactions\"\n}\n\n</code></pre>\n<h3 id=\"500-internal-server-error---unknown-error\">500 Internal Server Error - Unknown Error</h3>\n<p>Occurs when an unexpected server error happens.</p>\n<p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Unknown error\",\n  \"message\": \"An unexpected error occurred\"\n}\n\n</code></pre>\n<h2 id=\"important-notes\">Important Notes</h2>\n<ol>\n<li><p><strong>Idempotency</strong>: The endpoint is idempotent. If you send the same request (same <code>externalTxId</code> and <code>brandId</code>) multiple times, you will receive the same response with the stored transaction data. This prevents duplicate transactions.</p>\n</li>\n<li><p><strong>Transaction Uniqueness</strong>: The combination of <code>externalTxId</code> and <code>brandId</code> must be unique. Attempting to create a transaction with the same <code>externalTxId</code> and <code>brandId</code> but different data will return the existing transaction.</p>\n</li>\n<li><p><strong>User Registration</strong>: The <code>externalUserId</code> must reference a user that was previously registered through the affiliate user registration endpoint.</p>\n</li>\n<li><p><strong>Rollback Transactions</strong>:</p>\n<ul>\n<li><p>When <code>txType</code> is <code>ROLLBACK</code>, the <code>rolledBackExternalTxId</code> field is required</p>\n</li>\n<li><p>The <code>rolledBackExternalTxId</code> must reference an existing transaction (DEPOSIT or WITHDRAWAL)</p>\n</li>\n<li><p>The <code>amount</code> in a rollback transaction should typically match the amount of the original transaction</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Amount Format</strong>: Please refer to the common API documentation for amount format rules.</p>\n</li>\n<li><p><strong>Currency Codes</strong>: Please refer to the common API documentation for currency code rules.</p>\n</li>\n<li><p><strong>Timestamp Format</strong>: Please refer to the common API documentation for timestamp format rules.</p>\n</li>\n</ol>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires authentication. Please refer to the authentication documentation for details on how to include authentication headers in your requests.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"ee5964aa-a7f4-41c1-b2fd-2f619fbe0678","id":"ee5964aa-a7f4-41c1-b2fd-2f619fbe0678","name":"Affiliate API","type":"folder"}},"urlObject":{"path":["external-casino-client","v1","affiliate","users","transactions","financial","create"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"13b9737a-8549-4c9e-958a-a97b1f7a72a6","name":"success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"externalTxId\": \"ext_787654324\",\n    \"brandId\": 0,\n    \"externalUserId\": \"ext_987654321\",\n    \"createdAt\": 1761721205143,\n    \"txType\": \"DEPOSIT\",\n    \"amount\": 100,\n    \"currency\": \"TRY\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/affiliate/users/transactions/financial/create"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"txId\": \"019a3404-b7f5-7b9e-abc3-1a3318c0b245\",\n    \"externalTxId\": \"ext_787654324\",\n    \"brandId\": 0,\n    \"externalUserId\": \"ext_987654321\",\n    \"createdAt\": 1761721205143,\n    \"txType\": \"DEPOSIT\",\n    \"amount\": 100,\n    \"currency\": \"TRY\"\n}"},{"id":"15ae28a4-ecf6-42ea-ad3c-14d86a19017d","name":"success rollback","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"externalTxId\": \"ext_787654324\",\n    \"brandId\": 0,\n    \"externalUserId\": \"ext_987654321\",\n    \"createdAt\": 1761721205143,\n    \"txType\": \"ROLLBACK\",\n    \"amount\": 100,\n    \"currency\": \"TRY\",\n    \"rolledBackExternalTxId\": \"ext_787654323\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/affiliate/users/transactions/financial/create"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"txId\": \"019a3404-b7f5-7b9e-abc3-1a3318c0b245\",\n    \"externalTxId\": \"ext_787654324\",\n    \"brandId\": 0,\n    \"externalUserId\": \"ext_987654321\",\n    \"createdAt\": 1761721205143,\n    \"txType\": \"ROLLBACK\",\n    \"amount\": 100,\n    \"currency\": \"TRY\",\n    \"rolledBackExternalTxId\": \"ext_787654323\"\n}"},{"id":"bb75fffd-c2a0-4f66-b182-73a3c3149344","name":"fail","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"externalTxId\": \"ext_787654324\",\n    \"brandId\": 0,\n    \"externalUserId\": \"ext_987654321\",\n    \"createdAt\": 1761721205143,\n    \"txType\": \"DEPOSIT\",\n    \"amount\": 100,\n    \"currency\": \"TRY\"\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/affiliate/users/transactions/financial/create"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n  \"errorCode\": 109,\n  \"errorMessage\": \"Invalid User\"\n}"}],"_postman_id":"3e963ecf-e231-4ea8-8d39-3c67aac3e13e"},{"name":"Get Affiliate Profile","id":"fc4bae02-8f92-4380-92c2-cda2b6df6f04","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"resolver\": {\n        \"type\": \"TRACKER\",\n        \"tracker\": {\n            \"type\": \"TRACKING_CODE\",\n            \"value\": \"AAJpzQHEQm5wU2wvSSizCB1ZwRzSeB\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/external-casino-client/v1/affiliate/profile/get","description":"<h1 id=\"endpoint-for-fetching-affiliate-profile\">Endpoint for Fetching Affiliate Profile</h1>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><strong>POST</strong> <code>/external-casino-client/v1/affiliate/profile/get</code></p>\n<h2 id=\"description\">Description</h2>\n<p>This endpoint allows external casino systems to retrieve affiliate profile information. The affiliate can be resolved either by direct ID or by a tracker (link code or tracking code).</p>\n<h2 id=\"request-body-description\">Request Body Description</h2>\n<p><strong>Object:</strong></p>\n<ul>\n<li><p><strong>brandId</strong> (integer, required) - Brand id provided by aggregator provider. Must be a valid brand identifier.</p>\n</li>\n<li><p><strong>resolver</strong> (object, required) - Defines how to resolve the affiliate. Uses polymorphic deserialization based on the <code>type</code> discriminator field. The resolver object has the following structure:</p>\n<ul>\n<li><p><strong>type</strong> (enum, required) - Resolution strategy type. Valid values:</p>\n<ul>\n<li><p><code>ID</code> - Resolve affiliate directly by identifier</p>\n</li>\n<li><p><code>TRACKER</code> - Resolve affiliate by tracker (link code or tracking code)</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<p><strong>When</strong> <strong><code>type</code></strong> <strong>is</strong> <strong><code>ID</code></strong>:</p>\n<ul>\n<li><strong>id</strong> (string, required) - Affiliate identifier in UUID format. Cannot be blank. Maximum length: 36 characters. Must reference an existing affiliate in the system.</li>\n</ul>\n<p><strong>When</strong> <strong><code>type</code></strong> <strong>is</strong> <strong><code>TRACKER</code></strong>:</p>\n<ul>\n<li><p><strong>tracker</strong> (object, required) - Tracking information used to resolve the affiliate. The tracker object has the following structure:</p>\n<ul>\n<li><p><strong>type</strong> (enum, required) - Tracker type. Valid values:</p>\n<ul>\n<li><p><code>TRACKING_CODE</code> - Tracking code type</p>\n</li>\n<li><p><code>LINK_CODE</code> - Link code type</p>\n</li>\n</ul>\n</li>\n<li><p><strong>value</strong> (string, required) - Tracker value. The value must be non-empty and cannot be blank. This validation applies to both <code>TRACKING_CODE</code> and <code>LINK_CODE</code> tracker types.<br />  <strong>When tracker</strong> <strong><code>type</code></strong> <strong>is</strong> <strong><code>TRACKING_CODE</code></strong>:</p>\n<ul>\n<li><p>The value must be a valid, non-expired tracking code token</p>\n</li>\n<li><p>The tracking code must resolve to an existing affiliate link in the system</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<p><strong>When tracker</strong> <strong><code>type</code></strong> <strong>is</strong> <strong><code>LINK_CODE</code></strong>:</p>\n<ul>\n<li><p>The value must be a valid link short code</p>\n</li>\n<li><p>The short code must reference an existing, non-deleted affiliate link in the system</p>\n</li>\n<li><p>If the link is not found, error code 204 (Affiliate link not found) is returned</p>\n</li>\n</ul>\n<h2 id=\"response-body-description\">Response Body Description</h2>\n<p><strong>Object:</strong></p>\n<ul>\n<li><p><strong>id</strong> (string, required) - Affiliate identifier in the aggregator provider system. UUID format.</p>\n</li>\n<li><p><strong>username</strong> (string, optional) - Affiliate login username. Can be null if the affiliate has no login assigned.</p>\n</li>\n<li><p><strong>profile</strong> (object, required) - Affiliate personal profile information. Contains personal details of the affiliate. The profile object has the following structure:</p>\n<ul>\n<li><p><strong>name</strong> (string, optional) - Affiliate first name. Can be null.</p>\n</li>\n<li><p><strong>surname</strong> (string, optional) - Affiliate surname. Can be null.</p>\n</li>\n<li><p><strong>country</strong> (string, required) - Country ISO 3166-1 alpha-3 code (e.g., <code>FRA</code>, <code>TUR</code>, <code>USA</code>).</p>\n</li>\n<li><p><strong>locale</strong> (string, required) - Affiliate locale code (e.g., <code>tr_TR</code>, <code>en_US</code>).</p>\n</li>\n</ul>\n</li>\n<li><p><strong>status</strong> (string, required) - Affiliate account status. Possible values: <code>ACTIVE</code>, <code>SUSPENDED</code>, <code>CLOSED</code>.</p>\n</li>\n<li><p><strong>approveStatus</strong> (string, required) - Affiliate approval status. Possible values: <code>APPROVED</code>, <code>REJECTED</code>, <code>PENDING</code>.</p>\n</li>\n<li><p><strong>companyName</strong> (string, optional) - Affiliate company name. Can be null.</p>\n</li>\n</ul>\n<h2 id=\"request-examples\">Request Examples</h2>\n<h3 id=\"resolve-by-id\">Resolve by ID</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"brandId\": 0,\n  \"resolver\": {\n    \"type\": \"ID\",\n    \"id\": \"019d495b-bd90-7887-9403-b253b853f460\"\n  }\n}\n\n</code></pre>\n<h3 id=\"resolve-by-link-code\">Resolve by Link Code</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"brandId\": 1,\n  \"resolver\": {\n    \"type\": \"TRACKER\",\n    \"tracker\": {\n      \"type\": \"LINK_CODE\",\n      \"value\": \"abc123\"\n    }\n  }\n}\n\n</code></pre>\n<h3 id=\"resolve-by-tracking-code\">Resolve by Tracking Code</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"brandId\": 1,\n  \"resolver\": {\n    \"type\": \"TRACKER\",\n    \"tracker\": {\n      \"type\": \"TRACKING_CODE\",\n      \"value\": \"AAJpzQHEQm5wU2wvSSizCB1ZwRzSeB\"\n    }\n  }\n}\n\n</code></pre>\n<h2 id=\"response-example\">Response Example</h2>\n<h3 id=\"successful-response-200-ok\">Successful Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": \"019d495b-bd90-7887-9403-b253b853f460\",\n    \"username\": \"mehmet.demir\",\n    \"name\": \"Mehmet\",\n    \"surname\": \"Demir\",\n    \"country\": \"TUR\",\n    \"locale\": \"en_US\",\n    \"status\": \"ACTIVE\",\n    \"approveStatus\": \"APPROVED\",\n    \"companyName\": \"Mehmet Soft\"\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"404-not-found---affiliate-not-found\">404 Not Found - Affiliate Not Found</h3>\n<p>Occurs when the <code>resolver.type</code> is <code>ID</code> and the provided affiliate identifier does not exist in the system.</p>\n<p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"errorCode\": 203,\n  \"errorMessage\": \"Affiliate not found\"\n}\n\n</code></pre>\n<h3 id=\"404-not-found---affiliate-link-not-found\">404 Not Found - Affiliate Link Not Found</h3>\n<p>Occurs when the <code>resolver.type</code> is <code>TRACKER</code> and the tracker value (link code or tracking code) does not resolve to an existing affiliate link.</p>\n<p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"errorCode\": 204,\n  \"errorMessage\": \"Affiliate link not found\"\n}\n\n</code></pre>\n<h3 id=\"400-bad-request---request-validation-error\">400 Bad Request - Request Validation Error</h3>\n<p>Occurs when request validation fails. Common causes:</p>\n<ul>\n<li><p>Missing required fields</p>\n</li>\n<li><p>Invalid field formats (e.g., invalid resolver type, invalid tracker type)</p>\n</li>\n<li><p>Blank values for required string fields</p>\n</li>\n<li><p><code>id</code> exceeds maximum length of 36 characters</p>\n</li>\n</ul>\n<p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"errorCode\": 3,\n  \"errorMessage\": \"Request validation failed: '...'\"\n}\n\n</code></pre>\n<h3 id=\"500-internal-server-error---unknown-error\">500 Internal Server Error - Unknown Error</h3>\n<p>Occurs when an unexpected server error happens.</p>\n<p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"errorCode\": 1,\n  \"errorMessage\": \"Unknown error\"\n}\n\n</code></pre>\n<h2 id=\"important-notes\">Important Notes</h2>\n<ol>\n<li><p><strong>Resolution Strategies</strong>: The endpoint supports two resolution strategies via the <code>resolver</code> object:</p>\n<ul>\n<li><p><code>ID</code> - Direct lookup by affiliate identifier. Fastest resolution path.</p>\n</li>\n<li><p><code>TRACKER</code> - Resolution through the affiliate tracking system. Supports both link codes and tracking codes.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Link Code Resolution</strong>: Link codes are short codes associated with affiliate links. The link must exist and not be deleted in the system.</p>\n</li>\n<li><p><strong>Affiliate Status</strong>: The response includes both <code>status</code> and <code>approveStatus</code> fields. An affiliate is considered generally active when <code>status</code> is <code>ACTIVE</code> and <code>approveStatus</code> is <code>APPROVED</code>.</p>\n</li>\n</ol>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires authentication. Please refer to the authentication documentation for details on how to include authentication headers in your requests.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"ee5964aa-a7f4-41c1-b2fd-2f619fbe0678","id":"ee5964aa-a7f4-41c1-b2fd-2f619fbe0678","name":"Affiliate API","type":"folder"}},"urlObject":{"path":["external-casino-client","external-casino-client","v1","affiliate","profile","get"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"7cfa3cd8-98cd-4848-84d9-8b683b0a064f","name":"success by tracker","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"resolver\": {\n        \"type\": \"TRACKER\",\n        \"tracker\": {\n            \"type\": \"TRACKING_CODE\",\n            \"value\": \"AAJpzQHEQm5wU2wvSSizCB1ZwRzSeB\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/affiliate/profile/get"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"id\": \"019d495b-bd90-7887-9403-b253b853f460\",\n    \"username\": \"mehmet.demir\",\n    \"profile\": {\n        \"name\": \"Mehmet\",\n        \"surname\": \"Demir\",\n        \"country\": \"TUR\",\n        \"locale\": \"en_US\"\n    },\n    \"status\": \"ACTIVE\",\n    \"approveStatus\": \"APPROVED\",\n    \"companyName\": \"Mehmet Soft\"\n}"},{"id":"04b38415-9821-43ad-a3c1-72609c5f814d","name":"success by id","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"resolver\": {\n        \"type\": \"ID\",\n        \"id\": \"019d495b-bd90-7887-9403-b253b853f460\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/affiliate/profile/get"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"id\": \"019d495b-bd90-7887-9403-b253b853f460\",\n    \"username\": \"mehmet.demir\",\n    \"profile\": {\n        \"name\": \"Mehmet\",\n        \"surname\": \"Demir\",\n        \"country\": \"TUR\",\n        \"locale\": \"en_US\"\n    },\n    \"status\": \"ACTIVE\",\n    \"approveStatus\": \"APPROVED\",\n    \"companyName\": \"Mehmet Soft\"\n}"},{"id":"6710a0eb-8745-4678-a117-f7804b0d0b65","name":"fail","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"resolver\": {\n        \"type\": \"ID\",\n        \"id\": \"019d495b-bd90-7887-9403-b253b853f460\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/affiliate/profile/get"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n  \"errorCode\": 203,\n  \"errorMessage\": \"Affiliate not found\"\n}"}],"_postman_id":"fc4bae02-8f92-4380-92c2-cda2b6df6f04"}],"id":"087a91c4-aca4-4f77-8fe2-04b86f8d0508","description":"<p>Requests sent from Casino to Aggregator Provider</p>\n","_postman_id":"087a91c4-aca4-4f77-8fe2-04b86f8d0508","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":true,"source":{"_postman_id":"ee5964aa-a7f4-41c1-b2fd-2f619fbe0678","id":"ee5964aa-a7f4-41c1-b2fd-2f619fbe0678","name":"Affiliate API","type":"folder"}}}],"id":"ee5964aa-a7f4-41c1-b2fd-2f619fbe0678","description":"<h1 id=\"step-by-step-integration-guide\">Step-by-Step Integration Guide</h1>\n<h2 id=\"table-of-contents\">Table of Contents</h2>\n<ol>\n<li><p><a href=\"#getting-started\">Getting Started</a></p>\n</li>\n<li><p><a href=\"#understanding-tracking-methods\">Understanding Tracking Methods</a></p>\n</li>\n<li><p><a href=\"#tracking-codes\">Tracking Codes</a></p>\n</li>\n<li><p><a href=\"#link-codes\">Link Codes</a></p>\n</li>\n<li><p><a href=\"#tracking-domains\">Tracking Domains</a></p>\n</li>\n</ol>\n<hr />\n<h2 id=\"getting-started\">Getting Started</h2>\n<h3 id=\"prerequisites\">Prerequisites</h3>\n<p>Before starting the integration, ensure you have:</p>\n<ul>\n<li><p>Access to the aggregator provider API</p>\n</li>\n<li><p>Your <code>brandId</code> assigned by the aggregator provider</p>\n</li>\n<li><p>Authentication credentials (API keys, tokens, etc.)</p>\n</li>\n<li><p>Understanding of your casino system's user registration flow</p>\n</li>\n</ul>\n<h3 id=\"initial-setup\">Initial Setup</h3>\n<ol>\n<li><p><strong>Contact the aggregator provider</strong> to:</p>\n<ul>\n<li><p>Obtain your <code>brandId</code></p>\n</li>\n<li><p>Get API credentials and authentication details</p>\n</li>\n<li><p>Receive API endpoint URLs</p>\n</li>\n<li><p>Understand any brand-specific requirements</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Review API Documentation</strong>:</p>\n<ul>\n<li><p>Read the Customer Registration API documentation</p>\n</li>\n<li><p>Read the Financial Transaction API documentation</p>\n</li>\n<li><p>Understand request/response format</p>\n</li>\n</ul>\n</li>\n</ol>\n<hr />\n<h2 id=\"understanding-tracking-methods\">Understanding Tracking Methods</h2>\n<p>The system supports two types of tracking for affiliate attribution:</p>\n<h3 id=\"1-tracking-codes-tracking_code\">1. Tracking Codes (<code>TRACKING_CODE</code>)</h3>\n<ul>\n<li><p><strong>What it is</strong>: A unique link transaction code that attributes each redirect from an affiliate tracking link</p>\n</li>\n<li><p><strong>How it works</strong>:</p>\n<ul>\n<li><p>Generated automatically by the aggregator system for each click/redirect (unique per click)</p>\n</li>\n<li><p>Uses a special encrypted format that contains attribution information</p>\n</li>\n<li><p>Requires a tracking domain to function</p>\n</li>\n<li><p>Clicks are counted when users click the tracking link</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Use case</strong>: When you need to track individual clicks and count redirects from affiliate links</p>\n</li>\n<li><p><strong>Format</strong>: Encrypted format generated automatically by the system</p>\n</li>\n<li><p><strong>Requirement</strong>: Requires tracking domain setup</p>\n</li>\n</ul>\n<h3 id=\"2-link-codes-link_code\">2. Link Codes (<code>LINK_CODE</code>)</h3>\n<ul>\n<li><p><strong>What it is</strong>: A static code assigned to a link that can be used to attribute users</p>\n</li>\n<li><p><strong>How it works</strong>:</p>\n<ul>\n<li><p>Generated randomly when creating a link in the Back Office</p>\n</li>\n<li><p>Static code per link (doesn't change per click)</p>\n</li>\n<li><p>Can be used with Cuttly links to survive domain blocks</p>\n</li>\n<li><p>Does not count clicks</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Use case</strong>: When you need static attribution that works with short links (Cuttly) and can survive domain blocks</p>\n</li>\n<li><p><strong>Format</strong>: Randomly generated code created in Back Office</p>\n</li>\n<li><p><strong>Note</strong>: Cannot be used for postbacks (server-to-server callbacks)</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"tracking-codes\">Tracking Codes</h2>\n<h3 id=\"what-are-tracking-codes\">What are Tracking Codes?</h3>\n<p>Tracking codes are unique link transaction codes that are automatically generated by the aggregator system for each click/redirect from an affiliate tracking link. Each tracking code:</p>\n<ul>\n<li><p>Is unique per click (not static)</p>\n</li>\n<li><p>Contains encrypted attribution information</p>\n</li>\n<li><p>Enables click counting</p>\n</li>\n<li><p>Requires a tracking domain to function</p>\n</li>\n</ul>\n<h3 id=\"how-tracking-codes-work\">How Tracking Codes Work</h3>\n<ol>\n<li><p><strong>Link Creation</strong>: An affiliate link is created with a link code in the Back Office</p>\n</li>\n<li><p><strong>User Clicks</strong>: When a user clicks the tracking link, the system automatically generates a unique tracking code</p>\n</li>\n<li><p><strong>Redirect</strong>: User is redirected to your casino with the tracking code in the <code>tid</code> query parameter</p>\n</li>\n<li><p><strong>Registration</strong>: Extract the <code>tid</code> parameter and include it in the registration request</p>\n</li>\n<li><p><strong>Attribution</strong>: The system decrypts the tracking code and attributes the user to the affiliate</p>\n</li>\n<li><p><strong>Click Counting</strong>: The click is counted when the tracking link is clicked</p>\n</li>\n</ol>\n<h3 id=\"tracking-domain-url-structure\">Tracking Domain URL Structure</h3>\n<p>Tracking codes work with tracking domains using the following structure:</p>\n<p><strong>Initial Link Format:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://tracking.com/{link-code}\n\n</code></pre><p><strong>After Click (Redirect):</strong><br />When a user clicks the tracking link, they are redirected to your casino with a <code>tid</code> parameter:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://yourcasino.com/register?tid={tracking-code}\n\n</code></pre><p>The <code>tid</code> parameter contains the automatically generated tracking code (encrypted format).</p>\n<h3 id=\"how-to-use-tracking-codes\">How to Use Tracking Codes</h3>\n<h4 id=\"step-1-extract-tracking-code-from-url\">Step 1: Extract Tracking Code from URL</h4>\n<p>When a user arrives at your registration page from a tracking domain, extract the <code>tid</code> parameter:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">// Example JavaScript\nconst urlParams = new URLSearchParams(window.location.search);\nconst trackingCode = urlParams.get('tid');\n\n</code></pre>\n<h4 id=\"step-2-include-in-registration-request\">Step 2: Include in Registration Request</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"brandId\": 1,\n  \"externalUserId\": \"user-abc-123\",\n  \"username\": \"johndoe\",\n  \"locale\": \"en_US\",\n  \"currency\": \"USD\",\n  \"tracker\": {\n    \"type\": \"TRACKING_CODE\",\n    \"value\": trackingCode\n  }\n}\n\n</code></pre>\n<h3 id=\"important-notes\">Important Notes</h3>\n<ul>\n<li><p><strong>Automatic Generation</strong>: Tracking codes are generated automatically - you don't create them manually</p>\n</li>\n<li><p><strong>Unique Per Click</strong>: Each click generates a new tracking code</p>\n</li>\n<li><p><strong>Encrypted Format</strong>: The tracking code uses a special encrypted format - don't try to decode or modify it</p>\n</li>\n<li><p><strong>Requires Tracking Domain</strong>: Tracking codes only work with properly configured tracking domains</p>\n</li>\n<li><p><strong>Click Counting</strong>: Clicks are counted automatically when users click the tracking link</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"link-codes\">Link Codes</h2>\n<h3 id=\"what-are-link-codes\">What are Link Codes?</h3>\n<p>Link codes are static codes assigned to affiliate links that can be used to attribute users. Unlike tracking codes:</p>\n<ul>\n<li><p><strong>Static</strong>: The same code is used for all clicks on a specific link</p>\n</li>\n<li><p><strong>No Click Counting</strong>: Clicks are not counted with link codes</p>\n</li>\n<li><p><strong>Cuttly Compatible</strong>: Typically used with URL shorteners like Cuttly</p>\n</li>\n<li><p><strong>Domain Block Survival</strong>: Can survive domain blocks through Cuttly link updates</p>\n</li>\n<li><p><strong>Query Parameter</strong>: Passed in the <code>p</code> query parameter</p>\n</li>\n</ul>\n<h3 id=\"how-link-codes-work\">How Link Codes Work</h3>\n<ol>\n<li><p><strong>Link Creation</strong>: When creating an affiliate link in the Back Office, a link code is randomly generated</p>\n</li>\n<li><p><strong>Link Distribution</strong>: The link code is embedded in the affiliate link (typically in a Cuttly short link)</p>\n</li>\n<li><p><strong>User Clicks Cuttly Link</strong>: When a user clicks the Cuttly link, they are redirected to your casino page</p>\n</li>\n<li><p><strong>Redirect with Parameter</strong>: The redirect includes the <code>p</code> query parameter containing the link code</p>\n</li>\n<li><p><strong>Extract Link Code</strong>: Extract the <code>p</code> parameter value from the URL</p>\n</li>\n<li><p><strong>User Registration</strong>: Include the link code in the registration request to the aggregator</p>\n</li>\n<li><p><strong>Attribution</strong>: The system uses the link code to attribute the user to the affiliate</p>\n</li>\n</ol>\n<h3 id=\"how-to-generate-link-codes\">How to Generate Link Codes</h3>\n<p>Link codes are <strong>generated randomly</strong> when you create a link in the Back Office:</p>\n<ol>\n<li><p>Access the Back Office</p>\n</li>\n<li><p>Create a new affiliate link</p>\n</li>\n<li><p>The system automatically generates a random link code for that link</p>\n</li>\n<li><p>The link code is static and remains the same for that specific link</p>\n</li>\n</ol>\n<h3 id=\"using-link-codes-with-cuttly-links\">Using Link Codes with Cuttly Links</h3>\n<h4 id=\"creating-cuttly-links\">Creating Cuttly Links</h4>\n<ol>\n<li><p><strong>Create Link in Back Office</strong>: Generate a link code through the Back Office</p>\n</li>\n<li><p><strong>Create Cuttly Short Link</strong>: Use the Back Office to create a Cuttly short link</p>\n</li>\n<li><p><strong>Link Format</strong>: The Cuttly link will redirect to your casino with the <code>p</code> query parameter containing the link code</p>\n</li>\n</ol>\n<h4 id=\"cuttly-link-flow\">Cuttly Link Flow</h4>\n<ol>\n<li><p><strong>User Clicks Cuttly Link</strong>: User clicks a Cuttly short link (e.g., <code>https://cutt.ly/xyz123</code>)</p>\n</li>\n<li><p><strong>Redirect to Casino</strong>: Cuttly redirects the user to your casino page</p>\n</li>\n<li><p><strong>URL with Parameter</strong>: The redirect URL includes the <code>p</code> query parameter: <code>https://yourcasino.com/register?p={link-code}</code></p>\n</li>\n<li><p><strong>Extract Parameter</strong>: Extract the <code>p</code> parameter value from the URL</p>\n</li>\n<li><p><strong>Report to Aggregator</strong>: Include the link code in the registration request to the aggregator API</p>\n</li>\n</ol>\n<h4 id=\"example-cuttly-link-flow\">Example Cuttly Link Flow</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>User clicks: https://cutt.ly/abc123\n↓\nCuttly redirects to: https://yourcasino.com/register?p=link-code-67890\n↓\nExtract p parameter: \"link-code-67890\"\n↓\nInclude in registration API:\n{\n  \"tracker\": {\n    \"type\": \"LINK_CODE\",\n    \"value\": \"link-code-67890\"\n  }\n}\n\n</code></pre><h4 id=\"domain-block-survival\">Domain Block Survival</h4>\n<p>If your casino's main domain gets blocked:</p>\n<ol>\n<li><p><strong>Domain Rotation</strong>: Your external system should notify the aggregator provider about the domain rotation</p>\n</li>\n<li><p><strong>Automatic Update</strong>: The aggregator provider updates all Cuttly short links with your new domain</p>\n</li>\n<li><p><strong>Link Continuity</strong>: All existing Cuttly links continue to work with the new domain</p>\n</li>\n<li><p><strong>No Link Recreation</strong>: You don't need to recreate or redistribute links</p>\n</li>\n<li><p><strong>Parameter Preservation</strong>: The <code>p</code> parameter is preserved through the domain update</p>\n</li>\n</ol>\n<h3 id=\"example-link-code-usage\">Example Link Code Usage</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">{\n  \"tracker\": {\n    \"type\": \"LINK_CODE\",\n    \"value\": \"abc123xyz789\"\n  }\n}\n\n</code></pre>\n<h3 id=\"link-code-extraction\">Link Code Extraction</h3>\n<p>Link codes are always passed in the <code>p</code> query parameter. Extract the <code>p</code> parameter value from the URL:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">// Example JavaScript - Extract p parameter\nconst urlParams = new URLSearchParams(window.location.search);\nconst linkCode = urlParams.get('p');\n\n</code></pre>\n<h4 id=\"from-cuttly-link-redirect\">From Cuttly Link Redirect</h4>\n<p>When a user clicks a Cuttly link, they are redirected to your casino page with the <code>p</code> parameter:</p>\n<p><strong>Example URL after Cuttly redirect:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://yourcasino.com/register?p=link-code-67890\n\n</code></pre><p><strong>Extract and use:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">const urlParams = new URLSearchParams(window.location.search);\nconst linkCode = urlParams.get('p'); // Returns \"link-code-67890\"\n\n</code></pre>\n<h4 id=\"from-tracking-domain-url\">From Tracking Domain URL</h4>\n<p>If using link codes with tracking domains, the URL format is:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://track.example.com/?p=abc123xyz789\n\n</code></pre><p>Extract the <code>p</code> parameter value the same way:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">const urlParams = new URLSearchParams(window.location.search);\nconst linkCode = urlParams.get('p');\n\n</code></pre>\n<h3 id=\"important-report-link-code-to-aggregator\">Important: Report Link Code to Aggregator</h3>\n<p>After extracting the <code>p</code> parameter value, you <strong>must report it back to the aggregator</strong> in the registration API request. The link code should be included in the <code>tracker</code> field:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"brandId\": 1,\n  \"externalUserId\": \"user-abc-123\",\n  \"username\": \"johndoe\",\n  \"locale\": \"en_US\",\n  \"currency\": \"USD\",\n  \"tracker\": {\n    \"type\": \"LINK_CODE\",\n    \"value\": \"link-code-67890\"\n  }\n}\n\n</code></pre>\n<h3 id=\"important-notes-1\">Important Notes</h3>\n<ul>\n<li><p><strong>Static Codes</strong>: Link codes don't change per click - same code for all users clicking the same link</p>\n</li>\n<li><p><strong>No Click Counting</strong>: Link codes do not enable click counting</p>\n</li>\n<li><p><strong>Cuttly Compatible</strong>: Can be used with Cuttly short links</p>\n</li>\n<li><p><strong>Not for Postbacks</strong>: Link codes cannot be used for server-to-server postbacks (use tracking domains instead)</p>\n</li>\n<li><p><strong>Domain Block Protection</strong>: Cuttly links with link codes can be updated when domains are blocked</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"tracking-domains\">Tracking Domains</h2>\n<h3 id=\"what-are-tracking-domains\">What are Tracking Domains?</h3>\n<p>Tracking domains are custom domains (e.g., <code>track.yourbrand.com</code>) that redirect users to your casino registration page while preserving affiliate tracking information through URL parameters. Tracking domains are required for:</p>\n<ul>\n<li><p><strong>Tracking Codes</strong>: Enable click counting and automatic tracking code generation</p>\n</li>\n<li><p><strong>Postbacks</strong>: Required for server-to-server postback callbacks</p>\n</li>\n</ul>\n<h3 id=\"how-to-create-a-tracking-domain\">How to Create a Tracking Domain</h3>\n<p>Tracking domains can be easily created via the Back Office. The process is simplified and handled through the aggregator provider's interface.</p>\n<h4 id=\"step-1-access-back-office\">Step 1: Access Back Office</h4>\n<ol>\n<li><p>Log in to the Back Office</p>\n</li>\n<li><p>Navigate to the tracking domains section</p>\n</li>\n<li><p>Select the option to create a new tracking domain</p>\n</li>\n</ol>\n<h4 id=\"step-2-provide-domain-information\">Step 2: Provide Domain Information</h4>\n<ol>\n<li><p><strong>Enter your domain</strong>: Provide the domain name you want to use (e.g., <code>trackingyourbrand.com</code>)</p>\n</li>\n<li><p><strong>Domain ownership</strong>: Ensure you have ownership rights to the domain</p>\n</li>\n<li><p><strong>Submit request</strong>: Submit the domain creation request through the Back Office</p>\n</li>\n</ol>\n<h3 id=\"back-office-benefits\">Back Office Benefits</h3>\n<p>Creating tracking domains via Back Office provides:</p>\n<ul>\n<li><p>✅ <strong>Simplified process</strong>: Easy-to-use interface for domain management</p>\n</li>\n<li><p>✅ <strong>Automatic configuration</strong>: Many settings are configured automatically</p>\n</li>\n<li><p>✅ <strong>Centralized management</strong>: Manage all tracking domains in one place</p>\n</li>\n<li><p>✅ <strong>Status monitoring</strong>: Track domain status and configuration in real-time</p>\n</li>\n</ul>\n<h3 id=\"tracking-domain-url-structure-1\">Tracking Domain URL Structure</h3>\n<h4 id=\"for-tracking-codes-with-click-counting\">For Tracking Codes (with Click Counting)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Initial Link: https://tracking.com/{link-code}\nAfter Click: https://yourcasino.com/register?tid={tracking-code}\n\n</code></pre><ul>\n<li><p><code>{link-code}</code>: The link code created in Back Office</p>\n</li>\n<li><p><code>tid</code>: Automatically generated tracking code (encrypted format) passed in redirect</p>\n</li>\n</ul>\n<h4 id=\"for-link-codes-static-attribution\">For Link Codes (Static Attribution)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://tracking.com/?p={link-code}&amp;campaign={campaign-id}&amp;source={source}\n\n</code></pre><ul>\n<li><p><code>p</code> (required): Link code identifying the affiliate</p>\n</li>\n<li><p><code>campaign</code> (optional): Campaign identifier</p>\n</li>\n<li><p><code>source</code> (optional): Traffic source identifier</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"tracking-domains-vs-cuttly-links\">Tracking Domains vs Cuttly Links</h2>\n<h3 id=\"recommendation\">Recommendation</h3>\n<ul>\n<li><p><strong>Use Tracking Domains</strong> for:</p>\n<ul>\n<li><p>Production environments requiring click counting</p>\n</li>\n<li><p>Server-to-server postbacks</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Use Cuttly Links</strong> for:</p>\n<ul>\n<li><p>When domain block survival is important</p>\n</li>\n<li><p>When click counting is not required</p>\n</li>\n<li><p>Server-to-server postbacks are not needed</p>\n</li>\n</ul>\n</li>\n</ul>\n<hr />\n<h2 id=\"integration-steps\">Integration Steps</h2>\n<h5 id=\"step-1-implement-user-registration-endpoint\">Step 1: Implement User Registration Endpoint</h5>\n<h5 id=\"step-2-implement-financial-transaction-endpoint\">Step 2: Implement Financial Transaction Endpoint</h5>\n<h5 id=\"step-3-implement-domain-rotation-notification\">Step 3: Implement Domain Rotation Notification</h5>\n<hr />\n<h2 id=\"support-and-resources\">Support and Resources</h2>\n<ul>\n<li><p><strong>API Documentation</strong>: See Customer Registration API and Financial Transaction API</p>\n</li>\n<li><p><strong>Contact</strong>: Reach out to the aggregator provider for:</p>\n<ul>\n<li><p>Tracking code generation</p>\n</li>\n<li><p>Tracking domain setup assistance</p>\n</li>\n<li><p>API credentials and access</p>\n</li>\n<li><p>Technical support</p>\n</li>\n</ul>\n</li>\n</ul>\n<hr />\n<h2 id=\"frequently-asked-questions\">Frequently Asked Questions</h2>\n<h3 id=\"q-how-do-i-know-if-a-tracking-code-is-valid\">Q: How do I know if a tracking code is valid?</h3>\n<p>A: When you register a user with a tracking code, check the <code>referrer</code> field in the response. If it's not null, the tracking code was successfully resolved to an affiliate.</p>\n<h3 id=\"q-can-i-use-both-tracking-codes-and-link-codes\">Q: Can I use both tracking codes and link codes?</h3>\n<p>A: Yes, but not in the same request. Choose one tracking method per registration. You can use different methods for different affiliates or campaigns.</p>\n<h3 id=\"q-what-happens-if-i-send-an-invalid-tracking-code\">Q: What happens if I send an invalid tracking code?</h3>\n<p>A: The user will be registered successfully, but the <code>referrer</code> field in the response will be <code>null</code>, indicating no affiliate attribution.</p>\n<h3 id=\"q-how-long-does-it-take-to-set-up-a-tracking-domain\">Q: How long does it take to set up a tracking domain?</h3>\n<p>A: The Back Office setup is quick, but DNS propagation in worst cases may take up to 24-48 hours. SSL certificates are usually handled automatically by the aggregator provider.</p>\n<h3 id=\"q-can-i-create-tracking-domains-myself\">Q: Can I create tracking domains myself?</h3>\n<p>A: Yes, tracking domains can be easily created via the Back Office. Simply log in, navigate to the tracking domains section, and follow the creation process.</p>\n<h3 id=\"q-do-i-need-technical-knowledge-to-create-a-tracking-domain\">Q: Do I need technical knowledge to create a tracking domain?</h3>\n<p>A: No</p>\n<h3 id=\"q-whats-the-difference-between-tracking-codes-and-link-codes\">Q: What's the difference between tracking codes and link codes?</h3>\n<p>A:</p>\n<ul>\n<li><p><strong>Tracking Codes</strong>: Automatically generated unique codes per click, encrypted format, enable click counting, require tracking domains</p>\n</li>\n<li><p><strong>Link Codes</strong>: Static codes generated randomly in Back Office, can be used with Cuttly links, don't count clicks, can survive domain blocks</p>\n</li>\n</ul>\n<h3 id=\"q-can-i-use-cuttly-links-for-postbacks\">Q: Can I use Cuttly links for postbacks?</h3>\n<p>A: No, Cuttly links cannot be used for server-to-server postbacks because they don't pass tracking parameters. You must use tracking domains for postbacks.</p>\n<h3 id=\"q-how-do-i-handle-domain-blocks-with-cuttly-links\">Q: How do I handle domain blocks with Cuttly links?</h3>\n<p>A: When your casino domain is blocked, notify the aggregator provider about the domain rotation via API.</p>\n<h3 id=\"q-do-tracking-codes-count-clicks\">Q: Do tracking codes count clicks?</h3>\n<p>A: Yes, tracking codes enable click counting. Clicks are counted automatically when users click the tracking link.</p>\n<h3 id=\"q-do-link-codes-count-clicks\">Q: Do link codes count clicks?</h3>\n<p>A: No, link codes do not count clicks. They only provide static attribution for user registration.</p>\n<hr />\n<h2 id=\"postbacks\">Postbacks</h2>\n<h3 id=\"what-are-postbacks\">What are Postbacks?</h3>\n<p>Postbacks are server-to-server callbacks used for:</p>\n<ul>\n<li><p><strong>Registration tracking</strong>: Notifying external systems when a user successfully registers</p>\n</li>\n<li><p><strong>Transaction tracking</strong>: Notifying external systems about financial transactions (first deposits, redeposits)</p>\n</li>\n</ul>\n<h3 id=\"postback-requirements\">Postback Requirements</h3>\n<ul>\n<li><p><strong>Must use Tracking Domains</strong>: Postbacks require tracking domains because they need to pass tracking parameters in server-to-server communication</p>\n</li>\n<li><p><strong>Cannot use Cuttly Links</strong>: Cuttly links do not work for postbacks because they don't pass tracking parameters through server-to-server calls</p>\n</li>\n</ul>\n<p>Contact the aggregator provider for specific postback implementation details and requirements.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{username}"},{"key":"password","value":"{password}"}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"33b401d6-62db-431c-999d-064a09ae7ed4"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"159ce817-922e-49d4-8601-34f8b4196fc6"}}],"_postman_id":"ee5964aa-a7f4-41c1-b2fd-2f619fbe0678"},{"name":"Error Response","item":[],"id":"d1d5244b-f0db-4d78-bfa2-de0b3e51641e","description":"<p>Error response from Casino to Aggregator Provider and vice versa is the same</p>\n<p>Status Code: <code>not 200</code></p>\n<h4 id=\"response-body-description\">Response Body Description:</h4>\n<p>Object:</p>\n<ul>\n<li><p><code>errorCode</code> (integer, required)</p>\n</li>\n<li><p><code>errorMessage</code> (string, reqiured)</p>\n</li>\n</ul>\n<p>Error Codes:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Reason</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>INTERNAL_SERVER_ERROR</td>\n</tr>\n<tr>\n<td>2</td>\n<td>INVALID_CREDENTIALS</td>\n</tr>\n<tr>\n<td>3</td>\n<td>BAD_REQUEST</td>\n</tr>\n<tr>\n<td>4</td>\n<td>DESERIALIZATION_ERROR</td>\n</tr>\n<tr>\n<td>5</td>\n<td>NETWORK_ERROR</td>\n</tr>\n<tr>\n<td>6</td>\n<td>TIMEOUT_ERROR</td>\n</tr>\n<tr>\n<td>101</td>\n<td>PROVIDER_NOT_ACTIVE</td>\n</tr>\n<tr>\n<td>102</td>\n<td>PROVIDER_ERROR</td>\n</tr>\n<tr>\n<td>103</td>\n<td>GAME_NOT_ACTIVE</td>\n</tr>\n<tr>\n<td>104</td>\n<td>GAME_NOT_FOUND</td>\n</tr>\n<tr>\n<td>105</td>\n<td>GAME_DEMO_NOT_SUPPORTED</td>\n</tr>\n<tr>\n<td>106</td>\n<td>USER_INSUFFICIENT_BALANCE</td>\n</tr>\n<tr>\n<td>107</td>\n<td>USER_CREATION_FAILED</td>\n</tr>\n<tr>\n<td>109</td>\n<td>INVALID_USER</td>\n</tr>\n<tr>\n<td>110</td>\n<td>DISABLED_USER</td>\n</tr>\n<tr>\n<td>111</td>\n<td>CURRENCY_NOT_SUPPORTED</td>\n</tr>\n<tr>\n<td>112</td>\n<td>USER_SESSION_EXPIRED</td>\n</tr>\n<tr>\n<td>113</td>\n<td>ROUND_HISTORY_NOT_SUPPORTED</td>\n</tr>\n<tr>\n<td>114</td>\n<td>FREE_SPINS_NOT_SUPPORTED</td>\n</tr>\n<tr>\n<td>115</td>\n<td>ROUND_NOT_FOUND</td>\n</tr>\n<tr>\n<td>116</td>\n<td>TRANSACTION_NOT_FOUND</td>\n</tr>\n<tr>\n<td>117</td>\n<td>PROVIDER_NOT_FOUND</td>\n</tr>\n<tr>\n<td>118</td>\n<td>LOBBY_DISABLED</td>\n</tr>\n<tr>\n<td>201</td>\n<td>ROLLED_BACK_TRANSACTION_NOT_FOUND</td>\n</tr>\n<tr>\n<td>202</td>\n<td>INVALID_ROLLED_BACK_TRANSACTION_TYPE</td>\n</tr>\n<tr>\n<td>203</td>\n<td>AFFILIATE_NOT_FOUND</td>\n</tr>\n<tr>\n<td>204</td>\n<td>AFFILIATE_LINK_NOT_FOUND</td>\n</tr>\n<tr>\n<td>205</td>\n<td>MISSING_TRACKING_CODE</td>\n</tr>\n<tr>\n<td>206</td>\n<td>INVALID_TRACKING_CODE_TOKEN</td>\n</tr>\n<tr>\n<td>207</td>\n<td>UNSUPPORTED_TRACKING_CODE_VERSION</td>\n</tr>\n<tr>\n<td>208</td>\n<td>MALFORMED_TRACKING_CODE</td>\n</tr>\n<tr>\n<td>209</td>\n<td>EXPIRED_TRACKING_CODE</td>\n</tr>\n<tr>\n<td>250</td>\n<td>DOMAIN_UPDATING_FAILED</td>\n</tr>\n</tbody>\n</table>\n</div><p>Response Example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"errorCode\": 2,\n  \"errorMessage\": \"Invalid credentials\"\n}\n\n</code></pre>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"334d1b99-d74e-48e0-9a5e-61cd2b373b7f"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"0d8ccaa8-e16b-458d-b9ea-2849241b6c22"}}],"_postman_id":"d1d5244b-f0db-4d78-bfa2-de0b3e51641e"},{"name":"General clarifications","item":[],"id":"cd1ec416-ea0f-44cd-a021-8f5c5d05ed8a","description":"<ol>\n<li><p>All responses to transaction callbacks must be idempotent</p>\n</li>\n<li><p>Rollback transaction callback can be both for bet and win transactions</p>\n</li>\n<li><p>Rollback transaction can be sent before transaction to rollback.<br /> In this case rollback should be accepted and if transaction to rollback came later, it should be accepted too and response should be successful.<br /> For both callbacks no balance changes must be processed</p>\n</li>\n<li><p>Average response time should be no more than 500 ms for good user experience. Request will be aborted if there is no response more than 5 seconds</p>\n</li>\n<li><p>In case of loss win with 0 amount will be sent</p>\n</li>\n<li><p>End round callback doesn't produce any transaction. It is notification about round end</p>\n</li>\n<li><p>Bets can be with amount 0</p>\n</li>\n<li><p>Bets with 0 amount are retriable</p>\n</li>\n<li><p>Bets with 0 amount must be always accepted</p>\n</li>\n<li><p>Bets with not 0 amount are not retriable. Failed bet will cause rollback on bet</p>\n</li>\n<li><p>Wins and Rollbacks are retriable</p>\n</li>\n<li><p>Wins and Rollbacks must be always accepted</p>\n</li>\n<li><p>If game has empty betValues, then it doesn't support free spins</p>\n</li>\n</ol>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"fad855e1-deec-4012-ba16-34dab5a76e3f"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"ea660f91-46b4-49a0-9dfc-7edd3ed55767"}}],"_postman_id":"cd1ec416-ea0f-44cd-a021-8f5c5d05ed8a"},{"name":"Domains API","item":[{"name":"Aggregator API","item":[{"name":"Update domain","id":"50129e36-dc91-43ee-b9e5-a5bb4fc3eb8c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"domain\": {\n        \"type\": \"EXTERNAL\",\n        \"name\": \"example.com\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/domains/target/update","description":"<h1 id=\"endpoint-for-updating-casino-domain\">Endpoint for Updating Casino Domain</h1>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><strong>POST</strong> <code>/external-casino-client/v1/domains/target/update</code></p>\n<h2 id=\"description\">Description</h2>\n<p>This endpoint allows external casino systems to change the current domain value of a casino. Traffic is redirected to this domain, which serves as the target for incoming traffic across various system components.</p>\n<h2 id=\"request-body-description\">Request Body Description</h2>\n<p><strong>Object:</strong></p>\n<ul>\n<li><p><code>brandId</code> (integer, required) - Brand id provided by aggregator provider. Must be a valid brand identifier.</p>\n</li>\n<li><p><code>domain</code> (string, required) - Domain to update.</p>\n<ul>\n<li><p><code>type</code> (enum, required) - Domain type. Valid values:</p>\n<ul>\n<li><code>EXTERNAL</code> - External type.</li>\n</ul>\n</li>\n<li><p><code>name</code> (string, required) - Domain name. Must be a valid domain name (for example <code>example.com</code>).</p>\n</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"response-body-description\">Response Body Description</h2>\n<p><strong>Object:</strong></p>\n<ul>\n<li><p><code>brandId</code> (integer, required) - Brand id provided by aggregator provider.</p>\n</li>\n<li><p><code>domain</code> (object, required) - Updated domain. This is the domain that was successfully updated in the system.</p>\n<ul>\n<li><p><code>type</code> (enum, required) - Domain type.</p>\n</li>\n<li><p><code>name</code> (string, required) - Updated domain name.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"path":["external-casino-client","v1","domains","target","update"],"host":["{apiUrl}"],"query":[],"variable":[]}},"response":[{"id":"556f62c6-b2b1-44c8-89a9-a0082c52ed46","name":"success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"domain\": {\n        \"type\": \"EXTERNAL\",\n        \"name\": \"example.com\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/domains/target/update"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"brandId\": 0,\n    \"domain\": \"example.com\"\n}"},{"id":"2bad69cd-c215-46ee-a08c-baafff8e7b13","name":"fail","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"brandId\": 0,\n    \"domain\": {\n        \"type\": \"EXTERNAL\",\n        \"name\": \"example.com\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{apiUrl}/external-casino-client/v1/domains/target/update"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\": 250,\n    \"errorMessage\": \"Failed to update domain\"\n}"}],"_postman_id":"50129e36-dc91-43ee-b9e5-a5bb4fc3eb8c"}],"id":"c891b7bc-28a3-4063-8e98-19146fdcac86","_postman_id":"c891b7bc-28a3-4063-8e98-19146fdcac86","description":""}],"id":"b56217b8-6ffe-4a84-9f98-418559de8588","_postman_id":"b56217b8-6ffe-4a84-9f98-418559de8588","description":""}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"76fc62fe-8096-4c04-bc57-b710c7b1732c"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"159c9776-028d-4081-be3a-cb3127d71a69"}}],"variable":[{"key":"apiUrl","value":"{apiUrl}"},{"key":"username","value":"{username}"},{"key":"password","value":"{password}"},{"key":"callbackUrl","value":"{callbackUrl}"}]}