# List a commit's check suites

> List a commit's check suites, named by its SHA, a branch or a tag: one per reporter that reported check runs on it through the API, and one per g1t Actions workflow run, with its status and conclusion worked out from its latest check runs.

<div class="g1t-endpoint"><span class="g1t-method" data-method="get">GET</span><code>/repos/{owner}/{name}/commits/{ref}/check-suites</code></div>

Narrow with app and check_name.

- **Authentication:** Optional. Public data can be read without a token; send one to see what is private.
- **MCP tool:** [`workflow`](/reference/mcp/#workflow) with `action` `list_check_suites`, and the same inputs
- **Scope:** An access token needs [`checks:read`](/guides/authentication/#scopes).

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `owner` | string | Yes | The workspace that owns the repository. |
| `name` | string | Yes | The repository's name. |
| `ref` | string | Yes | The commit: its SHA, a branch or a tag. |

## Query parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `app` | string | No | Only this reporter's suites, by slug. |
| `check_name` | string | No | Only suites with a run of this name. |

## Example request

```sh
curl https://api.g1t.sh/repos/flagon-io/hello/commits/main/check-suites \
  -H "Authorization: Bearer $G1T_TOKEN"
```

## Example response

A successful request answers `200` with:

```json
{
  "total_count": 2,
  "check_suites": [
    {
      "id": "cs_01kq4b7c8d9e0f1g2h3j4k5m6p",
      "head_sha": "9f3c2a1b7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
      "head_branch": "main",
      "status": "completed",
      "conclusion": "failure",
      "app": {
        "slug": "buildkite",
        "name": "Buildkite"
      },
      "latest_check_runs_count": 1,
      "created_at": "2026-10-07T14:02:11.318Z",
      "updated_at": "2026-10-07T14:02:36.502Z"
    },
    {
      "id": "run_01kq4b6a7b8c9d0e1f2g3h4j5m",
      "head_sha": "9f3c2a1b7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
      "head_branch": "main",
      "status": "completed",
      "conclusion": "success",
      "app": {
        "slug": "actions",
        "name": "g1t Actions"
      },
      "name": "CI",
      "latest_check_runs_count": 1,
      "created_at": "2026-10-07T14:01:00.512Z",
      "updated_at": "2026-10-07T14:01:28.040Z"
    }
  ]
}
```

## Errors

A failed request answers with one of these statuses and a body like `{"error": {"code": "not_found", "message": "Repository not found."}}`. See [errors](/reference/api/#errors).

| Status | Code | When |
| --- | --- | --- |
| 401 | `unauthenticated` | A token is required, or the one sent is not valid. |
| 403 | `forbidden` | The token is valid but not allowed to do this, such as a member-only change or an agent token outside its repository. |
| 404 | `not_found` | It does not exist, or you cannot see it. |
| 422 | `invalid` | The input is not valid. `message` says which field and why. |
