Skip to content

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.

REST v1 and v2 read and write this tree.

ObjectWhat it is
CompetitionA league or a tournament. It owns teams, venues, matches and one control room
MatchSport, date, competitors, periods, clock, liveStatus and finishedStatus
FactsTime-stamped events under a match: a goal, a card, a point, a substitution
SummaryThe score, periods and statistics that LIGR computes from the facts
LineupThe match players of one match, as starters and bench
OverlayA per-match graphics session with a secret key
StreamEncode 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.

REST v2, the Rive Graphics Builder, and the Graphics SDK read and write this tree.

ObjectWhat it is
ThemeA sport-scoped set of graphics. Its activeVersion is what overlays render
GraphicOne graphic, either Rive or code. graphicId is stable. id changes on publish
Working versionThe mutable draft you push to
Published versionsImmutable snapshots, numbered 1, 2, 3 and up
AssetsThe files of a graphic: code file, image, font or Rive file
Theme versionA frozen list of graphic versions
Competition theme settingBinds 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.

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.

Browser source, 1920×1080
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.

Fire a preset
POST /rest/v2/overlays/2300003/control-room/graphics
IdWhere you get itUsed by
matchIdSearch matches, create a match, or the dashboard URLMatches, facts, summary, overlays, webhooks
overlayIdA match with include=o, or create an overlayGraphics commands, control room graphics, stream overlay change
streamSettingsIdA match with include=sStream state and stream commands
competitionThemeSettingIdGET /v2/competitions/{competitionId}/theme-profiles, or the theme settings of the competitionData source push
themeIdThe dashboard theme URL, or get a themePush and publish
graphicIdA code or Rive creation response, or a theme readFiles, configuration, presets, and versions. It is stable across publishes
presetIdGET /v2/control-rooms/{roomId}/presetsPresets