Creating a freespin campaign
Overview
| Request type | URL |
|---|---|
| POST | <server-pixmove-games>/freespins/create |
This method allows you to create a freespin campaign. The parameters of this campaign will determine how freespins are distributed.
How it works
The implementation of freespins involves two main entities: a freespin campaign and freespins. Within a single freespin campaign, a user can receive only one set of freespins.
A freespin campaign is a general promotion that a partner can create. Based on its parameters, players will be awarded freespins.
Freespins are complimentary spins that are credited to players when they enter the game.
When a player enters the game, the system checks if they match the campaign’s conditions (e.g., correct currency, game, or specific player identifier). If they qualify, the player receives the freespins.
Parameters
Request
If the freespin campaign creation request does not specify parameters like currencies, gameIds, or playerIds, the freespins will be awarded to all players.
Example: If the request only specifies gameIds = [1], freespins will be granted to all players in any currency who enter the game with ID = 1.
The strictBetLevel parameter:
- true guarantees freespins only at the specified betLevel; if unavailable, no freespins are granted.
- false (default) uses the nearest betLevel if the required one is unavailable.
| Name | Type | Description | |
|---|---|---|---|
| campaignExtId | string | Unique identifier of the campaign in the partner's system | |
| spinCount | bigint | Number of freespins | |
| partnerId | bigint | Unique partner identifier | |
| betLevel | bigint | Desired bet size (bet levels) | |
| strictBetLevel | boolean | optional | Enable mandatory betLevel match for freespins (default - false ) |
| betLevelCurrency | string | optional | Currency of betLevel (default "USD") |
| startTime | string | Time of campaign start in ISO 8601 format | |
| endTime | string | Time of campaign end in ISO 8601 format | |
| hash | string | Signature (sha256 from encryption string) | |
| maxWin | string | optional | Maximum winning amount in betLevelCurrency (default - not limited) |
| minWin | string | optional | Minimum winning amount in betLevelCurrency (default - "0") |
| currencies | array | optional | Currencies for which freespins will be issued |
| gameIds | array | optional | Game identifiers for which freespins will be issued |
| playerIds | array | optional | Player identifiers for which freespins will be issued |
String to hash
“freespins_create” + campaignExtId + spinCount + partnerId + betLevel + apiKey
Response
| Name | Type | Description |
|---|---|---|
| id | bigint | Unique identifier of the campaign |
Example
Request
{
campaignExtId: 1,
spinCount: 20,
betLevel: 8,
betLevelCurrency: 'USD',
strictBetLevel: true,
maxWin: '10000000',
minWin: '200',
partnerId: 1,
startTime: '2025-07-01T15:04:32.384Z',
endTime: '2025-07-07T15:04:32.384Z',
currencies: ['RUB', 'USD', 'EUR'],
playerIds: ['1', '2', '3'],
gameIds: [1, 2, 3, 4, 5],
hash: '123'
}Response
{
"status": "success",
"data": {
"id": 713
},
"serverTime": 1748437219129,
"duration": 334
}