---
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 the previous/next 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

## Changes

- **2026-08-28** `b3864dcc206a` — 1 info
  - the endpoint scheme security `MergifyTokenBearerAuth` was added to the API
- **2026-08-13** `29857c6146cf` — 3 info
  - the endpoint scheme security `AdminApplicationKey` was added to the API
  - the endpoint scheme security `CIApplicationKey` was added to the API
  - the endpoint scheme security `ApplicationAuth` was removed from the API

[Change history](https://skmtc.dev/mergify/apis/mergify-api/changes/ci/:owner/repositories/:repository/quarantines/get.md)

---

[API](https://skmtc.dev/mergify/apis/mergify-api.md) · [All operations](https://skmtc.dev/mergify/apis/mergify-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mergify/apis/mergify-api/revisions/0414e6db380a?raw)
