ThrillPots Gateway Operator API Documentation (0.4.38)

Download OpenAPI specification:

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

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

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

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

Health check endpoint

Responses

Response samples

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

Instances/Raffles

Retrieves all tickets for the current instance of the raffle

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

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**

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.

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 (OperatorPlayerID)

Represents a player's ID on an operator or aggregators system)

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
idempotency_key
string or null

Optional field used to enforce request idempotency When supplied, the key is used to check if this request has been received before. If a duplicate, a 204 status is returned with the same header data ad the original request

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

event_metadata
any or null

Opaque data object that contains pass-through data for the caller. The content of this property will be attached to any resulting events. ( win events at that stage )

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": {
    },
  • "idempotency_key": "string",
  • "metadata": null,
  • "event_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.

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 (OperatorPlayerID)

Represents a player's ID on an operator or aggregators system)

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
idempotency_key
string or null

Optional field used to enforce request idempotency When supplied, the key is used to check if this request has been received before. If a duplicate, a 204 status is returned with the same header data ad the original request

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.

event_metadata
any or null

Opaque data object that contains pass-through data for the caller. The content of this property will be attached to any resulting events. ( win events at that stage )

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": {
    },
  • "idempotency_key": "string",
  • "metadata": null,
  • "event_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

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

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

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

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 (OperatorPlayerID)

Represents a player's ID on an operator or aggregators system)

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

contribution_currency
string or null

[Optional] Indicates the currency of the preferred contribution value. If contribution_value is set but contribution_currency is not, the currency will default to the jackpot base currency

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",
  • "contribution_currency": "string"
}

Response samples

Content type
application/json
null

Metrics

Metrics

Metrics

Responses

Sources

Retrieve sources for a specific brand.

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
[
  • {
    }
]

v2 API

Contribute to Jackpot V2

Contribute to Jackpot V2 Performs a player contribution to a specific jackpot or a jackpot bound to a source as well as all instances that are linked to it. If options.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
required
object (ContributionTarget)
required
object (SourceOfContribution)
operator_id
required
string

The operator ID that the player/contribution originates from

required
object (PlayerRecord)
required
object (CurrencyValue)
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.

event_metadata
any or null

Opaque data object that contains pass-through data for the caller. The content of this property will be attached to any resulting events. ( win events at that stage )

object (JackpotContributionRequestV2Options)

Responses

Request samples

Content type
application/json
{
  • "target": {
    },
  • "source": {
    },
  • "operator_id": "string",
  • "player": {
    },
  • "base_wager": {
    },
  • "metadata": null,
  • "event_metadata": null,
  • "options": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Opt-in V2

Opt-in V2 Opt a player in or out of a specific jackpot instance or one bound to a source. Allows linked opt-ins.

Request Body schema: application/json
required
required
object (ContributionTarget)
operator_id
required
string

The operator ID that the player/request originates from

required
object (PlayerRecordOptInOut)
object (ContributionPreference)
opt_in
required
boolean

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

opt_linked
boolean

[Optional] Indicates whether optin / optout should be applied to linked jackpots as well Preferred contribution value is not applied to linked jackpots, instead default is used

Responses

Request samples

Content type
application/json
{
  • "target": {
    },
  • "operator_id": "string",
  • "player": {
    },
  • "contribution_preference": {
    },
  • "opt_in": true,
  • "opt_linked": true
}

Response samples

Content type
application/json
{
  • "success": [
    ],
  • "failed": [
    ]
}