API / list-origin-check-runs-for-suite-via-api

API

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.