---
title: "Inventory - Decrease On Hand"
method: PUT
path: "/inventory/decrease_on_hand"
tags: ["inventory"]
---

# Inventory - Decrease On Hand

`PUT /inventory/decrease_on_hand`

Decrease the on-hand inventory quantity for an item at a specific warehouse.

## Request body

- object
  - `location_id` string, required — Location ID
  - `item_id` string, required — Item ID
  - `amount` number, required — Amount to decrease by
  - `notes` string — Notes for the change

## Response `200`

On-hand decreased

- 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.

## Changes

- **2026-03-02** `fa53dd949b8e` — 3 breaking, 7 info
  - the request property `amount` became required
  - the request property `item_id` became required
  - the request property `location_id` became required
  - api operation id `put_inventory_decrease_on_hand` was added
  - …6 more
- **2024-04-22** `08cd9cfa14dd` — 1 breaking, 4 warning, 2 info
  - added required request body
  - deleted the `query` request parameter `amount`
  - deleted the `query` request parameter `item_id`
  - deleted the `query` request parameter `location_id`
  - …3 more
- **2024-04-19** `46ceda528000` — 2 breaking, 10 info
  - removed the request body
  - removed the media type `application/json` for the response with the status `200`
  - api operation id `put_inventory_decrease_on_hand` removed and replaced with ``
  - added the new optional `query` request parameter `amount`
  - …8 more

[Change history](https://skmtc.dev/skulabs/apis/skulabs-api/changes/inventory/decrease_on_hand/put.md)

---

[API](https://skmtc.dev/skulabs/apis/skulabs-api.md) · [All operations](https://skmtc.dev/skulabs/apis/skulabs-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/skulabs/skulabs-api/revisions/fa53dd949b8e/schema)
