Message Parameters

Detailed reference for the CloudEvents envelope and all nested data fields.

CloudEvents Envelope

FieldTypeRequiredDescription
idstring (UUID)YesUUID v4 — unique per message
sourcestringYesAlways "/odds-third-parties-provider/otpp:1.0/mma/1/1"
specversionstringYesAlways "1.0"
typestringYesOne of the S3P type strings (see Message Types)
datacontenttypestringNo"application/json"
subjectstringYes"sport_event:match:{matchId}" for odds; "match:{matchId}" for rollback
timestring (ISO 8601)YesMessage timestamp
data_base64stringNoBase64 encoded placeholder ("Zm9vYg==")
dataobjectYesMain payload
is_replaybooleanNotrue when message is generated in replay/correction mode

data.action Values

ValueWhen Used
ADDInitial message (snapshot, first delta, settlement, rollback)
UPDATESubsequent delta updates, deactivation updates
DELETEMarket removal (rare)

Odds Data Fields

FieldTypeRequiredDescription
data.sportstringYes"MIXED_MARTIAL_ARTS"
data.idstring (UUID)YesSame as envelope id
data.actionstringYes"ADD", "UPDATE", or "DELETE"
data.created_atstring (ISO 8601)YesCreation timestamp
data.payloadobjectYesEvent payload container

Payload Fields

FieldTypeRequiredDescription
payload.event_timestring (ISO 8601)YesEvent timestamp
payload.typestringYese.g. "Event.Betting.OddsChanges"
payload.betting_headerobjectYesEvent + source identification
payload.marketsarrayYesArray of market objects with odds (odds messages)
payload.settlementsarrayYesArray of settlement objects (settlement/rollback messages)
payload.betting_event_stateobjectNoCurrent fight state (round, clock, competitors)

Betting Header Fields

FieldTypeRequiredDescription
betting_event.typestringYes"SPORT_EVENT"
betting_event.entity_reference.idstringYes"match:{matchId}"
producerstringYes"LIVE"
source.providerstringYes"ODDS_THIRD_PARTIES_PROVIDER"
source.partnerstringYesYour partner identifier

Event State Fields

FieldTypeRequiredDescription
typestringYes"State.Sport.MIXED_MARTIAL_ARTS.SportEvent.SportEventState"
sport_event.idstringYes"match:{matchId}"
valid_atstring (ISO 8601)YesState validity timestamp
sport_event_statusstringYes"IN_PROGRESS"
round.numbernumberYesCurrent round number
sport_event_clockstringYesISO 8601 duration (e.g. "PT1M43S")
sport_event_clock_runningbooleanYesWhether the clock is running
match_clockstringYesHuman-readable clock (e.g. "3:17")
competitorsarrayYesTwo competitors with "competitor:" IDs