
List Origin Check Runs for a Suite via the API
Page the current check runs inside one suite with GET https://api.cursor.com/v1/origin/repos/{ownerSlug}/{repoName}/check-suites/{checkSuiteId}/check-runs. Official reference: Origin API → Checks / List Check Runs For Suite (OpenAPI OriginService_ListCheckRunsForSuite).
Origin is in Early Beta and subject to change. Authenticate with an installation access token (oit_…) or a user access token that carries repository:checks:read. Availability: Early Beta per the API overview.
When a run key has been reported more than once inside the suite, only the latest attempt for that key is returned; superseded attempts are omitted (matching the merge gate and product CI views). Read a superseded attempt by its own cr_… id through Get Check Run. Default page size is 30; values above 100 clamp to 100. A supplied pageToken encodes the last-seen check-run id for this suite, so pageSize is ignored on follow-up pages.
Cost: 1 point against the principal budget (ordinary read).
Path parameters
| Param | Required | Meaning |
|---|---|---|
ownerSlug |
yes | Owning entity's unique slug |
repoName |
yes | Repo name, unique to the owner |
checkSuiteId |
yes | Server-assigned check-suite id (crg_…) |
Query parameters
| Param | Required | Meaning |
|---|---|---|
pageSize |
no | Max check runs to return (default 30, max 100) |
pageToken |
no | Opaque cursor from a previous nextPageToken |
curl --request GET \
--url 'https://api.cursor.com/v1/origin/repos/OWNER_SLUG/REPO_NAME/check-suites/crg_01k2ja2000e0080000000000h8/check-runs?pageSize=30' \
--header 'Authorization: Bearer YOUR_ORIGIN_TOKEN'
Response
The body carries checkRuns and an optional nextPageToken. Each run includes server id, repository and suite references, head SHA, stable key, display name, status, optional conclusion, timestamps, externalId, actor, and output when set. Status may be queued, in_progress, completed, or rerequested (treat rerequested as pending, like queued).
Example shape from the OpenAPI:
{
"checkRuns": [
{
"id": "cr_01k2ja2000e0080000000000g7",
"repository": {
"id": "repo_01k2ja2000e0080000000000q4",
"name": "rocket",
"owner": {
"slug": "acme",
"id": "ns_01k2ja2000e0080000000000p3",
"type": "team"
}
},
"checkSuite": {
"id": "crg_01k2ja2000e0080000000000h8"
},
"sha": "9a41f0c3d2b8e7f6a5c4d3e2f1b0a9c8d7e6f5a4",
"key": "ci-8842-unit-tests",
"name": "unit-tests",
"status": "completed",
"conclusion": "success",
"detailsUrl": "https://ci.acme.dev/runs/8842",
"externalUpdatedAt": "2026-08-02T14:44:30Z",
"startedAt": "2026-08-02T14:40:00Z",
"completedAt": "2026-08-02T14:44:30Z",
"createdAt": "2026-08-01T09:30:00Z",
"updatedAt": "2026-08-02T14:45:00Z",
"externalId": "run-8842",
"actor": {
"user": {
"id": "user_01k2ja2000e0080000000000c3",
"email": "jane@acme.dev"
}
},
"output": {
"title": "Unit tests",
"summary": "128 tests passed.",
"text": "All suites green."
}
}
]
}
Get the suite first (or read checkSuite.id from an upsert), then list runs here for a commit-status panel scoped to one CI build.
Base URL: https://api.cursor.com/v1/origin.