Thrillpots Service API Documentation (0.4.38)

Download OpenAPI specification:

License: Proprietary

The API uses Bearer token security for its administrative endpoints which is retrieved from a successful call to /auth/admin endpoint. This token is a JWT token and must be passed via the Authorization header.

Currencies

Get all currencies

Get all currencies

query Parameters
sort_field
required
string

Field to sort on

sort_direction
required
integer <int32>

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

page
required
integer <int32>

Page to retrieve

limit
required
integer <int32>

Number of items to retrieve

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get currency multiplers for a brand

Get currency multiplers for a brand

path Parameters
brand_id
required
string

The brand ID to retrieve currency multipliers for

Responses

Response samples

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

Set or update currency multipliers for a specific brand

Set or update currency multipliers for a specific brand

path Parameters
brand_id
required
string

The brand ID to retrieve currency multipliers for

Responses

Response samples

Content type
application/json
null

Config/Operators

Get Operators

Get Operators

query Parameters
owner_id
required
string

Owner ID to filter by

name
required
string

An optional name filter operators with

sort_field
required
string

Field to sort on

sort_direction
required
integer <int32>

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

page
required
integer <int32>

Page to retrieve

limit
required
integer <int32>

Number of items to retrieve

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Adds or updates a batch of operators and brands

Adds or updates a batch of operators and brands

Request Body schema: application/json
required
Array
id
required
string
name
required
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

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

Retrieve details for a specific operator

Retrieve details for a specific operator

path Parameters
operator_id
required
string

The ID of the operator to retrieve

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "path": "string",
  • "name": "string",
  • "enabled": true,
  • "created_timestamp": 0,
  • "brands": [
    ]
}

Add brands to an operator

Add brands to an operator

path Parameters
operator_id
required
string

The ID of the operator or brand to update

Request Body schema: application/json
required
Array
id
required
string
name
required
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

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

Update a specific entity (operator or brand)

Update a specific entity (operator or brand)

This endpoint can be called in 2 ways:

  • /config/operators/{operator_id} - to modify an operator entity
  • /config/operators/{operator_id}/brands/{brand_id} - to modify a brand entity
path Parameters
operator_id
required
string

The ID of the operator to update

brand_id
required
string

The ID of the brand to update

Request Body schema: application/json
required
name
string or null
enabled
boolean or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "enabled": true
}

Response samples

Content type
application/json
null

Config/Segments

Retrieve the segments for a specific owner/brand

Retrieve the segments for a specific owner/brand

query Parameters
brand_id
required
string

The brand ID to retrieve segments for

name
required
string

An optional name filter for the segment

sort_field
required
string

Field to sort on

sort_direction
required
integer <int32>

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

page
required
integer <int32>

Page to retrieve

limit
required
integer <int32>

Number of items to retrieve

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add operator segments to the system

Add operator segments to the system

Request Body schema: application/json
required
Array
owner_id
required
string
id
required
string
name
string or null
priority
required
integer >= 0
Array of objects (AssignedJackpot)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

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

Delete one or more segments

Delete one or more segments

Request Body schema: application/json
required
Array
owner_id
required
string
segment_id
required
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

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

Assigns a jackpot to a segment

Assigns a jackpot to a segment

Request Body schema: application/json
required
owner_id
required
string
segment_id
required
string
instance_id
required
string

Responses

Request samples

Content type
application/json
{
  • "owner_id": "string",
  • "segment_id": "string",
  • "instance_id": "string"
}

Response samples

Content type
application/json
null

Allows the re-prioritisation of jackpots within the context of a segment

Allows the re-prioritisation of jackpots within the context of a segment

If the request contains a jackpot ID that is not currently mapped to the segment, an error will be thrown.

Request Body schema: application/json
required
brand_id
required
string
segment_id
required
string
required
object

Responses

Request samples

Content type
application/json
{
  • "brand_id": "string",
  • "segment_id": "string",
  • "priorities": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Unassign a jackpot from a segment

Unassign a jackpot from a segment

Request Body schema: application/json
required
owner_id
required
string
segment_id
required
string
instance_id
required
string

Responses

Request samples

Content type
application/json
{
  • "owner_id": "string",
  • "segment_id": "string",
  • "instance_id": "string"
}

Response samples

Content type
application/json
null

Config/Sources

Retrieve the sources for a specific owner/brand

Retrieve the sources for a specific owner/brand

query Parameters
owner_id
string or null

The owner/brand ID to retrieve sources for

source_id
string or null

The source ID to retrieve sources by

name
string or null

An optional name filter for the source

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

Add operator sources to the system

Add operator sources to the system

Request Body schema: application/json
required
Array
owner_id
required
string
source_name
required
string
source_id
required
string
Array of objects (AssignedJackpot)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

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

Delete one or more sources

Delete one or more sources

Request Body schema: application/json
required
Array
owner_id
required
string
source_id
required
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

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

Assigns a jackpot to a source

Assigns a jackpot to a source

Request Body schema: application/json
required
owner_id
required
string
source_id
required
Array of strings
instance_id
required
string

Responses

Request samples

Content type
application/json
{
  • "owner_id": "string",
  • "source_id": [
    ],
  • "instance_id": "string"
}

Response samples

Content type
application/json
null

Allows the re-prioritisation of jackpots within the context of a source

Allows the re-prioritisation of jackpots within the context of a source

If the request contains a jackpot ID that is not currently mapped to the source, an error will be thrown.

Request Body schema: application/json
required
brand_id
required
string
segment_id
required
string
required
object

Responses

Request samples

Content type
application/json
{
  • "brand_id": "string",
  • "segment_id": "string",
  • "priorities": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Unassign a jackpot from a source

Unassign a jackpot from a source

Request Body schema: application/json
required
owner_id
required
string
source_id
required
Array of strings
instance_id
required
string

Responses

Request samples

Content type
application/json
{
  • "owner_id": "string",
  • "source_id": [
    ],
  • "instance_id": "string"
}

Response samples

Content type
application/json
null

Config/Wallet

Get Wallet Configuration

Get Wallet Configuration

Responses

Response samples

Content type
application/json
{
  • "wallet_type": "string",
  • "config": null
}

set_wallet_config

Request Body schema: application/json
required
wallet_type
required
string
config
any or null

Responses

Request samples

Content type
application/json
{
  • "wallet_type": "string",
  • "config": null
}

Response samples

Content type
application/json
null

Health

Service Health

Service Health

Responses

Response samples

Content type
application/json
{
  • "version": "string",
  • "checksums": [
    ]
}

Instances

Retrieve all jackpot instances from the database

Retrieve all jackpot instances from the database

query Parameters
owner_id
string or null

Owner ID to filter by

status
string or null

Instance Status to filter by

name
string or null

Name to filter by

ids
string or null

Comma-separated list of instance IDs to filter by

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> >= 0

Page to retrieve

limit
integer or null <int32> >= 0

Number of items to retrieve

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve latest winners for instance pots

Retrieve latest winners for instance pots

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 latest winners for instance pots

Retrieve latest winners for instance pots

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": [
    ]
}

Adjust the value of a specific pot within a Jackpot Instance

Adjust the value of a specific pot within a Jackpot Instance

Request Body schema: application/json
required
instance_id
required
string

the jackpot instance ID for the request

pot_id
required
string

The pot ID of the pot that needs to be adjusted

adjustment
required
number <double>

The target value to set the pot pot to

reason
required
string

The reason for the adjustment

Responses

Request samples

Content type
application/json
{
  • "instance_id": "string",
  • "pot_id": "string",
  • "adjustment": 0.1,
  • "reason": "string"
}

Response samples

Content type
application/json
null

Adjust the value of a specific pot's seed value within a Jackpot Instance

Adjust the value of a specific pot's seed value within a Jackpot Instance

Request Body schema: application/json
required
instance_id
required
string

the jackpot instance ID for the request

pot_id
required
string

The pot ID of the pot that needs to be adjusted

adjustment
required
number <double>

The target value to set the pot pot to

reason
required
string

The reason for the adjustment

Responses

Request samples

Content type
application/json
{
  • "instance_id": "string",
  • "pot_id": "string",
  • "adjustment": 0.1,
  • "reason": "string"
}

Response samples

Content type
application/json
null

Adjust the value of a specific pot's surplus seed value within a Jackpot Instance

Adjust the value of a specific pot's surplus seed value within a Jackpot Instance

Request Body schema: application/json
required
instance_id
required
string

the jackpot instance ID for the request

pot_id
required
string

The pot ID of the pot that needs to be adjusted

adjustment
required
number <double>

The target value to set the pot pot to

reason
required
string

The reason for the adjustment

Responses

Request samples

Content type
application/json
{
  • "instance_id": "string",
  • "pot_id": "string",
  • "adjustment": 0.1,
  • "reason": "string"
}

Response samples

Content type
application/json
null

Assign a brand to the JackpotInstance

Assign a brand to the JackpotInstance

Request Body schema: application/json
required
brand_id
required
string
instance_id
required
string

Responses

Request samples

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

Response samples

Content type
application/json
null

Remove a brand from a Jackpot Instance

Remove a brand from a Jackpot Instance

Request Body schema: application/json
required
brand_id
required
string
instance_id
required
string

Responses

Request samples

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

Response samples

Content type
application/json
null

Opt a player in or out of a specific jackpot instance

Opt a player in or out of a specific jackpot instance

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

Process a bulk opt-in/opt-out request

Process a bulk opt-in/opt-out request

Depending on the content-type header, the body can either be a JackpotOptInOutBulkRequest structure (application/json) or CSV formatted data of the structure (text/csv).

Request Body schema: application/json
required
Array
instance_id
required
string

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

brand_id
required
string

The brand id that the player/contribution originates from

required
Array of objects (PlayerOptInOutItem)

The array of player IDs to opt-in to the jackpot

required
Array of objects (PlayerOptInOutItem)

The array of player IDs to opt-out of the jackpot

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "errors": {
    }
}

Retrieves all instances that the player has opted-in or opted-out of

Retrieves all instances that the player has opted-in or opted-out of

path Parameters
player_id
required
string

The player ID

brand_id
required
string

The player's brand ID

query Parameters
opted_id
string or null

Optional filter for opted-in or opted-out instances. If not specified, all records are returned

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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

ID of the player

country_code
string or null

Country of the player

segments
Array of strings 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"
}

switch_model

Request Body schema: application/json
required
source_instance_id
required
string

source instance for the model switch

template_owner_id
required
string

owner id of the template

template_id
required
string

new instance template id

target_instance_owner_id
required
string

Owner id of the new jackpot instance

target_instance_name
required
string

The name of the new jackpot instance

target_instance_game_code
string or null

If specified, this will be the "source_id" that is used in transactions to identify the jackpot

target_instance_desc
string or null

An optional description of the new Jackpot Instance

required
Array of objects (PotTransferRule)

rules how the pot values should be transferred

transfer_optins
required
boolean

should opt-ins be transferred

reason
required
string

model switch reason

dry_run
required
boolean

indicate dry run, no changes will be persisted if set

Responses

Request samples

Content type
application/json
{
  • "source_instance_id": "string",
  • "template_owner_id": "string",
  • "template_id": "string",
  • "target_instance_owner_id": "string",
  • "target_instance_name": "string",
  • "target_instance_game_code": "string",
  • "target_instance_desc": "string",
  • "pot_rules": [
    ],
  • "transfer_optins": true,
  • "reason": "string",
  • "dry_run": true
}

Response samples

Content type
application/json
{
  • "source_instance": {
    },
  • "target_instance": {
    }
}

Transfer the value of the pots of a source intances to the pots of a tarsget instance

Transfer the value of the pots of a source intances to the pots of a tarsget instance

Request Body schema: application/json
required
source_instance_id
required
string
target_instance_id
required
string
user_id
required
string
transfer_optins
required
boolean
required
Array of objects (PotTransferRule)
reason
required
string

Responses

Request samples

Content type
application/json
{
  • "source_instance_id": "string",
  • "target_instance_id": "string",
  • "user_id": "string",
  • "transfer_optins": true,
  • "pot_rules": [
    ],
  • "reason": "string"
}

Response samples

Content type
application/json
null

External Jackpot Triggering handler

External Jackpot Triggering handler

Request Body schema: application/json
required
instance_id
required
string
pot_id
required
string
brand_id
required
string
player_id
required
string
source_id
required
string

Responses

Request samples

Content type
application/json
{
  • "instance_id": "string",
  • "pot_id": "string",
  • "brand_id": "string",
  • "player_id": "string",
  • "source_id": "string"
}

Response samples

Content type
application/json
{
  • "instance_id": "string",
  • "timestamp": 0,
  • "win_amount": 0.1,
  • "win_pot_id": "string"
}

Update certain details of a JackpotInstance

Update certain details of a JackpotInstance

Details that can be updated:

  • name
  • description
Request Body schema: application/json
required
instance_id
required
string
name
string or null
description
string or null

Responses

Request samples

Content type
application/json
{
  • "instance_id": "string",
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
null

retrieve a specific jackpot instance from the database

retrieve a specific jackpot instance from the database

path Parameters
instance_id
required
string

ID of the instance to retrieve a jackpot for

query Parameters
owner_id
string or null

Owner ID to filter by

status
string or null

Instance Status to filter by

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "game_code": "string",
  • "template_id": "string",
  • "status": "Pending",
  • "name": "string",
  • "description": "string",
  • "owner_id": "string",
  • "version": 0,
  • "currency": "string",
  • "contribution_rules": {
    },
  • "house_pot": {
    },
  • "jackpot_type": "Jackpot",
  • "raffle_rules": {
    },
  • "pots": [
    ],
  • "win_selector_strategy": "Lowest",
  • "total_contributions": 0,
  • "created": 0,
  • "timestamp_start": 0,
  • "timestamp_end": 0,
  • "last_updated": 0
}

Retrieve the changelog for a JackpotInstance

Retrieve the changelog for a JackpotInstance

path Parameters
instance_id
required
string

ID of the Jackpot Instance

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add country to list of allowed countries of a Jackpot Instance

Add country to list of allowed countries of a Jackpot Instance

path Parameters
instance_id
required
string

ID of the Jackpot Instance

country_code
required
string

Country to add to the white list

Responses

Response samples

Content type
application/json
null

Remove country to list of allowed countries of a Jackpot Instance

Remove country to list of allowed countries of a Jackpot Instance

path Parameters
instance_id
required
string

ID of the Jackpot Instance

country_code
required
string

Country to add to the white list

Responses

Response samples

Content type
application/json
null

Add country to list of blacklisted countries of a Jackpot Instance

Add country to list of blacklisted countries of a Jackpot Instance

path Parameters
instance_id
required
string

ID of the instance to retrieve a jackpot for

country_code
required
string

Country of the player

Responses

Response samples

Content type
application/json
null

Remove country to list of blacklisted countries of a Jackpot Instance

Remove country to list of blacklisted countries of a Jackpot Instance

path Parameters
instance_id
required
string

ID of the instance to retrieve a jackpot for

country_code
required
string

Country of the player

Responses

Response samples

Content type
application/json
null

Retrieve the opt-in/opt-out records for a specific Jackpot Instance

Retrieve the opt-in/opt-out records for a specific Jackpot Instance

path Parameters
instance_id
required
string

ID of the Jackpot Instance

query Parameters
opted_in
boolean or null

Boolean filter on opt-in status

limit
integer or null <int64>

The number of items per page to retrieve

page
integer or null <int64>

The page of data to retrieve

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

Update the status of a jackpot instance

Update the status of a jackpot instance

path Parameters
instance_id
required
string

ID of the Jackpot Instance

query Parameters
status
required
string

New status for the Jackpot instance

Responses

Response samples

Content type
application/json
null

Contribution

Performs a player contribution to a specific jackpot.

Performs a player contribution to a specific jackpot.

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.

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
}

Provider/Contribution

Performs a player contribution to a jackpot that is bound to a specific provider

Performs a player contribution to a jackpot that is bound to a specific provider

Request Body schema: application/json
required
provider_id
required
string

The ID of the provider that this game is assigned to

instance_id
required
string

The jackpot instance ID to make the contribution to

game_code
required
string

The gamecode of the game that this jackpot is receiving a contribution from

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)

token
required
string

The session token under which the contribution has been made

player_country
required
string

The country that the player is playing from

gameround_id
string or null

The gameround/cycle ID of the source interaction (if any)

base_wager
required
number <double>

The base [game] wager

currency
required
string

Currency of the wager

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
{
  • "provider_id": "string",
  • "instance_id": "string",
  • "game_code": "string",
  • "brand_id": "string",
  • "player_id": "string",
  • "token": "string",
  • "player_country": "string",
  • "gameround_id": "string",
  • "base_wager": 0.1,
  • "currency": "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/Supported Currencies

Add one or more supported currencies ot a jackpot instance

Add one or more supported currencies ot a jackpot instance

Request Body schema: application/json
required
instance_id
required
string

The instance Id on which to modify the supported currencies

required
Array of objects (SupportedCurrencyItem)

The list of Supported Currency Items to add/delete on the target instance

Responses

Request samples

Content type
application/json
{
  • "instance_id": "string",
  • "currencies": [
    ]
}

Response samples

Content type
application/json
null

Remove one or more supported currencies from a Jackpot Instance

Remove one or more supported currencies from a Jackpot Instance

Request Body schema: application/json
required
instance_id
required
string
currencies
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "instance_id": "string",
  • "currencies": [
    ]
}

Response samples

Content type
application/json
null

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

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

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

Metrics

Metrics

Metrics

Responses

Templates

Retrieve all jackpot templates from the database

Retrieve all jackpot templates from the database

query Parameters
owner_id
required
string

Owner ID to filter by

id
required
string

Template ID to filter by

name
required
string

Name to filter by

published
required
string

Filter by published status

sort_field
required
string

Field to sort on

sort_direction
required
integer <int32>

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

page
required
integer <int32>

Page to retrieve

limit
required
integer <int32>

Number of items to retrieve

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Save or update a jackpot template in the database

Save or update a jackpot template in the database

Request Body schema: application/json
required
id
string

The jackpot template ID

name
required
string

The human readable name of the template

description
string or null

An optional description for the jackpot template

owner_id
required
string

An operator:[brand] identifier for the jackpot template If set, this template is considered to be owned by the specified operator or brand

currency
required
string

The jackpot currency (ISO-4217). All contributions that are not of the jackpot currency will be converted to jackpot currency before being processed

required
object (JackpotContributionRules)
required
object or object (ContributionType)
object or null
jackpot_type
string (JackpotType)
Enum: "Jackpot" "Raffle"
object or null
probability_factor
integer or null <int64> >= 0

The probability factor is used to determine the granularity of cost-per-attempt costing based on the original pricing defined per pot. It has a default value of 1. In order to reduce the cost-per-attempt and increase the probability range, you need to increase the value of the factor.

Example

Base currency of EUR, with a minimum contribution value set to €0.10. If the factor is set to 1, the cost-per-attempt will be set to €0.01 and the probabilities of any probability based tipping points will be left untouched when instantiating the jackpot.

However, if the factor is set to a value of 10, the cost per attempt will be reduced to €0.01 (division by 10) and the probabilities will be increased by a factor of 10 to provide the same mathematical profile of the jackpot as was initially designed.

required
Array of objects (PotTemplate)

The list of pots that will be created when the JackpotTemplate is instantiated

win_selector_strategy
string or null
Enum: "Lowest" "Highest" "None"

This enum is used to define how a winning pot is selected in the case where multiplier Jackpot pots are tipped/triggered at the same time.

reference_count
integer <int32> >= 0

A template is considered locked if a Jackpot instance exists that uses this template

published
boolean

Is template published. Only published templates can be instantiated.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "owner_id": "string",
  • "currency": "string",
  • "contribution_rules": {
    },
  • "house_hold_contribution": {
    },
  • "diversion_rules": {
    },
  • "jackpot_type": "Jackpot",
  • "raffle_rules": {
    },
  • "probability_factor": 0,
  • "pots": [
    ],
  • "win_selector_strategy": "Lowest",
  • "reference_count": 0,
  • "published": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "owner_id": "string",
  • "currency": "string",
  • "contribution_rules": {
    },
  • "house_hold_contribution": {
    },
  • "diversion_rules": {
    },
  • "jackpot_type": "Jackpot",
  • "raffle_rules": {
    },
  • "probability_factor": 0,
  • "pots": [
    ],
  • "win_selector_strategy": "Lowest",
  • "reference_count": 0,
  • "published": true
}

Creates a new jackpot instance from a specific jackpot template

Creates a new jackpot instance from a specific jackpot template This effectively loads a JackpotTemplate from the database and creates a Jackpot from it

Request Body schema: application/json
required
template_owner_id
required
string
template_id
required
string
instance_owner_id
required
string
instance_name
required
string

The name of the jackpot instance

instance_game_code
string or null

If specified, this will be the "source_id" that is used in transactions to identify the jackpot

instance_desc
string or null

An optional description of the Jackpot Instance

object or null

Responses

Request samples

Content type
application/json
{
  • "template_owner_id": "string",
  • "template_id": "string",
  • "instance_owner_id": "string",
  • "instance_name": "string",
  • "instance_game_code": "string",
  • "instance_desc": "string",
  • "schedule": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "game_code": "string",
  • "template_id": "string",
  • "status": "Pending",
  • "name": "string",
  • "description": "string",
  • "owner_id": "string",
  • "version": 0,
  • "currency": "string",
  • "contribution_rules": {
    },
  • "house_pot": {
    },
  • "jackpot_type": "Jackpot",
  • "raffle_rules": {
    },
  • "pots": [
    ],
  • "win_selector_strategy": "Lowest",
  • "total_contributions": 0,
  • "created": 0,
  • "timestamp_start": 0,
  • "timestamp_end": 0,
  • "last_updated": 0
}

Publish or withdraw ```JackpotTemplate```

Publish or withdraw JackpotTemplate

Request Body schema: application/json
required
owner_id
required
string

The owner_id of the template that should be (un)published

template_id
required
string

The ID of the template that should be published or (un)published

publish
boolean or null

Optional flag to indicate whether the template should be published or unpublished. If the value is None, the default behaviour will be to publish the template

Responses

Request samples

Content type
application/json
{
  • "owner_id": "string",
  • "template_id": "string",
  • "publish": true
}

Response samples

Content type
application/json
null

Calculates the minimum required contribution for the provided `JackpotTemplate`

Calculates the minimum required contribution for the provided JackpotTemplate

path Parameters
template_id
required
string

The template ID to load

Request Body schema: application/json
required
id
string

The jackpot template ID

name
required
string

The human readable name of the template

description
string or null

An optional description for the jackpot template

owner_id
required
string

An operator:[brand] identifier for the jackpot template If set, this template is considered to be owned by the specified operator or brand

currency
required
string

The jackpot currency (ISO-4217). All contributions that are not of the jackpot currency will be converted to jackpot currency before being processed

required
object (JackpotContributionRules)
required
object or object (ContributionType)
object or null
jackpot_type
string (JackpotType)
Enum: "Jackpot" "Raffle"
object or null
probability_factor
integer or null <int64> >= 0

The probability factor is used to determine the granularity of cost-per-attempt costing based on the original pricing defined per pot. It has a default value of 1. In order to reduce the cost-per-attempt and increase the probability range, you need to increase the value of the factor.

Example

Base currency of EUR, with a minimum contribution value set to €0.10. If the factor is set to 1, the cost-per-attempt will be set to €0.01 and the probabilities of any probability based tipping points will be left untouched when instantiating the jackpot.

However, if the factor is set to a value of 10, the cost per attempt will be reduced to €0.01 (division by 10) and the probabilities will be increased by a factor of 10 to provide the same mathematical profile of the jackpot as was initially designed.

required
Array of objects (PotTemplate)

The list of pots that will be created when the JackpotTemplate is instantiated

win_selector_strategy
string or null
Enum: "Lowest" "Highest" "None"

This enum is used to define how a winning pot is selected in the case where multiplier Jackpot pots are tipped/triggered at the same time.

reference_count
integer <int32> >= 0

A template is considered locked if a Jackpot instance exists that uses this template

published
boolean

Is template published. Only published templates can be instantiated.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "owner_id": "string",
  • "currency": "string",
  • "contribution_rules": {
    },
  • "house_hold_contribution": {
    },
  • "diversion_rules": {
    },
  • "jackpot_type": "Jackpot",
  • "raffle_rules": {
    },
  • "probability_factor": 0,
  • "pots": [
    ],
  • "win_selector_strategy": "Lowest",
  • "reference_count": 0,
  • "published": true
}

Response samples

Content type
application/json
[
  • {
    }
]

Load a specific ```JackpotTemplate``` from the database

Load a specific JackpotTemplate from the database

path Parameters
template_id
required
string or null

The template ID to load

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "owner_id": "string",
  • "currency": "string",
  • "contribution_rules": {
    },
  • "house_hold_contribution": {
    },
  • "diversion_rules": {
    },
  • "jackpot_type": "Jackpot",
  • "raffle_rules": {
    },
  • "probability_factor": 0,
  • "pots": [
    ],
  • "win_selector_strategy": "Lowest",
  • "reference_count": 0,
  • "published": true
}

v2 API

Retrieves linked jackpots for the current instance

Retrieves linked jackpots for the current instance

path Parameters
instance_id
required
string

Jackpot instance identifier

Responses

Response samples

Content type
application/json
{
  • "instance_id": "string",
  • "linked_instances": [
    ]
}

Sets linked jackpots for the current instance

Sets linked jackpots for the current instance

path Parameters
instance_id
required
string

Jackpot instance identifier

Request Body schema: application/json
required
linked_instances
required
Array of strings

Identifiers of the jackpot instances that are to be linked

Responses

Request samples

Content type
application/json
{
  • "linked_instances": [
    ]
}

Response samples

Content type
application/json
{
  • "instance_id": "string",
  • "linked_instances": [
    ]
}

Deletes linked jackpots for the current instance

Deletes linked jackpots for the current instance

path Parameters
instance_id
required
string

Jackpot instance identifier

Responses

Response samples

Content type
application/json
null

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": [
    ]
}