---
title: "Get all test cases"
method: GET
path: "/case/{code}"
tags: ["cases"]
---

# Get all test cases

`GET /case/{code}`

This method allows to retrieve all test cases stored in selected project.

## Path parameters

- `code` string, required

## Query parameters

- `search` string
- `milestone_id` integer
- `suite_id` integer
- `severity` string
- `priority` string
- `type` string
- `behavior` string
- `automation` string
- `status` string
- `external_issues[type]` 'asana' | 'azure-devops' | 'clickup-app' | 'github-app' | 'gitlab-app' | 'jira-cloud' | 'jira-server' | 'linear' | 'monday' | 'redmine-app' | 'trello-app' | 'youtrack-app'
- `external_issues[ids][]` string[]
- `include` string
- `limit` integer
- `offset` integer

## Response `200`

A list of all cases.

- TestCaseListResponse
  - `status` boolean
  - `result` object
    - `total` integer
    - `filtered` integer
    - `count` integer
    - `entities` TestCase[]
      - `id` integer
      - `position` integer
      - `title` string
      - `description` string, nullable
      - `preconditions` string, nullable
      - `postconditions` string, nullable
      - `severity` integer
      - `priority` integer
      - `type` integer
      - `layer` integer
      - `is_flaky` integer
      - `behavior` integer
      - `automation` integer — Deprecated, use `isManual` and `isToBeAutomated` instead. Encodes the test case automation state as a single integer: `0` = manual, `1` = manual planned to be automated, `2` = automated.
      - `isManual` boolean — `true` if the case is manual, `false` if it is automated. Combined with `isToBeAutomated`, replaces the deprecated `automation` field.
      - `isToBeAutomated` boolean — `true` if a manual case is planned to be automated, `false` otherwise. Only meaningful when `isManual` is `true`; ignored when `isManual` is `false`.
      - `status` integer
      - `milestone_id` integer, nullable
      - `suite_id` integer, nullable
      - `custom_fields` CustomFieldValue[]
        - `id` integer
        - `value` string
      - `attachments` Attachment[]
        - `size` integer
        - `mime` string
        - `filename` string
        - `url` string, uri
      - `steps_type` 'classic' | 'gherkin', nullable
      - `steps` TestStep[]
        - `hash` string
        - `shared_step_hash` string, nullable
        - `shared_step_nested_hash` string, nullable
        - `position` integer
        - `action` string
        - `expected_result` string, nullable
        - `data` string, nullable
        - `attachments` Attachment[]
          - `size` integer
          - `mime` string
          - `filename` string
          - `url` string, uri
        - `steps` object[] — Nested steps will be here. The same structure is used for them.
      - `params` union — Deprecated, use `parameters` instead.
        - unknown[]
          - unknown
        - object
      - `parameters` object[]
        - `shared_id` string, uuid, nullable
        - `type` 'single', required
        - `item` 1, required — unresolved $ref
      - `tags` TagValue[]
        - `title` string
        - `internal_id` integer
      - `member_id` integer — Deprecated, use `author_id` instead.
      - `author_id` integer
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `deleted` string, nullable
      - `created` string — Deprecated, use the `created_at` property instead.
      - `updated` string — Deprecated, use the `updated_at` property instead.
      - `external_issues` object[]
        - `type` string
        - `issues` object[]
          - `id` string
          - `link` string

## Other responses

- `400` — Bad Request.
- `401` — Unauthorized.
- `402` — Payment Required.
- `403` — Forbidden.
- `404` — Not Found.
- `429` — Too Many Requests.

---

[API](https://skmtc.dev/qase/apis/qase-io-testops-api-v1.md) · [All operations](https://skmtc.dev/qase/apis/qase-io-testops-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/qase/qase-io-testops-api-v1/revisions/12ddc644fac5/schema)
