---
title: "Lists cases"
method: GET
path: "/cases"
tags: ["Case"]
---

# Lists cases

`GET /cases`

## Request

- Base URL: `http://localhost:3000/api`
- URL: `http://localhost:3000/api/cases`
- Auth: none declared

## Query parameters

- `page` integer
- `limit` integer
- `count_limit` integer
- `sort_by` string
- `order` string
- `q` string

## Response `200`

OK

- CaseArray
  - `cases` Case[], required
    - `caseReference` object
      - `sourceId` string
      - `sourceUrl` string
      - `uploadIds` string[]: An array of UUIDs of uploads where this case was created or updated through bulk upload or automated ingestion.
      - `verificationStatus` 'UNVERIFIED' | 'VERIFIED' | 'EXCLUDED': Whether the case document has been manually verified for correctness. For new cases, if this field isn't provided, a default value of UNVERIFIED will be used.
      - `additionalSources` object[]
        - `sourceUrl` string
    - `demographics` object
      - `gender` string
      - `ageRange` object
        - `start` number
        - `end` number
      - `ethnicity` string
      - `nationalities` string[]
      - `occupation` string
    - `location` Location
      - `query` string
      - `country` string: ISO-3166-2 code for a country.
      - `administrativeAreaLevel1` string
      - `administrativeAreaLevel2` string
      - `administrativeAreaLevel3` string
      - `place` string
      - `name` string
      - `geoResolution` string
      - `geometry` object
        - `latitude` number, required
        - `longitude` number, required
    - `events` object[]: An event with name "confirmed" must be specified. Other event names include onsetSymptoms, firstClinicalConsultation, selfIsolation, hospitalAdmission, icuAdmission, and outcome.
      - `name` string
      - `dateRange` DateRange
        - `start` union
          - string
          - object
          - number
        - `end` union
          - string
          - object
          - number
      - `value` string
    - `symptoms` object
      - `status` string
      - `values` string[]
    - `preexistingConditions` object
      - `hasPreexistingConditions` boolean
      - `values` string[]
    - `transmission` object
      - `routes` string[]
      - `places` string[]
      - `linkedCaseIds` string[]
    - `travelHistory` object
      - `traveledPrior30Days` boolean
      - `travel` object[]
        - `dateRange` DateRange
          - `start` union
            - string
            - object
            - number
          - `end` union
            - string
            - object
            - number
        - `location` FuzzyLocation: A geo location that can be unspecific. It may not be geocoded if it lacks information.
          - `country` string: ISO-3166-2 code for a country.
          - `administrativeAreaLevel1` string: First administrative subdivision of a country
          - `administrativeAreaLevel2` string: Second administrative subdivision of a country
          - `administrativeAreaLevel3` string: Third administrative subdivision of a country
          - `place` string: Name of the place this location refers to
          - `name` string: Full name of the location
          - `geoResolution` 'undefined' | 'Point' | 'Admin3' | 'Admin2' | 'Admin1' | 'Country': How granular the location is
          - `geometry` object
            - `latitude` number
            - `longitude` number
        - `purpose` string
        - `methods` string[]
    - `variant` object
      - `name` string
    - `vaccines` Vaccine[]: A list of vaccines
      - `name` string: The name of the vaccine administered
      - `batch` string: The batch ID of the vaccine dose administered
      - `date` union
        - string
        - object
        - number
      - `sideEffects` SymptomArray
        - `symptoms` string[]
    - `genomeSequences` object[]
      - `sampleCollectionDate` union
        - string
        - object
        - number
      - `repositoryUrl` string
      - `sequenceId` string
      - `sequenceName` string
      - `sequenceLength` integer
    - `pathogens` object[]
      - `name` string
      - `id` integer
    - `revisionMetadata` object
      - `revisionNumber` integer, required
      - `creationMetadata` EditMetadata
        - `curator` string
        - `date` union
          - string
          - object
          - number
        - `notes` string
      - `editMetadata` EditMetadata
        - `curator` string
        - `date` union
          - string
          - object
          - number
        - `notes` string
    - `SGTF` 'NA' | '0' | '1'

## Other responses

- `400`: Malformed request
- `403`: Forbidden
- `422`: Unprocessable entity
- `500`: Internal server error

## Changes

- **2026-07-17** `886deae8a6f9`: 2 info
  - added the media type `application/json` for the response with the status `400`
  - added the media type `application/json` for the response with the status `422`
- **2022-04-29** `e11f54229b64`: 2 warning
  - removed the optional property `cases/items/notes` from the response with the `200` status
  - removed the optional property `cases/items/restrictedNotes` from the response with the `200` status
- **2022-01-06** `875e892119b9`: 1 info
  - added the optional property `cases/items/SGTF` to the response with the `200` status
- **2021-12-13** `b3a1a3769a09`: 2 breaking, 2 info
  - for the `query` request parameter `order`, default value `1` was removed
  - for the `query` request parameter `sort_by`, default value `0` was removed
  - for the `query` request parameter `order`, the type was generalized from `integer` to `string`
  - for the `query` request parameter `sort_by`, the type was generalized from `integer` to `string`
- …earlier changes not shown

[Operation history](https://skmtc.dev/globaldothealth/apis/global-health-data-service/changes/cases/get.md)

---

[API](https://skmtc.dev/globaldothealth/apis/global-health-data-service.md) - [All operations](https://skmtc.dev/globaldothealth/apis/global-health-data-service/llms.txt) - [OpenAPI document](https://skmtc.dev/globaldothealth/apis/global-health-data-service/revisions/886deae8a6f9?raw)
