Get Analysis
Status, version and quality of one analysis.
Request
| Parameter |
Type |
Required |
Description |
id |
integer |
Yes |
Analysis ID |
The result endpoints require status: "done"; check here before querying them. Status changes can also be pushed to a webhook.
Response
{
"data": {
"id": 1246,
"video_id": 789,
"status": "done",
"aggregate_version": "0.4.98",
"finished_at": "2025-01-15T11:45:00Z",
"quality": {
"score": 89.8,
"grade": "good",
"reasons": [
{ "code": "pitch_not_located", "severity": "major", "segments": 10, "impact": 87 }
]
},
"video": {
"id": 789,
"title": "Team A vs Team B - League Match",
"duration": 5400,
"home_team_name": "Team A",
"away_team_name": "Team B"
}
}
}
Response Fields
| Field |
Type |
Description |
id |
integer |
Analysis ID |
video_id |
integer |
Video the analysis ran on |
status |
string |
See Status Values |
waiting_for |
array |
What the hold is on, e.g. ["game_context"]. Present only while status is waiting_for_meta |
aggregate_version |
string |
Pipeline version, e.g. 0.4.98 |
finished_at |
datetime | null |
When the analysis finished. Null until it does |
quality |
object |
How reliable the finished results are. See Quality |
video |
object |
The video object |
Status Values
| Status |
Description |
init |
Analysis created, initialising |
waiting_for_video |
Waiting for the video to be ready |
waiting_for_meta |
Parked while kit detection on the video finishes, with the reason in waiting_for. Bounded: after 60 minutes it continues on its own. Show the confirm-teams step rather than an error |
running |
Currently being processed |
done |
Completed, results available |
error |
Processing failed |
ignored |
Analysis was ignored and will not be processed |
no_match_detected |
No soccer match was detected in the video; the analysis will not run |
needs_attention |
Processing paused, pending manual review |
Quality
The same object shape is repeated on Team Report.
| Field |
Type |
Description |
score |
number | null |
Overall quality, 0-100. Null until scored |
grade |
string | null |
good, fair, degraded or unreliable. Null until scored |
reasons |
array |
Factors that lowered the score. [] when there are none |
Reason object
| Field |
Type |
Description |
code |
string |
Reason identifier, e.g. pitch_not_located |
severity |
string |
How serious the issue is, e.g. minor, major |
segments |
integer |
Match segments affected |
impact |
integer |
Weight this factor carried in the score |