---
title: "Changes to Inventory - Upsert"
method: PUT
path: "/inventory/upsert"
---

# Changes to Inventory - Upsert

`PUT /inventory/upsert`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 3 of 15 revisions.

- **2026-03-02** `fa53dd949b8e`: 3 breaking, 9 info
- **2024-04-22** `08cd9cfa14dd`: 1 breaking, 5 warning, 2 info
- **2024-04-19** `46ceda528000`: 2 breaking, 11 info

## Changes

- **2026-03-02** `fa53dd949b8e`: 3 breaking, 9 info
  - the request property `item_id` became required
  - the request property `location_name` became required
  - the request property `on_hand` became required
  - api operation id `put_inventory_upsert` was added
  - the `alert` request property format was generalized from `integer` to no format
  - the `on_hand` request property format was generalized from `integer` to no format
  - added the media type `application/json` for the response with the status `200`
  - 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 `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `429`
  - added the non-success response with the status `500`
- **2024-04-22** `08cd9cfa14dd`: 1 breaking, 5 warning, 2 info
  - added required request body
  - deleted the `query` request parameter `alert`
  - deleted the `query` request parameter `item_id`
  - deleted the `query` request parameter `location_name`
  - deleted the `query` request parameter `notes`
  - deleted the `query` request parameter `on_hand`
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
- **2024-04-19** `46ceda528000`: 2 breaking, 11 info
  - removed the request body
  - removed the media type `application/json` for the response with the status `200`
  - api operation id `put_inventory_upsert` removed and replaced with ``
  - added the new optional `query` request parameter `alert`
  - added the new optional `query` request parameter `item_id`
  - added the new optional `query` request parameter `location_name`
  - added the new optional `query` request parameter `notes`
  - added the new optional `query` request parameter `on_hand`
  - removed the non-success response with the status `400`
  - removed the non-success response with the status `401`
  - removed the non-success response with the status `403`
  - removed the non-success response with the status `429`
  - removed the non-success response with the status `500`

---

[Operation](https://skmtc.dev/skulabs/apis/skulabs-api/docs/inventory/upsert/put.md) - [API](https://skmtc.dev/skulabs/apis/skulabs-api.md) - [Page](https://skmtc.dev/skulabs/apis/skulabs-api/changes/inventory/upsert/put)
