> For the complete documentation index, see [llms.txt](https://docs.lsports.eu/u/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lsports.eu/u/engage/hyper-livescore/enumerations/incident-kinds.md).

# Incident Kinds

## Overview

The Incidents Queue delivers messages categorized by **Kind**. Each Kind represents a different type of event and has its own message structure and timing rules.

All incident messages share common fields (MessageId, Timestamp, Fixture, Decision Info, etc.) but each Kind has unique conditional fields that define its specific behavior.

***

## Kinds Summary

| Kind                   | Description                                                                                                                                                                                                    |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Score**              | Reports a scoring event (goal, point, run, etc.) when it occurs. Each Score message represents one scoring play, with `seconds` capturing the in-period time the play occurred (not a continuous clock value). |
| **Period**             | Reports period state changes when a period starts (Status = "Started") or ends (Status = "Finished") for halves, quarters, sets, etc.                                                                          |
| **Statistic**          | Reports in-game team statistics such as corners, yellow cards, attacks, shots, fouls, and offsides. Updates continuously as statistics change during the match.                                                |
| **Player Statistic**   | Reports individual player statistics such as shots on target, tackles, passes, and goals. Sent when player-specific events occur and accumulates throughout the match.                                         |
| **VAR**                | Reports Video Assistant Referee review processes and decisions. Sent when VAR review begins or when a VAR decision is made.                                                                                    |
| **Timer**              | Reports the match clock. This is the continuous in-period clock you should use to reconstruct game-time progression.                                                                                           |
| **Possession**         | Reports ball possession percentage for each team. Updates continuously during the match, typically every few seconds. Match-wide statistic with no period breakdown.                                           |
| **Status Description** | Reports fixture-level status changes that are not tied to specific game events. Provides period-specific status updates.                                                                                       |
| **Fixture Status**     | Reports overall fixture status changes such as NSY, In Progress, Finished, Cancelled, Postponed, Interrupted, Abandoned, AboutToStart, etc. Status codes range from 0–10.                                      |
| **Turn**               | Reports which team currently has the turn, i.e. the team on the offensive (e.g. serving side, batting side, team in possession). Sent when the turn changes between teams.                                     |

***

## Core Incident Kinds

### 1. Score

Reports a scoring event (goal, point, run, etc.) when it occurs. Each Score message represents one scoring play.

The `seconds` field on a Score message is the in-period time at which the scoring play occurred, as captured at the moment that message was generated. It is **not** a continuous clock value and should not be used to reconstruct game-time progression. To track the live match clock, use the [Timer](#id-6-timer) incident.

A single real-world scoring play may be republished with an updated confidence value as the incident is confirmed. Successive messages for the same play can carry slightly different `seconds` readings as the in-period time is refined, not the match clock moving backwards. The latest message at the highest confidence represents the best-known view of that play.

Each period starts at 0-0 and position IDs remain constant throughout the match (Position 1 = Home, Position 2 = Away). The period score resets to 0-0 at the start of each new period.

***

### 2. Period

**Purpose:** Reports period state changes (start/end of halves, quarters, sets, etc.)

**When sent:**

* When a period starts (Status = "Started")
* When a period ends (Status = "Finished")

***

### 3. Statistic

**Purpose:** Reports in-game statistics (corners, yellow cards, attacks, shots, etc.)

**When sent:**

* Continuously throughout the match as statistics change
* Frequency varies by statistic type

***

### 4. Player Statistic

**Purpose:** Reports individual player statistics.

**When sent:**

* When player-specific events occur
* Accumulates throughout the match

***

### 5. VAR

**Purpose:** Reports VAR review processes and decisions.

**When sent:**

* When VAR review begins
* When VAR decision is made

***

### 6. Timer

Reports the match clock. This is the continuous in-period clock you should use to reconstruct game-time progression. Sent periodically during the match and on timing events such as stoppage time or injury time.

The Timer is monotonic within a period in the direction dictated by the sport:

* Sports with a count-up clock (e.g., Football): the value increases.
* Sports with a count-down clock (e.g., Basketball): the value decreases.

When you need "the current game time," read `seconds` from the Timer incident, not from any other incident kind.

***

### 7. Possession

**Purpose:** Reports ball possession percentage.

**When sent:**

* Continuously updates during match, typically every few seconds

***

### 8. Status Description

**Purpose:** Reports fixture-level status changes not tied to specific game events.

**When sent:**

* When overall match status changes

***

### 9. Fixture Status

**Purpose:** Reports overall fixture status changes.

**When sent:**

* When match status changes (NSY, InProgress, Finished, Cancelled, etc.)

***

### 10. Turn

**Purpose:** Reports which team currently has the turn — the team on the offensive (e.g. serving side, batting side, team in possession).

**When sent:**

* When the turn passes from one team to the other


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.lsports.eu/u/engage/hyper-livescore/enumerations/incident-kinds.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
