Progress events are sourced from TestProgress rows written by the CI worker via /ci/progress-reporter. Messages are unstructured text. Structured error types are aspirational until the worker protocol emits structured JSON.
GET
/runs/{run_id}/progress
curl \
--request GET 'https://sampleplatform.ccextractor.org/api/v1/runs/{run_id}/progress' \
--header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
"data": [],
"pagination": {
"limit": 42,
"offset": 42,
"total": 42,
"next_offset": 42
}
}
Response examples (401)
{
"code": "unauthorized",
"message": "Bearer token is missing, expired, or invalid.",
"details": {}
}
Response examples (404)
{
"code": "not_found",
"message": "Run 9317 not found.",
"details": {
"resource": "run",
"id": 9317
}
}
Response examples (429)
{
"code": "rate_limited",
"message": "Rate limit exceeded. Retry after 30 seconds.",
"details": {
"retry_after": 30,
"limit": 120,
"window": "60s"
}
}
Response examples (default)
{
"code": "not_found",
"message": "Run 9317 not found.",
"details": {}
}