---
title: "List legal holds."
method: GET
path: "/api/holds"
tags: ["Legal Holds"]
---

# List legal holds.

`GET /api/holds`

Returns the caller's active legal holds, paged and ordered by set date descending. Admins may list another user's holds via the owner parameter. Requires the `holds:read` scope.

## Query parameters

- `owner` string
- `offset` integer
- `limit` integer

## Headers

- `Authorization` string, required

## Response `200`

Array of legal holds, most recently set first.

- LegalHoldResponse[]
  - `reason` string
  - `reference` string
  - `scopeType` string
  - `scopeValue` string
  - `setAt` string, date-time

## Other responses

- `400` — Bad Request
- `401` — The Authorization header is absent or the API key is not recognized.
- `404` — The owner does not exist, or the caller is not an admin.
- `413` — Content Too Large
- `415` — Unsupported Media Type
- `500` — Internal Server Error
- `503` — Service Unavailable

## Changes

- **2026-08-04** `ee79a60eea42` — 1 info
  - added the non-success response with the status `415`
- **2026-08-03** `e46672d44401` — 1 info
  - added the non-success response with the status `413`

[Change history](https://skmtc.dev/philterd/apis/philter-api/changes/api/holds/get.md)

---

[API](https://skmtc.dev/philterd/apis/philter-api.md) · [All operations](https://skmtc.dev/philterd/apis/philter-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/philterd/philter-api/revisions/d90a12a66fa6/schema)
