Skip to main content

get_run

One run's status and results digest: per-test statuses, error messages for failures, and the artifact manifest.

Request

GET /api/v1/ops/projects/{project}/runs/{runId}
ParameterInTypeRequiredDescription
projectpathstringyesThe project's public id.
runIdpathintegeryesThe run id.
curl -H "Authorization: Bearer $TESTVIBE_API_KEY" \
"$TESTVIBE_SERVER/api/v1/ops/projects/$PROJECT/runs/214"

Response

{
"runId": 214,
"status": "failed",
"featureId": 12,
"featureName": "Login Functionality",
"config": "Default",
"siteUrl": "https://shop.acme.example",
"createdUtc": "2026-06-10T16:02:11Z",
"startedUtc": "2026-06-10T16:02:19Z",
"finishedUtc": "2026-06-10T16:02:54Z",
"summary": { "total": 3, "passed": 2, "failed": 1, "other": 0 },
"tests": [
{ "name": "Valid user signs in", "status": "passed", "durationMs": 4210, "error": null },
{ "name": "Invalid password is rejected", "status": "passed", "durationMs": 3804, "error": null },
{ "name": "Locked-out user sees an error", "status": "failed", "durationMs": 9120, "error": "expect(locator).toBeVisible() failed — locator('[data-test=\"error\"]') not found within 5000ms" }
],
"artifacts": [
{ "kind": "trace", "path": "trace/locked-out-user.zip", "size": 482133 },
{ "kind": "screenshot", "path": "screenshots/locked-out-user.png", "size": 88241 }
],
"log": "…trimmed runner output (only present on non-passed runs)…"
}
  • status: runningpassed | failed.
  • summary / tests appear once results exist; per-test error is trimmed to 1 500 characters, log to 4 000.
  • artifacts lists what was uploaded — exchange it for download links via get_run_artifacts.

Errors

HTTPWhen
404 not_foundNo such run in this project.