# Keep Alive

Keep-alive messages are sent every 30 seconds and contain an array of live fixture IDs, **scoped to your in-play packages** - only fixtures you have ordered, and **only those with markets based on your odds settings configuration**. This message is used for discrepancy tests: you can compare the `ActiveEvent` list against your own records to detect missing or unexpected fixtures. The following fixture statuses are **included** in the Keep Alive message:

* **NSY** (Not Started Yet)
* **InProgress**
* **Postponed**
* **Interrupted**
* **LostCoverage**
* **AboutToStart**

`Note: When there are no events available (no orders/no live events), an empty KeepAlive message will be sent.`

{% tabs %}
{% tab title="JSON" %}

```json
{
   "KeepAlive": {
      "ActiveEvent": [
         "1234",
         "1111",
         "6213",
         "4021"
      ]
   }
}
```

{% endtab %}

{% tab title="XML" %}

```xml
<KeepAlive>
  <ActiveEvent>1234</ActiveEvent>
  <ActiveEvent>1111</ActiveEvent>
  <ActiveEvent>6213</ActiveEvent>
  <ActiveEvent>4021</ActiveEvent>
</KeepAlive>
```

{% endtab %}
{% endtabs %}

### **Model**

| **Element** | **Data Type** | **Description**           |
| ----------- | ------------- | ------------------------- |
| ActiveEvent | int           | FixtureId of a live event |
