Skip to content

Inventory

The Inventory system tracks stock levels for your products across one or more warehouses. It is the single source of truth for stock availability in Product V2.

Important: Inventory is required for all Product V2 workflows. When you create a V2 product, the system automatically creates inventory records in your default warehouse. You do not need to call the inventory API manually for standard product creation.

How It Fits In

Product V2
  └── ProductSku (for VARIABLE products)
        └── Inventory record (per warehouse)
              └── Warehouse
  • SIMPLE / DIGITAL products → one inventory record per warehouse (linked at the product level).
  • VARIABLE products → one inventory record per SKU per warehouse.
  • BUNDLE products → no inventory records (a bundle is composed of other products; stock is tracked at the component level).

Stock Quantities Explained

Every inventory record tracks three values:

FieldDescription
onHandQtyTotal units physically in stock.
reservedQtyUnits held for pending orders (not yet shipped).
availableQtyUnits available for purchase. Computed as onHandQty − reservedQty.

Permissions

Access to inventory endpoints is controlled by three permission levels:

PermissionWhat It Allows
can_read_inventoryView stock levels across warehouses.
can_update_inventoryAdjust stock quantities.
can_manage_inventoryFull control — create records, set reorder levels, manage warehouses.

Next Steps

Build with joy