ThrillPots Gateway Operator API Documentation (0.4.27)

Download OpenAPI specification:Download

License:

The ThrillPots Operator API is used as the integration point between and operator's transactional environment and the ThrillPots platform. The API has been designed to support the most common use cases that operators have when integrating the Jackpot solution.

Authentication

Authenticate an external service

Request Body schema: application/json
required
username
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

Currencies

Retrieve the currency exchange rates for a specific brand

This method will retrieve the currencies applicable to a specific brand_id in the system. If the brand has not had its multipliers explicity overridden, the default currency multipliers will be returned.

path Parameters
brand_id
required
string

ID of the brand

Responses

Response samples

Content type
application/json
{
  • "brand_id": "string",
  • "base_currency": "string",
  • "multipliers": {
    }
}

Event Stream

Endpoint to handle subscription for jackpot events

Once a websocket connection is established, this method will enter a loop which will periodically publish the status of all active jackpots to the client connection.

Upon successful connection, the client is required to authenticate the websocket

Refer to the official documentation for more information

Responses

Response samples

Content type
application/json
null

Health

Health check endpoint

Responses

Response samples

Content type
application/json
{
  • "version": "string"
}

Instances/Raffles

Retrieves all tickets for the current instance of the raffle

path Parameters
instance_id
required
string
query Parameters
brand_id
string or null
sort_field
string or null

Field to sort on

sort_direction
integer or null <int32>

Direction to sort in (1 = ASC, -1 = DESC)

page
integer or null <int32>

Page to retrieve

limit
integer or null <int32>

Number of items to retrieve

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieves all tickets allocated to a specific player for the current instance of the raffle

path Parameters
player_id
required
string
instance_id
required
string
brand_id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all raffle tickets that a player has earned for all active raffles in the system **at the time of request**

path Parameters
player_id
required
string
brand_id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Contribution

Performs a player contribution to a specific jackpot.

If callback is specified, then the contribution is performed asynchronously and this method will respond immediately with either an empty 200 OK or a related error message

Request Body schema: application/json
required
instance_id
required
string

The jackpot instance ID to make the contribution to

token
required
string

The session token under which the contribution has been made

brand_id
required
string

The brand id that the player/contribution originates from

player_id
required
string

The player id that generated the contribution

player_country
required
string

The country that the player is playing from

gameround_id
string or null

The gameround/cycle ID of the source user flow that caused the contribution to happen. For example, if a player made a bet on a game, this would be the game's gameround ID. If a player made a successful deposit, this would be the deposit's identifier. This field is stored by ThrillPots and is used a back-reference to the original user action that caused the contribution to happen.

base_wager
required
number <double>

The base [game] wager (if any)

currency
required
string

Currency of the wager

object or null
metadata
any or null

Opaque data object that contains pass-through data for the caller. The content of this property will be sent back on the JackpotContributionResponse to this request

Responses

Request samples

Content type
application/json
{
  • "instance_id": "string",
  • "token": "string",
  • "brand_id": "string",
  • "player_id": "string",
  • "player_country": "string",
  • "gameround_id": "string",
  • "base_wager": 0.1,
  • "currency": "string",
  • "callback": {
    },
  • "metadata": null
}

Response samples

Content type
application/json
{
  • "instance_id": "string",
  • "timestamp": 0,
  • "gameround_id": "string",
  • "win_amount": 0.1,
  • "win_pot_id": "string",
  • "tickets_awarded": 0,
  • "win_withheld": true,
  • "contribution_currency": "string",
  • "contribution_amount": 0.1,
  • "metadata": null
}

Performs a player contribution to a jackpot that is bound to a specified source.

If callback is specified, then the contribution is performed asynchronously and this method will respond immediately with either an empty 200 OK or a related error message

Request Body schema: application/json
required
token
required
string

The session token under which the contribution has been made

brand_id
required
string

The brand id that the player/contribution originates from

player_id
required
string

The player id that generated the contribution

player_country
required
string

The country that the player is playing from

segments
Array of strings or null

Any segments that the player might be part of

source_id
required
string

ID of the source system that was played to generate the contribution (for example, if the contribution was generated through gameplay, this could contain the game’s gamecode identifier)

gameround_id
string or null

The gameround/cycle ID of the source user flow that caused the contribution to happen. For example, if a player made a bet on a game, this would be the game's gameround ID. If a player made a successful deposit, this would be the deposit's identifier. This field is stored by ThrillPots and is used a back-reference to the original user action that caused the contribution to happen.

base_wager
required
number <double>

The base [game] wager (if any)

currency
required
string

Currency of the wager

object or null
metadata
any or null

Opaque data object that contains pass-through data for the caller. The content of this property will be sent back on the JackpotContributionResponse to this request.

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "brand_id": "string",
  • "player_id": "string",
  • "player_country": "string",
  • "segments": [
    ],
  • "source_id": "string",
  • "gameround_id": "string",
  • "base_wager": 0.1,
  • "currency": "string",
  • "callback": {
    },
  • "metadata": null
}

Response samples

Content type
application/json
{
  • "instance_id": "string",
  • "timestamp": 0,
  • "gameround_id": "string",
  • "win_amount": 0.1,
  • "win_pot_id": "string",
  • "tickets_awarded": 0,
  • "win_withheld": true,
  • "contribution_currency": "string",
  • "contribution_amount": 0.1,
  • "metadata": null
}

Instances

Retrieve latest winners for brands instance

path Parameters
instance_id
required
string

ID of the instance to retrieve a jackpot winners for

query Parameters
limit
integer or null <int32> >= 0

Number of winners

brand_id
string or null

ID of the winners' brand

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve latest pot winners for brands instance

path Parameters
instance_id
required
string

ID of the instance to retrieve a jackpot winners for

query Parameters
limit
integer or null <int32> >= 0

Number of winners

brand_id
string or null

ID of the winners' brand

Responses

Response samples

Content type
application/json
{
  • "property1": [
    ],
  • "property2": [
    ]
}

Retrieve the jackpot instance that is available for a specific game, brand and country

path Parameters
source_id
required
string

ID of the source to retrieve a jackpot for

brand_id
required
string

ID of the brand of the source

query Parameters
player_id
required
string

ID of the player

country_code
required
string

Country of the player

segments
string or null

Comma separated list of segments the player belongs to

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "currency": "string",
  • "opt_in_required": true,
  • "contribution_type": {
    },
  • "optin_status": {
    },
  • "pots": [
    ],
  • "timestamp_start": 0,
  • "timestamp_end": 0,
  • "status": "Pending"
}

Opt-in / Opt-out for players

Request Body schema: application/json
required
instance_id
required
string

The jackpot id for the opt-in/opt-out request

player_id
required
string

The player id for the opt-in/opt-out request

brand_id
required
string

The brand path (operator_id:brand_id) that the player/contribution originates from

player_country
required
string

The country that the player is playing from (ISO-3166-2 country code)

opt_in
required
boolean

Flag indicating whether the player is opting in or out of the jackpot contributions

contribution_value
string or null

[Optional] Indicates the value of the bet the player wishes to make on each contribution

Responses

Request samples

Content type
application/json
{
  • "instance_id": "string",
  • "player_id": "string",
  • "brand_id": "string",
  • "player_country": "string",
  • "opt_in": true,
  • "contribution_value": "string"
}

Response samples

Content type
application/json
null

Metrics

Metrics

Responses

Sources

Retrieve sources for a specific brand.

A source represents a unique point in the player journey from where a jackpot contribution can originate from.

For example, a source could be a game code (for game-driven contributions), or 'sportsbook' or event 'deposit-flow' for non-gaming related jackpot contributions.

query Parameters
owner_id
required
string

The owner/brand ID to retrieve sources for

name
string or null

An optional name filter for the source

Responses

Response samples

Content type
application/json
[
  • {
    }
]