---
title: "List check suites for a Git reference"
method: GET
path: "/repos/{owner}/{repo}/commits/{ref}/check-suites"
tags: ["checks"]
---

# List check suites for a Git reference

`GET /repos/{owner}/{repo}/commits/{ref}/check-suites`

Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name.

> [!NOTE]
> The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.

OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository.

## Path parameters

- `owner` string, required
- `repo` string, required
- `ref` string, required

## Query parameters

- `app_id` integer
- `check_name` string
- `per_page` integer
- `page` integer

## Response `200`

Response

- object
  - `total_count` integer, required
  - `check_suites` CheckSuite[], required
    - `id` integer, required
    - `node_id` string, required
    - `head_branch` string, nullable, required
    - `head_sha` string, required — The SHA of the head commit that is being checked.
    - `status` 'queued' | 'in_progress' | 'completed' | 'waiting' | 'requested' | 'pending', nullable, required — The phase of the lifecycle that the check suite is currently in. Statuses of waiting, requested, and pending are reserved for GitHub Actions check suites.
    - `conclusion` 'success' | 'failure' | 'neutral' | 'cancelled' | 'skipped' | 'timed_out' | 'action_required' | 'startup_failure' | 'stale' | 'null', nullable, required
    - `url` string, nullable, required
    - `before` string, nullable, required
    - `after` string, nullable, required
    - `pull_requests` PullRequestMinimal[], nullable, required
      - `id` integer, required
      - `number` integer, required
      - `url` string, required
      - `head` object, required
        - `ref` string, required
        - `sha` string, required
        - `repo` object, required
          - `id` integer, required
          - `url` string, required
          - `name` string, required
      - `base` object, required
        - `ref` string, required
        - `sha` string, required
        - `repo` object, required
          - `id` integer, required
          - `url` string, required
          - `name` string, required
    - `app` NullableIntegration, nullable, required — GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.
      - `id` integer, required — Unique identifier of the GitHub app
      - `slug` string — The slug name of the GitHub app
      - `node_id` string, required
      - `client_id` string
      - `owner` union, required
        - SimpleUser — A GitHub user.
          - `name` string, nullable
          - `email` string, nullable
          - `login` string, required
          - `id` integer, required
          - `node_id` string, required
          - `avatar_url` string, uri, required
          - `gravatar_id` string, nullable, required
          - `url` string, uri, required
          - `html_url` string, uri, required
          - `followers_url` string, uri, required
          - `following_url` string, required
          - `gists_url` string, required
          - `starred_url` string, required
          - `subscriptions_url` string, uri, required
          - `organizations_url` string, uri, required
          - `repos_url` string, uri, required
          - `events_url` string, required
          - `received_events_url` string, uri, required
          - `type` string, required
          - `site_admin` boolean, required
          - `starred_at` string
          - `user_view_type` string
        - Enterprise — An enterprise on GitHub.
          - `description` string, nullable — A short description of the enterprise.
          - `html_url` string, uri, required
          - `website_url` string, uri, nullable — The enterprise's website URL.
          - `id` integer, required — Unique identifier of the enterprise
          - `node_id` string, required
          - `name` string, required — The name of the enterprise.
          - `slug` string, required — The slug url identifier for the enterprise.
          - `created_at` string, date-time, nullable, required
          - `updated_at` string, date-time, nullable, required
          - `avatar_url` string, uri, required
      - `name` string, required — The name of the GitHub app
      - `description` string, nullable, required
      - `external_url` string, uri, required
      - `html_url` string, uri, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `permissions` object, required — The set of permissions for the GitHub app
        - `issues` string
        - `checks` string
        - `metadata` string
        - `contents` string
        - `deployments` string
      - `events` string[], required — The list of events for the GitHub app. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation.
      - `installations_count` integer — The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself.
    - `repository` MinimalRepository, required — Minimal Repository
      - `id` integer, required
      - `node_id` string, required
      - `name` string, required
      - `full_name` string, required
      - `owner` SimpleUser, required — A GitHub user.
        - `name` string, nullable
        - `email` string, nullable
        - `login` string, required
        - `id` integer, required
        - `node_id` string, required
        - `avatar_url` string, uri, required
        - `gravatar_id` string, nullable, required
        - `url` string, uri, required
        - `html_url` string, uri, required
        - `followers_url` string, uri, required
        - `following_url` string, required
        - `gists_url` string, required
        - `starred_url` string, required
        - `subscriptions_url` string, uri, required
        - `organizations_url` string, uri, required
        - `repos_url` string, uri, required
        - `events_url` string, required
        - `received_events_url` string, uri, required
        - `type` string, required
        - `site_admin` boolean, required
        - `starred_at` string
        - `user_view_type` string
      - `private` boolean, required
      - `html_url` string, uri, required
      - `description` string, nullable, required
      - `fork` boolean, required
      - `url` string, uri, required
      - `archive_url` string, required
      - `assignees_url` string, required
      - `blobs_url` string, required
      - `branches_url` string, required
      - `collaborators_url` string, required
      - `comments_url` string, required
      - `commits_url` string, required
      - `compare_url` string, required
      - `contents_url` string, required
      - `contributors_url` string, uri, required
      - `deployments_url` string, uri, required
      - `downloads_url` string, uri, required
      - `events_url` string, uri, required
      - `forks_url` string, uri, required
      - `git_commits_url` string, required
      - `git_refs_url` string, required
      - `git_tags_url` string, required
      - `git_url` string
      - `issue_comment_url` string, required
      - `issue_events_url` string, required
      - `issues_url` string, required
      - `keys_url` string, required
      - `labels_url` string, required
      - `languages_url` string, uri, required
      - `merges_url` string, uri, required
      - `milestones_url` string, required
      - `notifications_url` string, required
      - `pulls_url` string, required
      - `releases_url` string, required
      - `ssh_url` string
      - `stargazers_url` string, uri, required
      - `statuses_url` string, required
      - `subscribers_url` string, uri, required
      - `subscription_url` string, uri, required
      - `tags_url` string, uri, required
      - `teams_url` string, uri, required
      - `trees_url` string, required
      - `clone_url` string
      - `mirror_url` string, nullable
      - `hooks_url` string, uri, required
      - `svn_url` string
      - `homepage` string, nullable
      - `language` string, nullable
      - `forks_count` integer
      - `stargazers_count` integer
      - `watchers_count` integer
      - `size` integer — The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0.
      - `default_branch` string
      - `open_issues_count` integer
      - `is_template` boolean
      - `topics` string[]
      - `has_issues` boolean
      - `has_projects` boolean
      - `has_wiki` boolean
      - `has_pages` boolean
      - `has_downloads` boolean
      - `has_discussions` boolean
      - `has_pull_requests` boolean
      - `pull_request_creation_policy` 'all' | 'collaborators_only' — The policy controlling who can create pull requests: all or collaborators_only.
      - `archived` boolean
      - `disabled` boolean
      - `visibility` string
      - `pushed_at` string, date-time, nullable
      - `created_at` string, date-time, nullable
      - `updated_at` string, date-time, nullable
      - `permissions` object
        - `admin` boolean
        - `maintain` boolean
        - `push` boolean
        - `triage` boolean
        - `pull` boolean
      - `role_name` string
      - `temp_clone_token` string
      - `delete_branch_on_merge` boolean
      - `subscribers_count` integer
      - `network_count` integer
      - `code_of_conduct` CodeOfConduct — Code Of Conduct
        - `key` string, required
        - `name` string, required
        - `url` string, uri, required
        - `body` string
        - `html_url` string, uri, nullable, required
      - `license` object, nullable
        - `key` string
        - `name` string
        - `spdx_id` string
        - `url` string, nullable
        - `node_id` string
      - `forks` integer
      - `open_issues` integer
      - `watchers` integer
      - `allow_forking` boolean
      - `web_commit_signoff_required` boolean
      - `security_and_analysis` SecurityAndAnalysis, nullable
        - `advanced_security` object — Enable or disable GitHub Advanced Security for the repository. For standalone Code Scanning or Secret Protection products, this parameter cannot be used.
          - `status` 'enabled' | 'disabled'
        - `code_security` object
          - `status` 'enabled' | 'disabled'
        - `dependabot_security_updates` object — Enable or disable Dependabot security updates for the repository.
          - `status` 'enabled' | 'disabled' — The enablement status of Dependabot security updates for the repository.
        - `secret_scanning` object
          - `status` 'enabled' | 'disabled'
        - `secret_scanning_push_protection` object
          - `status` 'enabled' | 'disabled'
        - `secret_scanning_non_provider_patterns` object
          - `status` 'enabled' | 'disabled'
        - `secret_scanning_ai_detection` object
          - `status` 'enabled' | 'disabled'
        - `secret_scanning_validity_checks` object
          - `status` 'enabled' | 'disabled'
        - `secret_scanning_delegated_alert_dismissal` object
          - `status` 'enabled' | 'disabled'
        - `secret_scanning_delegated_bypass` object
          - `status` 'enabled' | 'disabled'
        - `secret_scanning_delegated_bypass_options` object
          - `reviewers` object[] — The bypass reviewers for secret scanning delegated bypass
            - `reviewer_id` integer, required — The ID of the team or role selected as a bypass reviewer
            - `reviewer_type` 'TEAM' | 'ROLE', required — The type of the bypass reviewer
            - `mode` 'ALWAYS' | 'EXEMPT' — The bypass mode for the reviewer
      - `custom_properties` object — The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.
    - `created_at` string, date-time, nullable, required
    - `updated_at` string, date-time, nullable, required
    - `head_commit` SimpleCommit, required — A commit.
      - `id` string, required — SHA for the commit
      - `tree_id` string, required — SHA for the commit's tree
      - `message` string, required — Message describing the purpose of the commit
      - `timestamp` string, date-time, required — Timestamp of the commit
      - `author` object, nullable, required — Information about the Git author
        - `name` string, required — Name of the commit's author
        - `email` string, email, required — Git email address of the commit's author
      - `committer` object, nullable, required — Information about the Git committer
        - `name` string, required — Name of the commit's committer
        - `email` string, email, required — Git email address of the commit's committer
    - `latest_check_runs_count` integer, required
    - `check_runs_url` string, required
    - `rerequestable` boolean
    - `runs_rerequestable` boolean

---

[API](https://skmtc.net/github/apis/github-v3-rest-api-3.md) · [All operations](https://skmtc.net/github/apis/github-v3-rest-api-3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/github/github-v3-rest-api-3/versions/dc0584ac4e13/schema)
