List all of the team's Solution runs
const url = 'http://localhost:8000/api/solutions/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/runs/ \ --header 'Authorization: Bearer <token>'The section-level reports journal (#1192): every run the team has produced across all Solutions, newest first, paginated. Filter by ?solution=<slug>, ?client=<uuid>, ?status, ?search, ?sort; ?archived=true shows the archived list instead of active.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Filter to a Session activity (e.g. running / jump / weightlifting) — runs of any Solution with that headline activity (the sessions-journal activity chips).
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).
Filter by manifest kind: test (stand-alone reports) or protocol (multi-test batteries). Omit for both.
en (default) / ru / es.
Match run name or client name.
Filter to one Solution slug.
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"}