Aggregator Game Backup API (1.0.0)

Download OpenAPI specification:

Partner integration reference for the Aggregator Game Backup service.

Push your players' activity to POST /player-events, and manage per-player flags such as VIP. All requests and responses are JSON over HTTPS.

Base URL

Environment Base URL
Production https://backup.gambleaggregator.dev

Authentication

Authenticate with a JWT bearer token on every request:

Authorization: Bearer <your-jwt>

The token is ownership-scoped: it only grants access to the partner_id and players the token holder owns. Acting on behalf of a partner_id you do not own returns 403.

Route Owner checked against
POST /player-events partner_id in the JSON body
PUT /users/{id}/player/{player_id}/vip id path parameter

Identity model

Every player is addressed by a pair:

  • partner_id (a.k.a. id on the VIP route) — the partner / casino.
  • player_login (a.k.a. player_id on the VIP route) — the player within that partner.

Use the same pair consistently. Your JWT must own the partner_id you send.

Player events

Push player activity. One endpoint, many event_type values.

Event catalog

partner_id, player_login and event_type are always required. Other fields are required only for specific types:

event_type Extra required fields
game_open game_id
game_close game_id
bet amount (≥ 0)
win amount (≥ 0)
deposit amount (≥ 0)
bonus_started session_id
bonus_finished session_id
tournament_started session_id
tournament_finished session_id
big_win
complaint
session_start session_id
session_end session_id

A missing required field returns 400. The same event is safe to resend.

Ingest a player event

Records a player event. The event_type selects how the service reacts — see the Event catalog on the Player events tag for the required fields per type.

Your JWT must own the partner_id in the body.

Authorizations:
BearerAuth
Request Body schema: application/json
required
partner_id
required
string

Partner / casino identity. Required. Must be owned by your token.

player_login
required
string

Player within the partner. Required.

event_type
required
string (EventType)
Enum: "game_open" "game_close" "bet" "win" "deposit" "bonus_started" "bonus_finished" "tournament_started" "tournament_finished" "big_win" "complaint" "session_start" "session_end"

Selects how the service reacts. See the Event catalog.

session_id
string

Player session. Required for bonus_*, tournament_*, session_start, session_end.

game_id
string

Required for game_open and game_close.

amount
number <double> >= 0

Required (≥ 0) for bet, win, deposit.

currency
string

Optional ISO currency code.

object

Optional free-form JSON.

Responses

Request samples

Content type
application/json
Example
{
  • "partner_id": "casino_alpha",
  • "player_login": "player42",
  • "session_id": "sess_abc",
  • "event_type": "bet",
  • "amount": 5,
  • "currency": "EUR"
}

Response samples

Content type
application/json
{
  • "status": "ok"
}

Player flags

Per-player flags a client may set on its own players.

Set VIP status for a player

Flag (or un-flag) one of your players as VIP.

Your JWT must own id.

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: casino_alpha

Partner / casino identity. Must be owned by your token.

player_id
required
string
Example: player42

Player login within the partner.

Request Body schema: application/json
required
is_vip
required
boolean

Responses

Request samples

Content type
application/json
{
  • "is_vip": true
}

Response samples

Content type
application/json
{
  • "status": "ok"
}