statusId (fixture / future lifecycle)
The lifecycle of every fixture and future. Frozen set:
Notes:
statusNameis the translated display label (follows the language prefix);statusIdis the stable key — always branch on the ID.- Status only ever moves forward (
0 → 1 → 2, or any state →3); it never goes backwards.
period
Score, stats, and market data are keyed by a generic period vocabulary, so the same keys work across all sports. What a period means depends on the sport’s structure — use the fixture’sexpectedPeriods and periodLength to interpret it (e.g. p1 is a half in soccer, a quarter in NBA basketball, a set in tennis, a map in esports).
Whole-match keys
Numbered periods
Combined segments
Sums of consecutive periods, used where markets are offered on a combined segment:Sub-period keys (games within a set)
The period vocabulary is append-only: new sports may introduce additional keys (e.g. sub-period grids for darts legs or esports rounds). Never hard-code an exhaustive list — handle unknown period keys gracefully.
settlementStatus
Per-outcome grading returned by the settlement endpoints:
For non-clean grades (
CANCELLED / UNDECIDED) the settlement row carries a reason string explaining why.
Open taxonomies (not enums)
These vocabularies are string sets that grow over time — stable per value, but never exhaustive:marketType— market kind (1x2,totals,spreads,players-shots, …). See Concepts → Markets.eventType— in-play action types on the events channel (goal,card_yellow,corner_taken,substitution,var, …).statType— countable stat aggregates on the stats channel (score,corners,cards,aces, …).