Run result snapshots
Each time a case completes in a run (case-level mark or per-step mark that leaves the
case no longer untested), the API appends a test_results row and companion
test_result_step_snapshots rows. Frozen step attachments point at that result via
snapshot_id.
Use this endpoint to render the read-only attempt panel in clients and integrations.
Get snapshot
Section titled “Get snapshot”GET
/api/v1/runs/{runUlid}/results/{resultUlid}Requires viewer+ on the run’s project. Returns 404 when the run or result is outside
the caller’s organization.
Response
Section titled “Response”| Field | Description |
|---|---|
result | The append-only log row (status, executedAt, executedByUlid, hasSnapshot, …) |
case | Snapshotted case header (titleSnapshot, caseNumber, pre/post conditions, …) |
steps | Frozen per-step rows with status, actualResult, and attachments[] |
legacy | true when no snapshot rows exist (pre-feature marks) |
When legacy is true, steps is always [] and clients SHOULD show a fallback notice.
Example
Section titled “Example”curl -sS \ -H "Authorization: Bearer $PROBARA_API_TOKEN" \ "https://probara.net/api/v1/runs/$RUN/results/$RESULT"{ "result": { "ulid": "01J...", "runUlid": "01J...", "caseUlid": "01J...", "status": "failed", "durationMs": 120000, "notes": null, "executedByUlid": "01J...", "executedAt": 1700000000000, "hasSnapshot": true }, "case": { "runCaseUlid": "01J...", "caseNumber": 12, "titleSnapshot": "Checkout", "description": null, "precondition": null, "postcondition": null, "priority": "high" }, "steps": [ { "ulid": "01J...", "runCaseStepUlid": "01J...", "position": 1, "action": "Pay", "data": null, "expected": "Receipt", "status": "failed", "actualResult": "HTTP 500", "attachments": [] } ], "legacy": false}Listing results
Section titled “Listing results”GET /api/v1/runs/{runUlid}/results is unchanged except each item now includes
hasSnapshot: boolean. History UIs typically filter to hasSnapshot: true for run-wide
lists while per-case disclosures may show every row.