Skip to main content
POST
/
api
/
tournaments
Create tournament
curl --request POST \
  --url https://ts.playservices.tech/api/api/tournaments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Test Tournament",
  "external_id": "EXT_001",
  "game": "crash-classic",
  "scheduled_start": "2023-11-07T05:31:56Z",
  "entry_fee": 10.5,
  "max_players": 50,
  "min_players": 5,
  "prize_pool": {
    "total": 500,
    "distribution": {
      "1": 50,
      "2": 30,
      "3": 20
    }
  },
  "config": {
    "tournament_type": "points_based"
  }
}
'
{
  "tournament_id": "<string>",
  "status": "<string>",
  "estimated_prize_pool": 123,
  "tournament": {
    "tournamentId": "12345",
    "name": "Daily Championship",
    "gameSlug": "crash-classic",
    "status": "scheduled",
    "scheduledStart": "2023-11-07T05:31:56Z",
    "actualStartTime": "2023-11-07T05:31:56Z",
    "completedAt": "2023-11-07T05:31:56Z",
    "maxPlayers": 100,
    "currentPlayers": 87,
    "entryFee": 10,
    "currency": "USD",
    "prizePool": {
      "totalAmount": 870,
      "currency": "USD",
      "guaranteedPrize": 500,
      "distribution": {}
    },
    "gameConfig": {},
    "createdAt": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

Operator API key with role-based permissions (tournaments.read, players.write, etc.)

Body

application/json
name
string
required
Example:

"Test Tournament"

external_id
string
required
Example:

"EXT_001"

game
string
required
Example:

"crash-classic"

scheduled_start
string<date-time>
required
entry_fee
number
required
Required range: x >= 0
Example:

10.5

max_players
integer | null

Maximum players (null for unlimited capacity)

Required range: x >= 1
Example:

50

min_players
integer
Required range: x >= 1
Example:

5

prize_pool
object
config
object
Example:
{ "tournament_type": "points_based" }

Response

Tournament created

tournament_id
string
status
string
estimated_prize_pool
number
tournament
object