List a Solution's produced runs
const url = 'http://localhost:8000/api/solutions/example/runs/';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:8000/api/solutions/example/runs/ \ --header 'Authorization: Bearer <token>'The reports-manager list (#1192): the team’s runs for this Solution, newest first, paginated (LimitOffsetPagination). Active-only; ?archived=true returns the archived list instead (the two never mix).
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”true returns the archived list instead of active.
Filter to one client (UUID).
Created-at range start (inclusive, YYYY-MM-DD, viewer-local via tz).
en (default) / ru / es.
Case-insensitive match on the run name or client name.
newest (default) / oldest / name / client.
Filter by run status.
Created-at range end (inclusive, YYYY-MM-DD, viewer-local via tz).
IANA timezone for the from/to day boundaries (default UTC).
Responses
Section titled “Responses”GET /api/solutions/<slug>/runs/ — the LimitOffsetPagination envelope
over the reports-manager rows (#1192).
object
One row in the reports manager (#1192). name is the raw stored name
(blank until the coach renames the run — the FE renders a localized
fallback when blank); client_name / session_count are display helpers.
sessions (the report’s constituent captures) is populated only when the
view seeds a session_refs context map — see session_refs_for_runs.
object
draft- Draftready- Readyfailed- Failed
A constituent session of a run (one entry of its bindings) — enough
for the reports card to render like a Sessions journal row: label + link it
(the expandable “attached sessions” list) plus its headline metrics chips
(#1192). Read-only projection; the run’s report is still assembled from the
sessions’ metrics on retrieve.
object
One headline metric on a candidate row — the picker shows the top few as chips (mirrors the Sessions journal row shape).
object
Example
{ "results": [ { "status": "draft" } ]}object
Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).
Examplegenerated
{ "detail": "example"}object
Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).
Examplegenerated
{ "detail": "example"}