Player IDs
The player_id string that identifies a player in every endpoint and filter.
Format
{team}-{jersey}
| Component | Values | Description |
|---|---|---|
team |
0 or 1 |
Shirt-cluster label. Resolve to home/away via Teams & Sides |
jersey |
number, or GK |
Shirt number. Always GK for a goalkeeper, whose number is not read |
| Player ID | Meaning |
|---|---|
0-10 |
Team 0, shirt 10 |
1-7 |
Team 1, shirt 7 |
1-99 |
Team 1, shirt 99 |
0-GK |
Team 0, goalkeeper |
1-GK |
Team 1, goalkeeper |
Filter and request by the exact id the API returned. A player returned as 0-GK is not addressable as 0-1.
Team assignment
team_0 and team_1 are the engine's own labels for the two shirt clusters it detects, fixed before anything about sides or fixture roles has been measured. They carry no identity: team_0 is not the left, home, or first-named team.
| Source | Field | Resolves |
|---|---|---|
GET /videos/{id} |
team_zero: home, away or null |
Who the 0- prefix is |
GET /analyses/{id}/team-mapping |
per label | Fixture role, side at kickoff, display name |
null means unknown; the system never guesses. Render neutral labels ("Team 0", "Team 1") until it resolves. See Teams & Sides for how identity is resolved and corrected.
Identity fields across endpoints
player_id is the join key everywhere. The Summary, a legacy shape kept stable for existing clients, and the match reports name the same identity with different fields.
| Concept | Summary and filters | Player & Team reports |
|---|---|---|
| Team | team_id: "team_0" / "team_1" (string) |
team: 0 / 1 (int) |
| Shirt number | jersey_number: int, or the raw suffix string for a non-numeric id |
jersey: int, or null when the suffix is not numeric |
| Display suffix | folded into name |
label: the raw suffix ("7", "GK") |
team_id: "team_0" is team: 0, and a 0-GK id is jersey_number: "GK" on the summary but jersey: null with label: "GK" on the reports. Match rows across endpoints on player_id, never on the team or jersey fields.
Identification confidence
Tracking rows carry player_id_conf, the confidence of the identification.
| Value | Meaning |
|---|---|
| > 0.8 | High confidence |
| 0.5-0.8 | Medium confidence |
| < 0.5 | Low confidence |
null |
Player detected, jersey not readable |
From analysis version 0.5.36, tracking rows also carry a status column, an overlap_partner_id for overlapping detections, and an identity_conf for projected (off-camera) rows. See Row Status.