StarSling
APIRuns

List workflow runs

Filtered workflow-run listing (sling runs list): branch / status / conclusion / trigger / workflow_path / runner-label / time-window filters over the CI facts store, keyset-paginated via an opaque cursor. Authenticated; scoped to the caller's orgs by membership.

View Markdown
GET/api/runs

Authorization

bearerAuth
AuthorizationBearer <token>

Session token from sling login.

In: header

Query Parameters

org*string

GitHub organization login. Required — a run listing is always org-scoped.

Length1 <= length
repo?string

Bare repository name, without the org prefix. Narrows to one repo.

branch?string

Only runs on this branch.

status?array<>

Lifecycle state. Repeatable: ?status=queued&status=completed.

conclusion?array<>

Terminal outcome. Repeatable, and absent until a run completes.

trigger?string

The GitHub event that started the run.

workflow_path?string

Workflow file path, as committed in the repository.

label?string

Runner label a job in the run requested.

window?string

Relative lookback, e.g. 30d. Mutually exclusive with from/to and month.

from?string

Start of the range, inclusive. Required with to.

to?string

End of the range, exclusive. Required with from.

month?string

A whole calendar month, YYYY-MM.

limit?|

Rows per page. Page with cursor.

Range1 <= value <= 100
cursor?string

Opaque keyset cursor from a prior page's next_cursor.

Length1 <= length

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/runs?org=acme"
{  "runs": [    {      "run_id": "28961231706",      "run_url": "https://github.com/acme/api/actions/runs/28961231706",      "workflow_path": ".github/workflows/ci.yml",      "branch": "main",      "trigger": "push",      "status": "completed",      "conclusion": "failure",      "created_at": "2026-07-22T09:14:03.000Z",      "duration_ms": 412000,      "jobs_total": 12,      "jobs_failed": 1    }  ],  "has_more": false}