---
title: "List requirements"
method: GET
path: "/api/requirements"
tags: ["Requirements"]
---

# List requirements

`GET /api/requirements`

## Request

- Base URL: `https://demo.supercheck.dev`
- URL: `https://demo.supercheck.dev/api/requirements`
- Auth: HTTP bearer

List requirements in the current project, newest first. Requires `requirement:view`. Each item includes the linked test IDs (`testIds`) and tag names (`tagNames`) so clients do not need a per-row detail request. The response also repeats the items under `requirements` for backward compatibility.

## Query parameters

- `page` integer
- `pageSize` integer
- `search` string
- `priority` 'low' | 'medium' | 'high'
- `status` 'covered' | 'failing' | 'missing'

## Response `200`

Requirements page

- object
  - `data` RequirementListItem[]
    - `id` string, uuid
    - `title` string
    - `description` string, nullable
    - `priority` 'low' | 'medium' | 'high', nullable
    - `tags` RequirementTag[]
      - `id` string, uuid
      - `name` string
      - `color` string, nullable
    - `tagNames` string[]: Tag names in stored casing, sorted alphabetically.
    - `testIds` string[]: IDs of the tests linked to this requirement (limited to tests in the current project).
    - `sourceDocumentId` string, uuid, nullable
    - `sourceDocumentName` string, nullable
    - `sourceSection` string, nullable
    - `externalId` string, nullable
    - `externalUrl` string, nullable
    - `externalProvider` string, nullable
    - `createdBy` string, nullable
    - `createdByName` string, nullable
    - `createdByImage` string, nullable
    - `createdAt` string, date-time, nullable
    - `updatedAt` string, date-time, nullable
    - `coverageStatus` 'covered' | 'failing' | 'missing': `missing` when no coverage has been computed yet.
    - `linkedTestCount` integer
    - `passedTestCount` integer
    - `failedTestCount` integer
  - `requirements` RequirementListItem[]: Alias of `data`.
    - `id` string, uuid
    - `title` string
    - `description` string, nullable
    - `priority` 'low' | 'medium' | 'high', nullable
    - `tags` RequirementTag[]
      - `id` string, uuid
      - `name` string
      - `color` string, nullable
    - `tagNames` string[]: Tag names in stored casing, sorted alphabetically.
    - `testIds` string[]: IDs of the tests linked to this requirement (limited to tests in the current project).
    - `sourceDocumentId` string, uuid, nullable
    - `sourceDocumentName` string, nullable
    - `sourceSection` string, nullable
    - `externalId` string, nullable
    - `externalUrl` string, nullable
    - `externalProvider` string, nullable
    - `createdBy` string, nullable
    - `createdByName` string, nullable
    - `createdByImage` string, nullable
    - `createdAt` string, date-time, nullable
    - `updatedAt` string, date-time, nullable
    - `coverageStatus` 'covered' | 'failing' | 'missing': `missing` when no coverage has been computed yet.
    - `linkedTestCount` integer
    - `passedTestCount` integer
    - `failedTestCount` integer
  - `total` integer
  - `page` integer
  - `pageSize` integer

## Other responses

- `401`: Authentication required or token invalid
- `403`: Insufficient permissions
- `500`: Failed to fetch requirements

## Changes

- **2026-10-28** `4531981d91c6`: 4 info
  - added the optional property `data/items/createdByImage` to the response with the `200` status
  - added the optional property `data/items/createdByName` to the response with the `200` status
  - added the optional property `requirements/items/createdByImage` to the response with the `200` status
  - added the optional property `requirements/items/createdByName` to the response with the `200` status
- **2026-10-25** `9d4e9599f8c5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/supercheck-io/apis/supercheck-api/changes/api/requirements/get.md)

---

[API](https://skmtc.dev/supercheck-io/apis/supercheck-api.md) - [All operations](https://skmtc.dev/supercheck-io/apis/supercheck-api/llms.txt) - [OpenAPI document](https://skmtc.dev/supercheck-io/apis/supercheck-api/revisions/7fa0162c07bd?raw)
