---
title: "List quarantined tests"
method: GET
path: "/ci/{owner}/repositories/{repository}/quarantines"
tags: ["test_insights"]
---

# List quarantined tests

`GET /ci/{owner}/repositories/{repository}/quarantines`

List the tests currently quarantined in the repository, ordered by quarantine creation time ascending. A quarantine applies to a specific branch or to all branches when `branch` is `null`.

Pagination is opt-in: pass `per_page` (and optionally `cursor`) to receive a bounded page with RFC 5988 navigation links. Omitting `per_page` returns the full list in a single response — this shortcut exists for backward compatibility and is expected to go away once all callers paginate.

## Path parameters

- `owner` string, required — The owner of the repository
- `repository` string, required — The name of the repository

## Query parameters

- `branch` string, nullable
- `test_id` string, uuid, nullable
- `source` 'manual' | 'auto'
- `cursor` string, nullable — The opaque cursor of the current page. Must be extracted from RFC 5988 pagination links to get first/previous/next/last pages.
- `per_page` integer, nullable — The number of items per page. Omit to receive the full list in a single response; pass a value to opt into RFC 5988 cursor pagination.

## Response `200`

Successful Response

- QuarantinedTestsResponse
  - `size` integer, required — The number of items in this page
  - `per_page` integer, nullable, required — The number of items per page, or `null` when the endpoint was called without `per_page` and returned the full list in a single response.
  - `quarantined_tests` QuarantinedTest[], required
    - `id` string, uuid, required — Unique identifier of the quarantine record.
    - `test_name` string, required — Fully qualified name of the quarantined test.
    - `test_id` string, uuid, required — Stable identifier of the test, derived from its name. Identical across every quarantine of the same test and matches the `test_id` filter on the list endpoint.
    - `reason` string, required — Free-form reason recorded when the test was quarantined.
    - `branch` string, nullable, required — Branch name this quarantine applies to. `null` means the test is quarantined on every branch.
    - `created_at` string, date-time, required — UTC timestamp when the test was added to quarantine.
    - `source` 'manual' | 'auto'
    - `is_recovered` boolean, required — True when recent runs of this test are healthy, suggesting the quarantine could be removed.

## Other responses

- `403` — Forbidden
- `404` — Not found
- `409` — Conflict
- `422` — Unprocessable entity

---

[API](https://skmtc.net/mergify/apis/mergify-api.md) · [All operations](https://skmtc.net/mergify/apis/mergify-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mergify/mergify-api/revisions/ae394a06c465/schema)
