Access: Player tokenHeader Authorization: Bearer <player token> — issued by SMS sign-in.
The full match card: score, AI stats, highlights by moment with angles and vertical copies, movement. Participants only, others get 404. Video links are signed per request and live for minutes; an empty url means the video is still on its way to storage (ready=false).
Path parameters
Name
Type
Required
Description
match_id
string (uuid)
yes
Match id
Headers
Name
Type
Required
Description
Authorization
string
yes
Bearer <player token>
Example request
curl -X GET "https://your-server/api/v1/matches/8c0f4a52-2d1e-4b7a-9f63-1a5e7d9b3c20" \
-H "Authorization: Bearer <player token>"
Responses
Code
detail
Meaning
200
—
Success
401
no_token
No token in the Authorization header
401
invalid_token
Token expired or invalid — refresh it via /v1/auth/refresh
404
match_not_found
Match not found, belongs to another club, or you are not a participant
422
[…]
Parameter or body validation error: detail is a list of errors
Access: Player tokenHeader Authorization: Bearer <player token> — issued by SMS sign-in.
A player enters the match score. The author must be a participant; both teams are required. Such a match weighs half in the rating and is not marked as camera-verified.
Access: Club panel accountHeader Authorization: Bearer <token> of an account with the referee, admin or owner role; the match club must be the account's club.
A referee, club admin or network owner corrects the score; a reason is required (the reason field). If the winner changes, Elo is recalculated for this match and the following ones; the 1.0–7.0 rating for this match only. The correction goes to the panel activity log. The match club must be the account's club (except for the network owner).
Access: Player tokenHeader Authorization: Bearer <player token> — issued by SMS sign-in.
A player marks the rally just played for highlights. The court is taken from the player's current booking (±15 minutes); without a booking pass club_id and court. The mark reaches the court server in the response to its health report.
Access: Player tokenHeader Authorization: Bearer <player token> — issued by SMS sign-in.
AI text review of the game for a participant. status: ready (text is set), no_data (no stats), disabled (review is off), failed (could not be produced).
Path parameters
Name
Type
Required
Description
match_id
string (uuid)
yes
Match id
Headers
Name
Type
Required
Description
Authorization
string
yes
Bearer <player token>
Example request
curl -X GET "https://your-server/api/v1/matches/8c0f4a52-2d1e-4b7a-9f63-1a5e7d9b3c20/review" \
-H "Authorization: Bearer <player token>"
Responses
Code
detail
Meaning
200
—
Success; example below
401
no_token
No token in the Authorization header
401
invalid_token
Token expired or invalid — refresh it via /v1/auth/refresh
404
match_not_found
Match not found, belongs to another club, or you are not a participant
422
[…]
Parameter or body validation error: detail is a list of errors