Skip to content

Public card of a tournament match

GET
/api/public/tournament-match/{id}
curl --request GET \
--url https://foxleague.ai/api/public/tournament-match/example

The public header of a tournament or challenge match for the watch page, asked by its public id (matches[].id of GET /api/tournaments/{id}): tournament, round, teams, kickoff and whether to open the live broadcast (mode: "live", then GET /api/live/tournament-match/{id}) or the replay (mode: "replay", then GET /api/replay/tournament-match/{id}). The score is null while the match is on air and appears once its broadcast ends. A tournament match is named by its public id only: no answer carries its match id. The answer is the object itself, without the success envelope.

Who: anyone.

id
required
string

The match’s public id (matches[].id of the tournament): 22 URL-safe characters.

Success or a refusal: read success (the refusals are in the description).

Media type application/json

The public header of a tournament or challenge match.

object
away_score
required

Away goals; null while the match is on air.

integer | null format: int32
away_team
required

Away team name (TBD when not known).

string
broadcast_ended_at
required

When the match’s broadcast ended (RFC 3339); null while it is on air.

string | null format: date-time
developer_mode
required

true for a developer tournament, played by uploaded team code.

boolean
group_name
required

The group of a group-stage match; null otherwise.

string | null
home_score
required

Home goals; null while the match is on air.

integer | null format: int32
home_team
required

Home team name (TBD when not known).

string
mode
required

live while the match is on air: open GET /api/live/tournament-match/{tournament_match_id}. replay once its broadcast ends: open GET /api/replay/tournament-match/{tournament_match_id}.

string
round_label
required

The round’s name; Round <n> when it has none.

string
scheduled_at
required

Kickoff (RFC 3339). A viewer joining late seeks to the time since kickoff.

string format: date-time
status
required

live while the match is on air, then its final state once its broadcast ends: forfeit for a match decided without being played and otherwise finished.

string
tournament_match_id
required

The match’s public id (matches[].id of the tournament): 22 URL-safe characters with no order. A tournament match is named by it only.

string
tournament_title
required

The tournament’s title.

string
Example
{
"away_score": null,
"away_team": "Golden Lynx",
"broadcast_ended_at": null,
"developer_mode": false,
"group_name": null,
"home_score": null,
"home_team": "Red Foxes",
"mode": "live",
"round_label": "Semi-final",
"scheduled_at": "2026-10-01T18:00:00Z",
"status": "live",
"tournament_match_id": "Qx7_kP2mZr9-aB3cD4eF5g",
"tournament_title": "Autumn Cup"
}

No such public id; a match before its kickoff; a seed that goes through without an opponent. The body is empty.

A server read failed. The body is empty.