---
title: "List all Cases"
method: GET
path: "/cases"
tags: ["cases"]
---

# List all Cases

`GET /cases`

## Request

- Base URL: `https://api.withpersona.com/api/v1`
- URL: `https://api.withpersona.com/api/v1/cases`
- Auth: HTTP bearer

Returns a list of your organization's cases.

Note that this endpoint aggregates cases across all case template(s). See [Pagination](https://docs.withpersona.com/pagination)for more details about handling the response. Results are returned in reverse chronological order, with the most recently created objects first.

## Query parameters

- `page` CasesGetParametersPage
  - `after` string: Object ID for pagination cursor
  - `before` string: Object ID for pagination cursor
  - `size` number, double: Limit on the number of objects returned
- `fields` object
- `filter` CasesGetParametersFilter
  - `status` string: Filter cases by status
  - `case-template-id` string: Filter cases by case template ID
  - `account-id` string: Filter cases by account ID
  - `reference-id` string: Filter cases by reference ID
  - `inquiry-id` string: Filter cases by inquiry ID
  - `report-id` string: Filter cases by report ID

## Headers

- `Key-Inflection` 'camel' | 'kebab' | 'snake'
- `Idempotency-Key` string
- `Persona-Version` '2026-09-29' | '2025-12-08' | '2025-10-27' | '2023-01-05' | '2022-09-01' | '2021-08-18' | '2021-07-05' | '2021-02-21' | '2020-05-18': Server API version. More info on versioning can be found [here](https://docs.withpersona.com/versioning).

## Response `200`

This endpoint returns a collection of Case objects.

- CasesListAllCasesResponse200
  - `data` Case[], required: An array of Cases
    - `type` 'case'
    - `id` string
    - `attributes` CaseAttributes
      - `status` string
      - `name` string
      - `resolution` string, nullable
      - `created-at` string
      - `updated-at` string, nullable
      - `assigned-at` string, nullable
      - `resolved-at` string, nullable
      - `redacted-at` string, nullable
      - `sla-expires-at` string, nullable
      - `creator-id` string, nullable
      - `creator-type` string, nullable: Possible values: - user - workflow-run Do not assume this is a static enumeration; Persona may add new values in the future without a versioned update.
      - `assignee-id` string, nullable
      - `assigner-id` string, nullable
      - `assigner-type` string, nullable: Possible values: - case-assignment-policy - user - workflow-run Do not assume this is a static enumeration; Persona may add new values in the future without a versioned update.
      - `resolver-id` string, nullable
      - `resolver-type` string, nullable: Possible values: - api-key - user - workflow-run Do not assume this is a static enumeration; Persona may add new values in the future without a versioned update.
      - `updater-id` string, nullable
      - `updater-type` string, nullable: Possible values: - api-key - case-assignment-policy - user - workflow-run Do not assume this is a static enumeration; Persona may add new values in the future without a versioned update.
      - `tags` unknown[]
        - unknown
      - `fields` object: JSON key-value pairs of field name to field value. Exact schema depends on the configuration of the Case template for this Case. Keys in `fields` are **not** key inflected.
      - `attachments` CaseAttributesAttachmentsItems[]
        - `filename` string
        - `url` string
        - `byte-size` integer
    - `relationships` CaseRelationships
      - `accounts` CaseRelationshipsAccounts
        - `data` CaseRelationshipsAccountsDataItems[]
          - `id` string
          - `type` 'account'
      - `case-comments` CaseRelationshipsCaseComments
        - `data` CaseRelationshipsCaseCommentsDataItems[]
          - `id` string
          - `type` 'case-comment'
      - `case-template` CaseRelationshipsCaseTemplate
        - `data` CaseRelationshipsCaseTemplateData
          - `id` string
          - `type` 'case-template'
      - `case-queue` CaseRelationshipsCaseQueue
        - `data` CaseRelationshipsCaseQueueData
          - `id` string
          - `type` 'case-queue'
      - `inquiries` CaseRelationshipsInquiries
        - `data` CaseRelationshipsInquiriesDataItems[]
          - `id` string
          - `type` 'inquiry'
      - `reports` CaseRelationshipsReports
        - `data` CaseRelationshipsReportsDataItems[]
          - `id` string
          - `type` string
      - `verifications` CaseRelationshipsVerifications
        - `data` CaseRelationshipsVerificationsDataItems[]
          - `id` string
          - `type` string
      - `txns` CaseRelationshipsTxns
        - `data` CaseRelationshipsTxnsDataItems[]
          - `id` string
          - `type` 'transaction'
  - `links` CasesGetResponsesContentApplicationJsonSchemaLinks, required
    - `next` string, nullable, required
    - `prev` string, nullable, required

## Other responses

- `400`: The request was unacceptable, often due to invalid parameters.
- `401`: An invalid API key was provided.
- `403`: The given API key doesn’t have permissions to perform the request or a quota has been exceeded.
- `404`: The requested resource doesn’t exist.
- `429`: Your organization’s rate limit has been exceeded. We recommend an exponential backoff on requests.

---

[API](https://skmtc.dev/withpersona/apis/withpersona-6.md) - [All operations](https://skmtc.dev/withpersona/apis/withpersona-6/llms.txt) - [OpenAPI document](https://skmtc.dev/withpersona/apis/withpersona-6/revisions/b2a170061bd9?raw)
