StarSling
APIJobs

List workflow jobs

Workflow-job listing (sling jobs list): jobs in one run (run_id), a repo, and/or a time window — at least one of the three is required — filtered by conclusion, keyset-paginated via an opaque cursor. One row per job attempt. Authenticated; scoped to the caller's orgs by membership.

View Markdown
GET/api/jobs

Authorization

bearerAuth
AuthorizationBearer <token>

Session token from sling login.

In: header

Query Parameters

org*string

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

Length1 <= length
run_id?string

Every job in one run. Alternative to scoping by repo and/or window.

repo?string

Bare repository name, without the org prefix.

conclusion?array<>

Terminal outcome. Repeatable: ?conclusion=failure&conclusion=timed_out.

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/jobs?org=acme"
{  "jobs": [    {      "job_id": "85933007091",      "run_id": "28961231706",      "name": "typecheck",      "status": "completed",      "conclusion": "failure",      "label": "starsling-ubuntu-24.04-8",      "runner_id": "611593",      "attempt": 1,      "duration_ms": 89000,      "created_at": "2026-07-22T09:14:11.000Z"    }  ],  "has_more": false}