Runs

List the app's runs, newest first

Operation ID: listRuns

GET
/runs

Pages of runs, newest first. Filters combine with and. Follow next_cursor until it is null.

Needs an API key with the read scope.

Authorization

apiKey
headerAuthorizationBearer <oq_ followed by 43 letters and digits>

An Outqube API key, made in the app's settings. It belongs to one app and has the scope read, trigger or manage; a higher scope includes the lower ones. A revoked or expired key is a 401.

Query Parameters

limit?integer

Items per page, 1 to 100.

Range1 <= value <= 100
Default20
cursor?string

The next_cursor of the previous page. Opaque: pass it back as given.

Length1 <= length <= 200
status?string

Only runs in this status.

Value in"queued""running""completed""cancelled"
outcome?string

Only runs with this outcome.

Value in"passed""failed""error"
source?string

Only runs started from this source.

Value in"api""cli""github""schedule""ui"
branch?string

Only runs on this branch (exact).

Length1 <= length <= 250
commit_sha?string

Only runs for this commit sha (hexadecimal, 7 to 64 characters).

Match^[0-9a-fA-F]{7,64}$
pr_number?integer

Only runs for this pull request number.

Range0 < value <= 2147483647
created_after?string

Only runs created after this time (ISO 8601, with Z or an offset).

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
Formatdate-time

Response Body

OK

application/json
  1. response
data*array<>

The items of this page.

next_cursor*|

Pass as cursor to get the next page; null on the last page.

Example Request
curl -X GET 'https://app.outqube.com/api/v1/runs'
Example Response
{  "data": [    {      "id": "3f8a6c1e-5b2d-4e7a-8c19-0d4b7e2a9f61",      "app_id": "9b1d2f4e-7a3c-4c58-9e0b-6f3a1d2c4b5a",      "status": "completed",      "outcome": "failed",      "counts": {        "total": 2,        "queued": 0,        "running": 0,        "passed": 1,        "failed": 1,        "error": 0,        "cancelled": 0      },      "metadata": {        "source": "api",        "commit_sha": "4f1c2a9d7e3b",        "branch": "feature/login",        "pr_number": 42,        "repo": "acme/web"      },      "suite_id": "7c2a4e6b-8d1f-4a35-b97c-2e4a6c8d0f13",      "environment_id": "1a3c5e7b-9d2f-4b46-a8c0-4e6a8c0d2f57",      "base_url": "https://staging.acme.test",      "rerun_of": null,      "url": "https://app.outqube.com/acme/runs?execution=3f8a6c1e-5b2d-4e7a-8c19-0d4b7e2a9f61",      "created_at": "2026-10-30T12:00:00.000Z",      "started_at": "2026-10-30T12:00:04.000Z",      "completed_at": "2026-10-30T12:03:41.000Z",      "duration_ms": 217000    }  ],  "next_cursor": null}