Event Types
Sports events follow a full ticket lifecycle. All events are sent toPOST /api/v1/sport. The Kafka topic is fixed: atlas.events.raw.sportsbook.
A ticket can have multiple selections (parlay/multiple bet). Sending a
win, lose, or cashout
event with only the changed selections allows the ticket to remain open until all selections resolve.
The ticket_status reflects the overall ticket state, while each selection_status reflects individual outcomes.bet_id.
Track Ticket Open
Track Ticket Win
Track Ticket Lose
Track Ticket Cashout
Request Fields
Envelope Fields (all events)
string
required
Organization identifier.
string
required
Brand identifier.
string
required
Event type. Allowed values:
open, win, lose, cashout, refund,
cancel, pending.string
Player IP address at event time.
number
Player latitude at event time.
number
Player longitude at event time.
boolean
Marks the event as operator test traffic. When
true, the event is accepted
(202) but rerouted to an audit-only store — it never appears in analytics,
dashboards or risk scoring. Defaults to false when omitted.Ticket Fields
string
required
Your internal user identifier. Must be consistent for the player.
string
required
ISO 4217 currency code (for example:
BRL).string
required
Ticket identifier used to correlate open, win, lose and cashout events.
string
required
ISO 8601 timestamp for the event in the ticket lifecycle.
string
required
Current ticket status. Allowed values:
open, win, lose, cashout, cancel, reject, refund.string
Allowed values:
SINGLE, MULTIPLE, SYSTEM.number
Bet amount (real + bonus according to your accounting model).
number
Bonus portion of the stake.
number
Combined odds for the ticket.
string
Allowed values:
WEB, MOBILE, APP.string
Allowed values:
LIVE, PREMATCH.boolean
Indicates whether this is a virtual sports ticket.
number
Amount won.
0 or omit for open. 0 for a losing ticket.number
Balance before ticket update.
number
Balance after ticket update.
Selection Fields
array
required
Always required (min 1). For
open, send the full snapshot of all selections. For win, lose, and cashout, send only the selections that changed status.string
required
Stable selection identifier inside the ticket.
string
required
Current status of the selection. Allowed values:
open, win, lose, cashout, cancel, refund, partial_win, partial_lose.string
Chosen option inside the market (for market
1x2, the choice can be Vasco).string
Sport category (for example
Soccer, Basketball).string
League or competition name.
array
Competitor names as provided by your trading feed.
string
Home team name.
string
Away team name.
string
Market name (for example
1x2, Handicap, Total Goals).number
Odds for this selection.
boolean
Indicates whether selection was in-play.
boolean
Indicates whether selection belongs to a virtual event.
string
Match identifier in your sportsbook feed.
string
Optional event name for the selection in your feed model.