Skip to content

Get match by ID with full context

GET
/api/v1/matches/{id}
curl --request GET \
--url https://internal.myscore.live/api/v1/api/v1/matches/mat_abc123

Public endpoint. Returns the match with players, draw entry, court, and scheduling fields hoisted to the root level for list parity.

id
required
string
Example
mat_abc123

Match ID

Match details

Media type application/json
object
id
required

Match ID

string
status
required

Match lifecycle status

string
Allowed values: scheduled in_progress suspended completed cancelled
sets

Set scores in chronological order

Array<object>
nullable
object
home
required

Games won by the home side in this set

number
guest
required

Games won by the guest side in this set

number
notes

Match notes (delays, incidents, etc.)

string
nullable
winnerSide

Winning side

string
nullable
Allowed values: home guest
outcome

Match outcome type

string
nullable
Allowed values: completed walkover retirement default
confirmedAt

When the match result was confirmed

string format: date-time
nullable
confirmedByUserId

User who confirmed the match

string
nullable
startedAt

When the match started

string format: date-time
nullable
completedAt

When the match was completed

string format: date-time
nullable
finishedAt

When the match finished (alias of completedAt)

string format: date-time
nullable
createdAt
required

Record creation timestamp

string format: date-time
updatedAt
required

Record last update timestamp

string format: date-time
suggestedWinner

Server-computed winner suggestion from current sets + draw format rules. Null when score does not yet determine a winner. Read-only — distinct from confirmed winnerSide.

string
nullable
Allowed values: home guest
home

Home player(s)

Array<object>
object
id
required

Player ID

string
name
required

Player full name

string
nationality

ISO 3166-1 alpha-2 country code

string
nullable
gender
string
nullable
Allowed values: male female
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
club

Club affiliation for this player in this match. Null when not resolvable. See MatchPlayerClubDto for source semantics.

object
id

Club ID. Populated when the per-match club has been resolved to a real clubs row (Wave 9). Null for legacy tournament signups still falling back to free-text clubDescription.

string
nullable
name
required

Club display name

string
guest

Guest player(s)

Array<object>
object
id
required

Player ID

string
name
required

Player full name

string
nationality

ISO 3166-1 alpha-2 country code

string
nullable
gender
string
nullable
Allowed values: male female
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
club

Club affiliation for this player in this match. Null when not resolvable. See MatchPlayerClubDto for source semantics.

object
id

Club ID. Populated when the per-match club has been resolved to a real clubs row (Wave 9). Null for legacy tournament signups still falling back to free-text clubDescription.

string
nullable
name
required

Club display name

string
scheduledTime

Scheduled time (hoisted from draw entry for list parity)

string format: date-time
nullable
notBeforeTime

Not-before time (hoisted from draw entry for list parity)

string format: date-time
nullable
playOrder

Play order within (court, notBeforeTime) window — hoisted from draw entry for list parity

number
nullable
drawEntry

Draw entry context (kept for backward compat — root fields are canonical)

object
id
required

Draw entry ID

string
round
required

Bracket round number (1 = first round)

number
position
required

Bracket position within the round

number
scheduledTime

Scheduled start time

string format: date-time
nullable
notBeforeTime

Earliest start time (court won’t be assigned before this)

string format: date-time
nullable
estimatedEndTime

Estimated end time (planning hint, not enforced)

string format: date-time
nullable
playOrder
required

Play order within (court, notBeforeTime) window

number
nullable
court

Court info with embedded venue club. Resolved across draw / team-match / freeplay parent tables (MYS-110, MYS-101).

object
id
required

Court ID

string
name
required

Court display name

string
clubId
required

Owning club ID

string
club

Embedded venue club (MYS-101). Null when club row missing.

object
id
required

Club ID

string
name
required

Club display name

string
Example
{
"id": "match_abc123",
"status": "scheduled",
"sets": [
{
"home": 6,
"guest": 4
}
],
"notes": "Rain delay at 3-2",
"winnerSide": "home",
"outcome": "completed",
"confirmedAt": "2026-01-15T15:30:00.000Z",
"confirmedByUserId": "usr_abc123",
"startedAt": "2026-01-15T14:00:00.000Z",
"completedAt": "2026-01-15T15:25:00.000Z",
"finishedAt": "2026-01-15T15:25:00.000Z",
"createdAt": "2026-01-15T10:30:00Z",
"updatedAt": "2026-01-15T11:00:00Z",
"suggestedWinner": "home",
"home": [
{
"id": "plr_abc123",
"name": "Rafael Nadal",
"nationality": "ES",
"gender": "male",
"createdAt": "2024-08-15T10:30:00.000Z",
"updatedAt": "2024-09-01T14:20:00.000Z",
"club": {
"id": "clb_abc123",
"name": "TC Musterstadt Süd"
}
}
],
"guest": [
{
"id": "plr_abc123",
"name": "Rafael Nadal",
"nationality": "ES",
"gender": "male",
"createdAt": "2024-08-15T10:30:00.000Z",
"updatedAt": "2024-09-01T14:20:00.000Z",
"club": {
"id": "clb_abc123",
"name": "TC Musterstadt Süd"
}
}
],
"scheduledTime": "2026-04-15T14:00:00.000Z",
"notBeforeTime": "2026-04-15T14:00:00.000Z",
"playOrder": 1,
"drawEntry": {
"id": "de_1",
"round": 1,
"position": 1,
"scheduledTime": "2026-04-15T14:00:00.000Z",
"notBeforeTime": "2026-04-15T14:00:00.000Z",
"estimatedEndTime": "2026-04-15T15:30:00.000Z",
"playOrder": 1
},
"court": {
"id": "crt_wimbledon_centre_court",
"name": "Centre Court",
"clubId": "WIMBLEDON",
"club": {
"id": "WIMBLEDON",
"name": "Wimbledon"
}
}
}

Match not found