Concepts
Two object trees explain the whole API. The competition tree is what happens on the pitch. The theme tree is what appears on screen. An overlay joins them for one match.
The competition tree
Section titled “The competition tree”REST v1 and v2 read and write this tree.
| Object | What it is |
|---|---|
| Competition | A league or a tournament. It owns teams, venues, matches and one control room |
| Match | Sport, date, competitors, periods, clock, liveStatus and finishedStatus |
| Facts | Time-stamped events under a match: a goal, a card, a point, a substitution |
| Summary | The score, periods and statistics that LIGR computes from the facts |
| Lineup | The match players of one match, as starters and bench |
| Overlay | A per-match graphics session with a secret key |
| Stream | Encode settings, inputs, destinations and stream state |
A competition holds matches. A match holds facts, a summary and a lineup. A match also holds an overlay and a stream.
The theme tree
Section titled “The theme tree”REST v2, the Rive Graphics Builder, and the Graphics SDK read and write this tree.
| Object | What it is |
|---|---|
| Theme | A sport-scoped set of graphics. Its activeVersion is what overlays render |
| Graphic | One graphic, either Rive or code. graphicId is stable. id changes on publish |
| Working version | The mutable draft you push to |
| Published versions | Immutable snapshots, numbered 1, 2, 3 and up |
| Assets | The files of a graphic: code file, image, font or Rive file |
| Theme version | A frozen list of graphic versions |
| Competition theme setting | Binds a theme to a competition. It holds theme variable values and data sources |
A publish picks the latest published version of each graphic, unless you name a version.
Where the trees meet
Section titled “Where the trees meet”An overlay belongs to one match. It renders the active theme version of the competition of that
match. Its key forms the browser-source URL.
https://overlay.ligr.live/production-3b2b1c0e-…A control room is the button layout that an operator uses for that theme. Each button is a preset. You can fire a preset over REST. See Overlays & control room.
POST /rest/v2/overlays/2300003/control-room/graphicsIds that matter
Section titled “Ids that matter”| Id | Where you get it | Used by |
|---|---|---|
matchId | Search matches, create a match, or the dashboard URL | Matches, facts, summary, overlays, webhooks |
overlayId | A match with include=o, or create an overlay | Graphics commands, control room graphics, stream overlay change |
streamSettingsId | A match with include=s | Stream state and stream commands |
competitionThemeSettingId | GET /v2/competitions/{competitionId}/theme-profiles, or the theme settings of the competition | Data source push |
themeId | The dashboard theme URL, or get a theme | Push and publish |
graphicId | A code or Rive creation response, or a theme read | Files, configuration, presets, and versions. It is stable across publishes |
presetId | GET /v2/control-rooms/{roomId}/presets | Presets |