The five status counters of one run
const url = 'https://beta-api.plune.ai/v1/runs/example/summary';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 https://beta-api.plune.ai/v1/runs/example/summary \ --header 'Authorization: Bearer <token>'Every status appears, including the ones at zero. “unmapped” counts results whose raw status the project map does not cover TODAY — the stored status of a result never changes, but whether the map has a hole in it does. “discovered” counts the tests this run turned up that have no case here yet and are still pending in the review queue: on a project’s FIRST run every result is diverted there instead of being written, so five zeros beside a non-zero “discovered” is a healthy first run, not an empty one.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Responses
Section titled “ Responses ”Counters, the results nobody has mapped, and the tests still waiting in review
object
object
The run’s own facts (D5) — present for a run the lifecycle opened, absent for one plune sync uploaded whole.
object
Who launched it (B8-team T3) — «Launched by …» on the run page; null for a run from before.
The launch’s copy of who runs what, testCaseId → userId (B8-team T4) — the avatar on each «To run» row and what «Mine» keeps; null when the launch made no copy.
object
The CI run that produced the report — meta.ciUrl as the first shard declared it, the only source of the link in the run page header; null when the run has none, or holds anything but an http or https address.
The branch the run was made on — meta.branch; null when the run holds none, or an empty value.
The commit — meta.sha, in full as the shard sent it (the run page shows the first seven characters); null when the run holds none, or an empty value.
The tool that reported the run — playwright, or the report format plune run import read — not the machine of the CI; meta.runner, null when the run holds none.
Expected and never reported — beside run, for the same runs.
Example
{ "counts": { "passed": 1, "failed": 1, "broken": 0, "blocked": 0, "skipped": 0 }, "unmapped": 0, "discovered": 0, "run": { "kind": "automated", "statusEvent": "finished", "externalKey": "gh-35003177826", "title": "plune · 2026-09-16 09:12 · ci", "environment": "staging", "labels": [ "plune", "vitest", "ci" ], "startedAt": "2026-09-16T09:12:04.151Z", "finishedAt": "2026-09-16T09:12:09.082Z", "terminateReason": null, "createdBy": "u-shop", "assignees": null, "ciUrl": "https://github.com/plune-ai/plune/actions/runs/35003177826", "branch": "master", "sha": "3e31591", "runner": "playwright" }, "notRun": []}No such run, or not yours
object
Example generated
{ "error": "example"}