---
title: "Changes to Upserts a case"
method: PUT
path: "/cases"
---

# Changes to Upserts a case

`PUT /cases`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 19 of 70 revisions.

- **2026-07-17** `886deae8a6f9`: 2 info
- **2022-04-29** `e11f54229b64`: 6 warning
- **2022-01-14** `1619bcaae2df`: 2 breaking, 2 warning
- **2022-01-06** `875e892119b9`: 3 info
- **2021-10-13** `10817d9f027f`: 3 breaking, 24 warning, 9 info
- **2021-09-30** `cc928775a6cd`: 3 info
- **2021-07-23** `9ccd147a4041`: 3 info
- **2021-06-08** `ada64414e2a1`: 5 breaking, 15 warning, 8 info
- **2021-06-08** `7453480b119d`: 8 breaking, 19 info
- **2021-03-25** `fa0c80f3026a`: 4 breaking, 26 info
- **2021-03-25** `b7fec0c0a304`: 5 breaking, 27 warning, 1 info
- **2021-02-04** `894104a9ac72`: 3 info
- **2020-12-11** `0539b5bd93f9`: 2 warning, 1 info
- **2020-09-24** `c6971ce94867`: 6 info
- **2020-09-17** `155e084b2859`: 6 warning
- **2020-09-17** `8e843a4b126e`: 6 info
- **2020-09-09** `edb0b8a12ad4`: 3 warning, 3 info
- **2020-09-09** `cff6bdb3c25c`: 3 warning, 3 info
- **2020-09-08** `46a561a92386`: 3 warning, 3 info

## 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`: 6 warning
  - removed the request property `allOf[#/components/schemas/Case]/notes`
  - removed the request property `allOf[#/components/schemas/Case]/restrictedNotes`
  - removed the optional property `notes` from the response with the `200` status
  - removed the optional property `notes` from the response with the `201` status
  - removed the optional property `restrictedNotes` from the response with the `200` status
  - removed the optional property `restrictedNotes` from the response with the `201` status
- **2022-01-14** `1619bcaae2df`: 2 breaking, 2 warning
  - the `allOf[#/components/schemas/Case]/location/country` request property's minLength was increased from `0` to `2`
  - the `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/country` request property's minLength was increased from `0` to `2`
  - the `allOf[#/components/schemas/Case]/location/country` request property's maxLength was set to `2`
  - the `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/country` request property's maxLength was set to `2`
- **2022-01-06** `875e892119b9`: 3 info
  - added the new optional request property `allOf[#/components/schemas/Case]/SGTF`
  - added the optional property `SGTF` to the response with the `200` status
  - added the optional property `SGTF` to the response with the `201` status
- **2021-10-13** `10817d9f027f`: 3 breaking, 24 warning, 9 info
  - the `allOf[#/components/schemas/Case]/vaccines/items/` request property type changed from `object` to no type
  - the `vaccines/items/` response's property type changed from `object` to no type for status `200`
  - the `vaccines/items/` response's property type changed from `object` to no type for status `201`
  - removed the request property `allOf[#/components/schemas/Case]/vaccines/items/administrativeAreaLevel1`
  - removed the request property `allOf[#/components/schemas/Case]/vaccines/items/administrativeAreaLevel2`
  - removed the request property `allOf[#/components/schemas/Case]/vaccines/items/administrativeAreaLevel3`
  - removed the request property `allOf[#/components/schemas/Case]/vaccines/items/country`
  - removed the request property `allOf[#/components/schemas/Case]/vaccines/items/geoResolution`
  - removed the request property `allOf[#/components/schemas/Case]/vaccines/items/geometry`
  - removed the request property `allOf[#/components/schemas/Case]/vaccines/items/place`
  - removed the request property `allOf[#/components/schemas/Case]/vaccines/items/query`
  - removed the optional property `vaccines/items/administrativeAreaLevel1` from the response with the `200` status
  - removed the optional property `vaccines/items/administrativeAreaLevel1` from the response with the `201` status
  - removed the optional property `vaccines/items/administrativeAreaLevel2` from the response with the `200` status
  - removed the optional property `vaccines/items/administrativeAreaLevel2` from the response with the `201` status
  - removed the optional property `vaccines/items/administrativeAreaLevel3` from the response with the `200` status
  - removed the optional property `vaccines/items/administrativeAreaLevel3` from the response with the `201` status
  - removed the optional property `vaccines/items/country` from the response with the `200` status
  - removed the optional property `vaccines/items/country` from the response with the `201` status
  - removed the optional property `vaccines/items/geoResolution` from the response with the `200` status
  - removed the optional property `vaccines/items/geoResolution` from the response with the `201` status
  - removed the optional property `vaccines/items/geometry` from the response with the `200` status
  - removed the optional property `vaccines/items/geometry` from the response with the `201` status
  - removed the optional property `vaccines/items/place` from the response with the `200` status
  - removed the optional property `vaccines/items/place` from the response with the `201` status
  - removed the optional property `vaccines/items/query` from the response with the `200` status
  - removed the optional property `vaccines/items/query` from the response with the `201` status
  - added the new optional request property `allOf[#/components/schemas/Case]/vaccines/items/batch`
  - added the new optional request property `allOf[#/components/schemas/Case]/vaccines/items/date`
  - added the new optional request property `allOf[#/components/schemas/Case]/vaccines/items/sideEffects`
  - added the optional property `vaccines/items/batch` to the response with the `200` status
  - added the optional property `vaccines/items/batch` to the response with the `201` status
  - added the optional property `vaccines/items/date` to the response with the `200` status
  - added the optional property `vaccines/items/date` to the response with the `201` status
  - added the optional property `vaccines/items/sideEffects` to the response with the `200` status
  - added the optional property `vaccines/items/sideEffects` to the response with the `201` status
- **2021-09-30** `cc928775a6cd`: 3 info
  - added the new optional request property `allOf[#/components/schemas/Case]/vaccines`
  - added the optional property `vaccines` to the response with the `200` status
  - added the optional property `vaccines` to the response with the `201` status
- **2021-07-23** `9ccd147a4041`: 3 info
  - added the new optional request property `allOf[#/components/schemas/Case]/restrictedNotes`
  - added the optional property `restrictedNotes` to the response with the `200` status
  - added the optional property `restrictedNotes` to the response with the `201` status
- **2021-06-08** `ada64414e2a1`: 5 breaking, 15 warning, 8 info
  - request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution` was restricted to a list of enum values
  - the response property `travelHistory/travel/items/location/geometry/latitude` became optional for the status `200`
  - the response property `travelHistory/travel/items/location/geometry/latitude` became optional for the status `201`
  - the response property `travelHistory/travel/items/location/geometry/longitude` became optional for the status `200`
  - the response property `travelHistory/travel/items/location/geometry/longitude` became optional for the status `201`
  - removed the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/query`
  - removed the optional property `travelHistory/travel/items/location/query` from the response with the `200` status
  - removed the optional property `travelHistory/travel/items/location/query` from the response with the `201` status
  - added the new `Admin1` enum value to the `travelHistory/travel/items/location/geoResolution` response property for the response status `200`
  - added the new `Admin1` enum value to the `travelHistory/travel/items/location/geoResolution` response property for the response status `201`
  - added the new `Admin2` enum value to the `travelHistory/travel/items/location/geoResolution` response property for the response status `200`
  - added the new `Admin2` enum value to the `travelHistory/travel/items/location/geoResolution` response property for the response status `201`
  - added the new `Admin3` enum value to the `travelHistory/travel/items/location/geoResolution` response property for the response status `200`
  - added the new `Admin3` enum value to the `travelHistory/travel/items/location/geoResolution` response property for the response status `201`
  - added the new `Country` enum value to the `travelHistory/travel/items/location/geoResolution` response property for the response status `200`
  - added the new `Country` enum value to the `travelHistory/travel/items/location/geoResolution` response property for the response status `201`
  - added the new `Point` enum value to the `travelHistory/travel/items/location/geoResolution` response property for the response status `200`
  - added the new `Point` enum value to the `travelHistory/travel/items/location/geoResolution` response property for the response status `201`
  - added the new `undefined` enum value to the `travelHistory/travel/items/location/geoResolution` response property for the response status `200`
  - added the new `undefined` enum value to the `travelHistory/travel/items/location/geoResolution` response property for the response status `201`
  - the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geometry/latitude` became optional
  - the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geometry/longitude` became optional
  - added the new `Admin1` enum value to the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - added the new `Admin2` enum value to the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - added the new `Admin3` enum value to the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - added the new `Country` enum value to the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - added the new `Point` enum value to the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - added the new `undefined` enum value to the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
- **2021-06-08** `7453480b119d`: 8 breaking, 19 info
  - the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geometry/latitude` became required
  - the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geometry/longitude` became required
  - removed the enum value `Admin1` of the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - removed the enum value `Admin2` of the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - removed the enum value `Admin3` of the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - removed the enum value `Country` of the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - removed the enum value `Point` of the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - removed the enum value `undefined` of the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - added the new optional request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/query`
  - added the optional property `travelHistory/travel/items/location/query` to the response with the `200` status
  - added the optional property `travelHistory/travel/items/location/query` to the response with the `201` status
  - the response property `travelHistory/travel/items/location/geometry/latitude` became required for the status `200`
  - the response property `travelHistory/travel/items/location/geometry/latitude` became required for the status `201`
  - the response property `travelHistory/travel/items/location/geometry/longitude` became required for the status `200`
  - the response property `travelHistory/travel/items/location/geometry/longitude` became required for the status `201`
  - removed the `Admin1` enum value from the `travelHistory/travel/items/location/geoResolution` response property for the response status `200`
  - removed the `Admin1` enum value from the `travelHistory/travel/items/location/geoResolution` response property for the response status `201`
  - removed the `Admin2` enum value from the `travelHistory/travel/items/location/geoResolution` response property for the response status `200`
  - removed the `Admin2` enum value from the `travelHistory/travel/items/location/geoResolution` response property for the response status `201`
  - removed the `Admin3` enum value from the `travelHistory/travel/items/location/geoResolution` response property for the response status `200`
  - removed the `Admin3` enum value from the `travelHistory/travel/items/location/geoResolution` response property for the response status `201`
  - removed the `Country` enum value from the `travelHistory/travel/items/location/geoResolution` response property for the response status `200`
  - removed the `Country` enum value from the `travelHistory/travel/items/location/geoResolution` response property for the response status `201`
  - removed the `Point` enum value from the `travelHistory/travel/items/location/geoResolution` response property for the response status `200`
  - removed the `Point` enum value from the `travelHistory/travel/items/location/geoResolution` response property for the response status `201`
  - removed the `undefined` enum value from the `travelHistory/travel/items/location/geoResolution` response property for the response status `200`
  - removed the `undefined` enum value from the `travelHistory/travel/items/location/geoResolution` response property for the response status `201`
- **2021-03-25** `fa0c80f3026a`: 4 breaking, 26 info
  - removed `#/components/schemas/Location, subschema #2` from the `allOf[#/components/schemas/Case]/travelHistory/travel/items/location` request property `oneOf` list
  - the `allOf[#/components/schemas/Case]/travelHistory/travel/items/location` request property type changed from no type to `object`
  - the `travelHistory/travel/items/location` response's property type changed from no type to `object` for status `200`
  - the `travelHistory/travel/items/location` response's property type changed from no type to `object` for status `201`
  - added the new optional request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/administrativeAreaLevel1`
  - added the new optional request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/administrativeAreaLevel2`
  - added the new optional request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/administrativeAreaLevel3`
  - added the new optional request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/country`
  - added the new optional request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - added the new optional request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geometry`
  - added the new optional request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/name`
  - added the new optional request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/place`
  - added the optional property `travelHistory/travel/items/location/administrativeAreaLevel1` to the response with the `200` status
  - added the optional property `travelHistory/travel/items/location/administrativeAreaLevel1` to the response with the `201` status
  - added the optional property `travelHistory/travel/items/location/administrativeAreaLevel2` to the response with the `200` status
  - added the optional property `travelHistory/travel/items/location/administrativeAreaLevel2` to the response with the `201` status
  - added the optional property `travelHistory/travel/items/location/administrativeAreaLevel3` to the response with the `200` status
  - added the optional property `travelHistory/travel/items/location/administrativeAreaLevel3` to the response with the `201` status
  - added the optional property `travelHistory/travel/items/location/country` to the response with the `200` status
  - added the optional property `travelHistory/travel/items/location/country` to the response with the `201` status
  - added the optional property `travelHistory/travel/items/location/geoResolution` to the response with the `200` status
  - added the optional property `travelHistory/travel/items/location/geoResolution` to the response with the `201` status
  - added the optional property `travelHistory/travel/items/location/geometry` to the response with the `200` status
  - added the optional property `travelHistory/travel/items/location/geometry` to the response with the `201` status
  - added the optional property `travelHistory/travel/items/location/name` to the response with the `200` status
  - added the optional property `travelHistory/travel/items/location/name` to the response with the `201` status
  - added the optional property `travelHistory/travel/items/location/place` to the response with the `200` status
  - added the optional property `travelHistory/travel/items/location/place` to the response with the `201` status
  - removed `#/components/schemas/Location, subschema #2` from the `travelHistory/travel/items/location` response property `oneOf` list for the response status `200`
  - removed `#/components/schemas/Location, subschema #2` from the `travelHistory/travel/items/location` response property `oneOf` list for the response status `201`
- **2021-03-25** `b7fec0c0a304`: 5 breaking, 27 warning, 1 info
  - the `allOf[#/components/schemas/Case]/travelHistory/travel/items/location` request property type changed from `object` to no type
  - added `#/components/schemas/Location, subschema #2` to the `travelHistory/travel/items/location` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/Location, subschema #2` to the `travelHistory/travel/items/location` response property `oneOf` list for the response status `201`
  - the `travelHistory/travel/items/location` response's property type changed from `object` to no type for status `200`
  - the `travelHistory/travel/items/location` response's property type changed from `object` to no type for status `201`
  - removed the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/administrativeAreaLevel1`
  - removed the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/administrativeAreaLevel2`
  - removed the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/administrativeAreaLevel3`
  - removed the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/country`
  - removed the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geoResolution`
  - removed the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/geometry`
  - removed the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/name`
  - removed the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/place`
  - removed the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/query`
  - removed the optional property `travelHistory/travel/items/location/administrativeAreaLevel1` from the response with the `200` status
  - removed the optional property `travelHistory/travel/items/location/administrativeAreaLevel1` from the response with the `201` status
  - removed the optional property `travelHistory/travel/items/location/administrativeAreaLevel2` from the response with the `200` status
  - removed the optional property `travelHistory/travel/items/location/administrativeAreaLevel2` from the response with the `201` status
  - removed the optional property `travelHistory/travel/items/location/administrativeAreaLevel3` from the response with the `200` status
  - removed the optional property `travelHistory/travel/items/location/administrativeAreaLevel3` from the response with the `201` status
  - removed the optional property `travelHistory/travel/items/location/country` from the response with the `200` status
  - removed the optional property `travelHistory/travel/items/location/country` from the response with the `201` status
  - removed the optional property `travelHistory/travel/items/location/geoResolution` from the response with the `200` status
  - removed the optional property `travelHistory/travel/items/location/geoResolution` from the response with the `201` status
  - removed the optional property `travelHistory/travel/items/location/geometry` from the response with the `200` status
  - removed the optional property `travelHistory/travel/items/location/geometry` from the response with the `201` status
  - removed the optional property `travelHistory/travel/items/location/name` from the response with the `200` status
  - removed the optional property `travelHistory/travel/items/location/name` from the response with the `201` status
  - removed the optional property `travelHistory/travel/items/location/place` from the response with the `200` status
  - removed the optional property `travelHistory/travel/items/location/place` from the response with the `201` status
  - removed the optional property `travelHistory/travel/items/location/query` from the response with the `200` status
  - removed the optional property `travelHistory/travel/items/location/query` from the response with the `201` status
  - added `#/components/schemas/Location, subschema #2` to the `allOf[#/components/schemas/Case]/travelHistory/travel/items/location` request property `oneOf` list
- **2021-02-04** `894104a9ac72`: 3 info
  - added the new optional request property `allOf[#/components/schemas/Case]/variant`
  - added the optional property `variant` to the response with the `200` status
  - added the optional property `variant` to the response with the `201` status
- **2020-12-11** `0539b5bd93f9`: 2 warning, 1 info
  - added the new `EXCLUDED` enum value to the `caseReference/verificationStatus` response property for the response status `200`
  - added the new `EXCLUDED` enum value to the `caseReference/verificationStatus` response property for the response status `201`
  - added the new `EXCLUDED` enum value to the request property `allOf[#/components/schemas/Case]/caseReference/verificationStatus`
- **2020-09-24** `c6971ce94867`: 6 info
  - added the new optional request property `allOf[#/components/schemas/Case]/location/query`
  - added the new optional request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/query`
  - added the optional property `location/query` to the response with the `200` status
  - added the optional property `location/query` to the response with the `201` status
  - added the optional property `travelHistory/travel/items/location/query` to the response with the `200` status
  - added the optional property `travelHistory/travel/items/location/query` to the response with the `201` status
- **2020-09-17** `155e084b2859`: 6 warning
  - removed the request property `allOf[#/components/schemas/Case]/location/query`
  - removed the request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/query`
  - removed the optional property `location/query` from the response with the `200` status
  - removed the optional property `location/query` from the response with the `201` status
  - removed the optional property `travelHistory/travel/items/location/query` from the response with the `200` status
  - removed the optional property `travelHistory/travel/items/location/query` from the response with the `201` status
- **2020-09-17** `8e843a4b126e`: 6 info
  - added the new optional request property `allOf[#/components/schemas/Case]/location/query`
  - added the new optional request property `allOf[#/components/schemas/Case]/travelHistory/travel/items/location/query`
  - added the optional property `location/query` to the response with the `200` status
  - added the optional property `location/query` to the response with the `201` status
  - added the optional property `travelHistory/travel/items/location/query` to the response with the `200` status
  - added the optional property `travelHistory/travel/items/location/query` to the response with the `201` status
- **2020-09-09** `edb0b8a12ad4`: 3 warning, 3 info
  - removed the request property `allOf[#/components/schemas/Case]/caseReference/uploadId`
  - removed the optional property `caseReference/uploadId` from the response with the `200` status
  - removed the optional property `caseReference/uploadId` from the response with the `201` status
  - added the new optional request property `allOf[#/components/schemas/Case]/caseReference/uploadIds`
  - added the optional property `caseReference/uploadIds` to the response with the `200` status
  - added the optional property `caseReference/uploadIds` to the response with the `201` status
- **2020-09-09** `cff6bdb3c25c`: 3 warning, 3 info
  - removed the request property `allOf[#/components/schemas/Case]/caseReference/uploadIds`
  - removed the optional property `caseReference/uploadIds` from the response with the `200` status
  - removed the optional property `caseReference/uploadIds` from the response with the `201` status
  - added the new optional request property `allOf[#/components/schemas/Case]/caseReference/uploadId`
  - added the optional property `caseReference/uploadId` to the response with the `200` status
  - added the optional property `caseReference/uploadId` to the response with the `201` status
- **2020-09-08** `46a561a92386`: 3 warning, 3 info
  - removed the request property `allOf[#/components/schemas/Case]/caseReference/uploadId`
  - removed the optional property `caseReference/uploadId` from the response with the `200` status
  - removed the optional property `caseReference/uploadId` from the response with the `201` status
  - added the new optional request property `allOf[#/components/schemas/Case]/caseReference/uploadIds`
  - added the optional property `caseReference/uploadIds` to the response with the `200` status
  - added the optional property `caseReference/uploadIds` to the response with the `201` status

---

[Operation](https://skmtc.dev/globaldothealth/apis/global-health-data-service/docs/cases/put.md) - [API](https://skmtc.dev/globaldothealth/apis/global-health-data-service.md) - [Page](https://skmtc.dev/globaldothealth/apis/global-health-data-service/changes/cases/put)
