Download OpenAPI specification:
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.
Authenticate an external service
username required | string |
password required | string |
{- "username": "string",
- "password": "string"
}
{- "token": "string"
}
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.
brand_id required | string ID of the brand |
{- "brand_id": "string",
- "base_currency": "string",
- "multipliers": {
- "property1": 0.1,
- "property2": 0.1
}
}
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
null
Retrieves all tickets for the current instance of the raffle
instance_id required | string |
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 |
[- {
- "instance_id": "string",
- "brand_id": "string",
- "player_id": "string",
- "ext_player_id": "string",
- "ticket_count": 0,
- "accumulated_cost": "string",
- "timestamp_start": 0,
- "timestamp_end": 0
}
]
Retrieves all tickets allocated to a specific player for the current instance of the raffle
player_id required | string |
instance_id required | string |
brand_id required | string |
[- {
- "instance_id": "string",
- "brand_id": "string",
- "player_id": "string",
- "ext_player_id": "string",
- "ticket_count": 0,
- "accumulated_cost": "string",
- "timestamp_start": 0,
- "timestamp_end": 0
}
]
Retrieve all raffle tickets that a player has earned for all active raffles in the system at the time of request
player_id required | string |
brand_id required | string |
[- {
- "instance_id": "string",
- "brand_id": "string",
- "player_id": "string",
- "ext_player_id": "string",
- "ticket_count": 0,
- "accumulated_cost": "string",
- "timestamp_start": 0,
- "timestamp_end": 0
}
]
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
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 ) |
{- "instance_id": "string",
- "token": "string",
- "brand_id": "string",
- "player_id": "string",
- "player_country": "string",
- "gameround_id": "string",
- "base_wager": 0.1,
- "currency": "string",
- "callback": {
- "win_result_only": true,
- "web_hook": "string"
}, - "idempotency_key": "string",
- "metadata": null,
- "event_metadata": null
}
{- "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
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 ) |
{- "token": "string",
- "brand_id": "string",
- "player_id": "string",
- "player_country": "string",
- "segments": [
- "string"
], - "source_id": "string",
- "gameround_id": "string",
- "base_wager": 0.1,
- "currency": "string",
- "callback": {
- "win_result_only": true,
- "web_hook": "string"
}, - "idempotency_key": "string",
- "metadata": null,
- "event_metadata": null
}
{- "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
}
Retrieve latest winners for brands instance
instance_id required | string ID of the instance to retrieve a jackpot winners for |
limit | integer or null <int32> >= 0 Number of winners |
brand_id | string or null ID of the winners' brand |
[- {
- "win_pot_id": "string",
- "win_amount": 0.1,
- "jackpot_currency": "string",
- "player_id": "string",
- "timestamp": 0,
- "brand_id": "string"
}
]
Retrieve latest pot winners for brands instance
instance_id required | string ID of the instance to retrieve a jackpot winners for |
limit | integer or null <int32> >= 0 Number of winners |
brand_id | string or null ID of the winners' brand |
{- "property1": [
- {
- "win_pot_id": "string",
- "win_amount": 0.1,
- "jackpot_currency": "string",
- "player_id": "string",
- "timestamp": 0,
- "brand_id": "string"
}
], - "property2": [
- {
- "win_pot_id": "string",
- "win_amount": 0.1,
- "jackpot_currency": "string",
- "player_id": "string",
- "timestamp": 0,
- "brand_id": "string"
}
]
}
Retrieve the jackpot instance that is available for a specific game, brand and country
source_id required | string ID of the source to retrieve a jackpot for |
brand_id required | string ID of the brand of the source |
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 |
{- "id": "string",
- "currency": "string",
- "opt_in_required": true,
- "contribution_type": {
- "Fixed": 0.1
}, - "optin_status": {
- "instance_id": "string",
- "player_id": "string",
- "ext_player_id": "string",
- "player_brand_id": "string",
- "preferred_contribution_value": 0.1,
- "preferred_contribution_currency": "string",
- "contribution_count": 0,
- "contribution_value": 0.1,
- "pot_contributions": {
- "property1": {
- "contribution_count": 0,
- "contribution_value": 0.1
}, - "property2": {
- "contribution_count": 0,
- "contribution_value": 0.1
}
}, - "opted_in": true,
- "last_updated": 0
}, - "pots": [
- {
- "id": "string",
- "enabled": true,
- "contribution": {
- "Fixed": 0.1
}, - "payout_ruleset": {
- "main_winner_percentage": 0.1,
- "admin_fee": 0.1,
- "payout_rules": [
- {
- "payout_percentage": 0.1,
- "rule": {
- "ActivePlayers": {
- "period_before_win": 0,
- "max_number_of_payouts": 0
}
}
}
]
}, - "seed_contribution": {
- "Fixed": 0.1
}, - "seed_strategy": {
- "initial_seed_value": 0.1,
- "min_reseed_value": 0.1,
- "fund_strategy": "CollectToMinReseed",
- "reseed_strategy": "Full"
}, - "win_constraints": [
- {
- "AllowedSeedDeficit": "string"
}
], - "instance_count": 0,
- "timestamp_created": 0,
- "supports_external_trigger": true,
- "is_progressive": true,
- "surplus_seed": 0.1,
- "contributed_amount": 0.1,
- "contributed_seed": 0.1,
- "seed_value": 0.1,
- "current_value": 0.1,
- "pot_types": [
- {
- "Time": {
- "start_time": 0,
- "end_time": 0
}
}
], - "criteria": {
- "min_base_wager": 0,
- "min_contribution": 0
}, - "maximum_pot_value": "string",
- "overflow_amount": 0.1,
- "total_contributions": 0
}
], - "timestamp_start": 0,
- "timestamp_end": 0,
- "status": "Pending"
}
Opt-in / Opt-out for players
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 |
{- "instance_id": "string",
- "player_id": "string",
- "brand_id": "string",
- "player_country": "string",
- "opt_in": true,
- "contribution_value": "string",
- "contribution_currency": "string"
}
null
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.
owner_id required | string The owner/brand ID to retrieve sources for |
name | string or null An optional name filter for the source |
[- {
- "owner_id": "string",
- "source_name": "string",
- "source_id": "string",
- "jackpots": [
- {
- "priority": 0,
- "owner_id": "string",
- "instance_id": "string"
}
]
}
]
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
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) |
{- "target": {
- "id": "string",
- "type": "instance"
}, - "source": {
- "id": "string",
- "type": "gameround"
}, - "operator_id": "string",
- "player": {
- "id": "string",
- "token": "string",
- "country": "string",
- "brand_id": "string",
- "segments": [
- "string"
]
}, - "base_wager": {
- "currency": "string",
- "value": 0.1
}, - "metadata": null,
- "event_metadata": null,
- "options": {
- "vertical_id": "string",
- "allow_linked_contributions": true,
- "callback": {
- "win_result_only": true,
- "web_hook": "string"
}, - "idempotency_key": "string"
}
}
[- {
- "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
}
]
Opt-in V2 Opt a player in or out of a specific jackpot instance or one bound to a source. Allows linked opt-ins.
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 |
{- "target": {
- "id": "string",
- "type": "instance"
}, - "operator_id": "string",
- "player": {
- "id": "string",
- "country": "string",
- "brand_id": "string",
- "segments": [
- "string"
]
}, - "contribution_preference": {
- "currency": "string",
- "value": 0.1
}, - "opt_in": true,
- "opt_linked": true
}
{- "success": [
- "string"
], - "failed": [
- "string"
]
}