List sections
/api/v1/apps/:id/sectionsKey role viewer or aboveAn app's sections in runbook order, each with its own coverage.
curl "https://qarunbook.com/api/v1/apps/mfq3k2p9x1a/sections" \
-H "Authorization: Bearer $QARUNBOOK_KEY"{
"data": [
{
"id": "mfq3k2q01aa",
"ref": "AUTH",
"title": "Sign in and accounts",
"checks": 9,
"summary": {
"passed": 28,
"failed": 2,
"needs_retest": 1,
"untested": 5,
"not_applicable": 0,
"percent_complete": 83
}
}
]
}List checks
/api/v1/apps/:id/checksKey role viewer or aboveChecks in runbook order — section by section — with each platform's status. Paged; see Pagination.
Query parameters
sectionstring- Only this section — its id, ref (
AUTH) or title. statusstringall(default),failing— failed on any platform,passed— passed somewhere and failed nowhere,retest— a fix is waiting to be confirmed,untested— not yet tried somewhere.limitinteger- 1–200, default 50.
cursorstring- From the previous page's
next_cursor.
curl "https://qarunbook.com/api/v1/apps/mfq3k2p9x1a/checks?status=failing" \
-H "Authorization: Bearer $QARUNBOOK_KEY"{
"data": [
{
"id": "mfq3k2qa7bc",
"ref": "AUTH-01",
"title": "Sign in with email and password",
"section": {
"id": "mfq3k2q01aa",
"ref": "AUTH",
"title": "Sign in and accounts"
},
"status": {
"WL": "failed",
"WM": "passed",
"AND": "passed",
"IOS": "retest"
},
"open_issues": 1
}
],
"next_cursor": null
}Get a check
/api/v1/checks/:idKey role viewer or aboveOne check in full: its wording, the result on each platform and who recorded it, and every issue raised against it, newest first.
Scripts usually hold a ref rather than an id. Pass app and the path is read as a ref within that app — /checks/AUTH-01?app=Checkout.
Path and query
idstringrequired- The check's id — or, with
app, its ref. appstring- App id or name. Makes
ida ref. refstring- A ref, when you would rather keep the path fixed:
/checks/lookup?app=Checkout&ref=AUTH-01.
curl "https://qarunbook.com/api/v1/checks/AUTH-01?app=Checkout" \
-H "Authorization: Bearer $QARUNBOOK_KEY"{
"data": {
"id": "mfq3k2qa7bc",
"ref": "AUTH-01",
"title": "Sign in with email and password",
"section": {
"id": "mfq3k2q01aa",
"ref": "AUTH",
"title": "Sign in and accounts"
},
"status": {
"WL": "failed",
"WM": "passed",
"AND": "passed",
"IOS": "retest"
},
"open_issues": 1,
"app": {
"id": "mfq3k2p9x1a",
"name": "Checkout"
},
"preconditions": "A verified account exists.",
"steps": "1. Open the sign-in page\n2. Enter the email and password\n3. Press Sign in",
"expected": "Lands on the dashboard, signed in, within two seconds.",
"not_applicable_on": [],
"results": {
"WL": {
"status": "failed",
"recorded_by": "Joy",
"recorded_at": "2026-09-26T09:12:40.000Z"
},
"WM": {
"status": "passed",
"recorded_by": "Joy",
"recorded_at": "2026-09-26T09:14:02.000Z"
},
"AND": {
"status": "passed",
"recorded_by": "Destiny",
"recorded_at": "2026-09-25T15:40:11.000Z"
},
"IOS": {
"status": "retest",
"recorded_by": "Destiny",
"recorded_at": "2026-09-24T11:03:55.000Z"
}
},
"issues": [
{
"id": "mfr8w1c4d2e",
"app": {
"id": "mfq3k2p9x1a",
"name": "Checkout"
},
"check": {
"id": "mfq3k2qa7bc",
"ref": "AUTH-01",
"title": "Sign in with email and password"
},
"text": "The Sign in button does nothing on Safari 18. No error, no network request.",
"platforms": ["WL"],
"all_platforms": false,
"status": "open",
"raised_by": "Ada Lovelace via API",
"raised_at": "2026-09-27T16:02:11.482Z",
"reporter": {
"name": "Ada Lovelace",
"email": "ada@example.com"
},
"via": "api",
"edited_by": null,
"edited_at": null,
"fixed_by": null,
"fixed_at": null,
"attachments": []
}
]
}
}results.*.status is what the grid shows, so an open issue reads failed even over a recorded pass. The pass is kept underneath and comes back once the issue is fixed and the check tested again.