---
title: "Inventory - Upsert"
method: PUT
path: "/inventory/upsert"
tags: ["inventory"]
---

# Inventory - Upsert

`PUT /inventory/upsert`

Create or update an inventory record for an item at a specific warehouse.

## Request body

- object
  - `location_name` string, required — Location name to upsert inventory at
  - `item_id` string, required — Item ID
  - `on_hand` number, required — On-hand quantity to set
  - `alert` number — Low-stock alert threshold
  - `notes` string — Notes for the inventory change

## Response `200`

Inventory upserted

- object
  - `success` boolean, required — Whether the operation succeeded

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden. Insufficient permissions.
- `429` — Too many requests. Rate limit exceeded.
- `500` — Internal server error.

---

[API](https://skmtc.net/skulabs/apis/skulabs-api.md) · [All operations](https://skmtc.net/skulabs/apis/skulabs-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/skulabs/skulabs-api/versions/4b5ec0ed78a6/schema)
