Payloads
Envelope
Section titled “Envelope”Every event has the same five top-level keys.
{ "type": "update", "entity": "fact", "competitionId": 2311, "date": "2026-09-12T10:04:31.118Z", "data": {}}| Key | Type | Meaning |
|---|---|---|
type | create | update | delete | The verb |
entity | match | team | fact | competition | summary | The entity |
competitionId | number | The competition the change belongs to |
date | ISO 8601 string | When LIGR queued the event |
data | object | The entity, in the webhook shape |
Use (entity, data.id, date) as your deduplication key. Delivery is at least once: the same
event can arrive twice with the same key.
data.homeTeam and data.awayTeam follow competitorsType. A teams match carries a team
object. A singles match carries a player. A doubles match carries a pair.
lineups is present after a lineup import.
{ "type": "update", "entity": "match", "competitionId": 2311, "date": "2026-09-12T10:04:31.118Z", "data": { "id": 1188213, "name": "Sydney FC v Melbourne City", "competitorsType": "teams", "homeTeam": { "id": 5021, "name": "Sydney FC", "gfxName": "SYD" }, "awayTeam": { "id": 5030, "name": "Melbourne City", "gfxName": "MCY" }, "score": { "home": 1, "away": 0 }, "clockData": { "clock": 1712, "running": true }, "liveStatus": "live", "finishedStatus": "default", "currentPeriod": { "number": 1, "name": "1st half" }, "coverage": "full", "lineups": { "home": { "starters": [], "bench": [] }, "away": { "starters": [], "bench": [] } } }}A fact carries its match, its type, its clock position and the competitors it names. An undone fact
arrives as a delete.
summary
Section titled “summary”A summary event carries the computed score, the periods and the statistics of one match. LIGR
sends it after it folds a fact change into the summary. A summary delete carries ids only.
overlay
Section titled “overlay”An overlay event carries the overlay record: the key a browser source uses, the match it belongs
to, and the switches an operator or the REST API changes. A new key arrives as an update.
{ "type": "update", "entity": "overlay", "competitionId": 2311, "date": "2026-09-12T10:04:31.118Z", "data": { "id": 2300003, "key": "3f2a9c1e-4b6d-4e8f-9a0b-1c2d3e4f5a6b", "name": "Broadcast", "matchId": 1188213, "competitionThemeSettingId": 8802, "controlRoomId": 91, "controllerId": null, "isPrimary": true, "isActive": true, "autoMode": false, "encodingDelay": 6, "adType": "free", "lng": null, "createdAt": "2026-09-01T02:14:09.000Z", "updatedAt": "2026-09-12T10:04:31.118Z", "deletedAt": null }}team and competition
Section titled “team and competition”A team event carries the team as the competition holds it, including gfxName. A competition
event carries the competition record.
Read the exact fields
Section titled “Read the exact fields”The webhook payload of an entity tracks the entity itself. To see every field your competition produces, read one live delivery in the log. Open Developers → Webhooks, open the webhook, and select Event Logs. The log shows the payload LIGR sent.