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 (grids within a period)
Sub-period keys follow one shape:p{X}{axis}{Y} — unit Y within period X. Two axes exist today.
The period vocabulary is append-only: new sports may introduce additional keys, and new axes may join
g and r
(darts legs are a likely next one). Never hard-code an exhaustive list — handle unknown period keys gracefully.
Parsing `p` structurally is safer than matching a fixed set of strings.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, …).