For the complete documentation index, see llms.txt. This page is also available as Markdown.

Incidents Message Structure

Common Header

Field
Type
Notes

MessageId

string (GUID)

Unique per message; GUID/UUID v4

Timestamp

ISO-8601

UTC

MessageType

int (enum)

1 = Fixture, 2 = LiveScore

Fixtureid

String

Unique identifier for the fixture

Leagueid

String

Unique identifier for the League

Sportid

String

Unique identifier for the sport


LiveScore (Incidents)

Example

{
  "header": {
    "MessageId": "0a5aa9bc-4c5c-4d0a-8f75-0b8f6f12c9a1",
    "Timestamp": "2025-11-04T19:55:25Z",
    "MessageType": 2
  },
  "body": {
    "status": null,
    "id": 777001,
    "fixtureId": 123456,
    "name": "Goal",
    "kind": "ScoreChange",
    "values": [
      { "position": 1, "value": "1" },
      { "position": 2, "value": "0" }
    ],
    "scoreType": 1,
    "initiatorPosition": 1,
    "seconds": 625,
    "playerList": [
      { "id": 501, "teamId": 9001, "name": "Bukayo Saka" }
    ],
    "period": { "id": 10, "name": "1st Half" },
    "confidence": 0.94,
    "IncidentKey": "c837649cce43f2729138e72cc3152070",
    "Sent": true,
    "DeliveryError": null
  }
}

Fields

Field
Type
Required
Notes

fixtureId

int

Yes

Join to fixtures

status

string | null

No

Score/Statistics → 'Empty' / 'Cancelled'; Period → 'Started' / 'Finished'; else null. 'Cancelled' — status in the Hyper feed which means not a terminal state. It signals that the previous value is overturned, and the system automatically re-emits the corrected incident value right after.

id

int

Yes

Incident identifier

name

string

Yes

Incident label (e.g., Goal)

kind

string

Yes

Incident category

values

array<Value> | null

No

Keyed values (e.g., score per side)

scoreType

int | null

No

Score semantics (if applicable)

initiatorPosition

int (enum) | null

No

1 = home, 2 = away

seconds

int | null

No

Elapsed time from kickoff

period

object

No

period.id: int, period.name: string, period.subPeriod: SubPeriod | null (see below)

playerList

array<Player> | null

No

Optional list of players associated with the incident

confidence

double (0.0–1.0)

Yes

Confidence grade (always present)

IncidentKey

string | null

No

Identifies a single incident. Every message reporting the same incident carries the same key, so you can group them together. A change in value is a separate incident with its own key — e.g. all messages for a 0:1 score share one key; when the score becomes 1:1, that is a different incident with a different key. Present when available; omitted when the source incident has no key.

Sent

bool | null

No

Whether this incident message was delivered to you. true = delivered, false = delivery failed. null when no delivery record exists — for example, when the fixture is not part of your subscription

DeliveryError

string | null

No

Reason delivery failed. Populated when Sent is false; null otherwise


Value (object)

Field
Type
Required
Notes

position

int (enum)

No

1 = home, 2 = away

value

string

No

Value for the given position

SubPeriod (object)

Structured game context nested under period for incidents that carry it (e.g. tennis GamePoint). period.name stays the raw period label (e.g. "1st Set"); consumers compose a combined display (e.g. "1st Set - Game 2") from period.name and subPeriod.name as needed. Omitted when not applicable.

Field
Type
Required
Notes

isTiebreak

bool | null

No

Whether the current game is a tiebreak

pointNumber

int | null

No

Point number within the game

sequenceNumber

int | null

No

Sequence number of the sub-period (e.g. game)

name

string | null

No

Sub-period label (e.g. "Game 2")

Player (object)

Field
Type
Required
Notes

id

int

No

Player id

teamId

int | null

No

Team id

name

string

No

Player name

Last updated

Was this helpful?