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

API

List Origin Check Runs for a Commit via the API

List the current check runs on a commit across all suites with GET https://api.cursor.com/v1/origin/repos/{ownerSlug}/{repoName}/commits/{sha}/check-runs. Official reference: Origin API → Checks / List Check Runs For Commit (OpenAPI OriginService_ListCheckRunsForCommit).

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.

The list collapses to each suite's latest attempt and, within a suite, the latest attempt per run key. Superseded attempts are omitted. Optional checkName and status filters apply to that collapsed set. Pagination uses opaque pageToken values bound to the commit and filters; changing filters with a reused token returns INVALID_ARGUMENT.

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
sha yes Commit SHA (40- or 64-char hex)

Query parameters

Param Required Meaning
pageSize no Max runs to return. Defaults to 30 when unset or 0; values above 100 are clamped to 100
pageToken no Opaque cursor from a previous nextPageToken. Empty for the first page. When set, pageSize on follow-ups is ignored
checkName no Exact match on the check run's name
status no queued, in_progress, completed, or rerequested. Any other value is rejected with INVALID_ARGUMENT
curl --request GET \
  --url 'https://api.cursor.com/v1/origin/repos/OWNER_SLUG/REPO_NAME/commits/9a41f0c3d2b8e7f6a5c4d3e2f1b0a9c8d7e6f5a4/check-runs?pageSize=30&status=completed' \
  --header 'Authorization: Bearer YOUR_ORIGIN_TOKEN'

Response

The body includes checkRuns (full CheckRun objects) and nextPageToken when another page exists.

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."
      }
    }
  ]
}

Use this list to discover cr_… ids for a SHA, then call Get Check Run or Create Check Run Annotations on a specific run.

Base URL: https://api.cursor.com/v1/origin.