---
title: "Create Inventory Hold"
method: POST
path: "/v1/integrations/inventory-hold"
tags: ["Inventory Holds"]
---

# Create Inventory Hold

`POST /v1/integrations/inventory-hold`

Creates an inventory hold, which keeps the held units from being shipped.

## General description
- Currently every hold is placed on an Advance Shipping Notice (ASN): it covers products expected on the receiving and must be created before the receiving starts being received; afterwards the request is rejected. Other kinds of holds may become available later.
- Each item holds one product, optionally narrowed down to a single lot number and/or expiration date.
- A single ASN can carry several holds, each identified by the returned `inventory_hold_uuid`.

## Request body

- ShipMonkPublicApiInventoryHoldInventoryHoldCreateCreateInventoryHoldInput
  - `asn` string, required — Advance Shipping Notice (ASN) number of the receiving the hold applies to. The receiving must not have started being received yet.
  - `name` string, required — Name of the inventory hold, shown in the ShipMonk app. Use it to tell your holds apart, e.g. by the reason for holding.
  - `items` ShipMonkPublicApiInventoryHoldInventoryHoldItemInput[], required — Products to hold. Each item holds one product, optionally narrowed down to a single lot.
    - `sku` string, required — Stock Keeping Unit (SKU), the client's unique product code. Must match an active product of the account.
    - `lot` ShipMonkPublicApiInventoryHoldInventoryHoldItemLotInput
      - `lot_number` string, nullable — Supplier-assigned lot/batch number to hold. Pass null to hold every lot number of the product.
      - `expiration_date` string, date, nullable — Lot expiration date in ISO 8601 format (YYYY-MM-DD) to hold. Pass null to hold every expiration date of the product.
  - `note` string, nullable — Note explaining why the inventory is held. Visible in the ShipMonk app to both you and ShipMonk.

## Response `200`

Success

- ShipMonkOMSQuarantineApiResourcePublicApiInventoryHoldCreatedOutput
  - `inventory_hold_uuid` string, required — Identifier of the created inventory hold. Use it to update or release the hold later.

## Changes

- **2026-08-28** `9c1d10357491` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/shipmonk/apis/shipmonk-api/changes/v1/integrations/inventory-hold/post.md)

---

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