Message Parameters
Detailed reference for the CloudEvents envelope and all nested data fields.
CloudEvents Envelope
| Field | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Yes | UUID v4 — unique per message |
| source | string | Yes | Always "/odds-third-parties-provider/otpp:1.0/mma/1/1" |
| specversion | string | Yes | Always "1.0" |
| type | string | Yes | One of the S3P type strings (see Message Types) |
| datacontenttype | string | No | "application/json" |
| subject | string | Yes | "sport_event:match:{matchId}" for odds; "match:{matchId}" for rollback |
| time | string (ISO 8601) | Yes | Message timestamp |
| data_base64 | string | No | Base64 encoded placeholder ("Zm9vYg==") |
| data | object | Yes | Main payload |
| is_replay | boolean | No | true when message is generated in replay/correction mode |
data.action Values
| Value | When Used |
|---|---|
| ADD | Initial message (snapshot, first delta, settlement, rollback) |
| UPDATE | Subsequent delta updates, deactivation updates |
| DELETE | Market removal (rare) |
Odds Data Fields
| Field | Type | Required | Description |
|---|---|---|---|
| data.sport | string | Yes | "MIXED_MARTIAL_ARTS" |
| data.id | string (UUID) | Yes | Same as envelope id |
| data.action | string | Yes | "ADD", "UPDATE", or "DELETE" |
| data.created_at | string (ISO 8601) | Yes | Creation timestamp |
| data.payload | object | Yes | Event payload container |
Payload Fields
| Field | Type | Required | Description |
|---|---|---|---|
| payload.event_time | string (ISO 8601) | Yes | Event timestamp |
| payload.type | string | Yes | e.g. "Event.Betting.OddsChanges" |
| payload.betting_header | object | Yes | Event + source identification |
| payload.markets | array | Yes | Array of market objects with odds (odds messages) |
| payload.settlements | array | Yes | Array of settlement objects (settlement/rollback messages) |
| payload.betting_event_state | object | No | Current fight state (round, clock, competitors) |
Betting Header Fields
| Field | Type | Required | Description |
|---|---|---|---|
| betting_event.type | string | Yes | "SPORT_EVENT" |
| betting_event.entity_reference.id | string | Yes | "match:{matchId}" |
| producer | string | Yes | "LIVE" |
| source.provider | string | Yes | "ODDS_THIRD_PARTIES_PROVIDER" |
| source.partner | string | Yes | Your partner identifier |
Event State Fields
| Field | Type | Required | Description |
|---|---|---|---|
| type | string | Yes | "State.Sport.MIXED_MARTIAL_ARTS.SportEvent.SportEventState" |
| sport_event.id | string | Yes | "match:{matchId}" |
| valid_at | string (ISO 8601) | Yes | State validity timestamp |
| sport_event_status | string | Yes | "IN_PROGRESS" |
| round.number | number | Yes | Current round number |
| sport_event_clock | string | Yes | ISO 8601 duration (e.g. "PT1M43S") |
| sport_event_clock_running | boolean | Yes | Whether the clock is running |
| match_clock | string | Yes | Human-readable clock (e.g. "3:17") |
| competitors | array | Yes | Two competitors with "competitor:" IDs |