Skip to main content

initializeInventory

Initialize inventory for a product at a location. This mutation should be used when a product is first added to a location, and it can be used only once for every product that is wanted to be initialized in the inventory. If the product is already initialized, this mutation will return an error.

initializeInventory(
input: InitializeInventoryInput!
): InventoryItem!

Arguments​

initializeInventory.input ● InitializeInventoryInput! non-null input common​

Parameters for InitializeInventory

Type​

InventoryItem object inventory​

Represents an inventory item that tracks stock quantities and locations for a specific product within a brand's warehouses.

Inventory Calculations​

The inventory system uses a hierarchical structure where:

  • **Physical** = Total units present in the building
  • **Available** = Physical - Reserved (units available for sale)
  • **Stock** = Physical - Unavailable (usable inventory)
  • **Allocated** = Units assigned to specific orders

Warehouse Filtering​

Most quantity fields accept an optional warehouse_id argument to get inventory levels for a specific warehouse. When omitted, returns totals across all active warehouses.

Depth Status​

The depth field indicates stock availability:

  • FULL_STOCK: Available inventory exceeds ordered quantities
  • OUT_OF_STOCK: No available inventory
  • OVERSOLD: Ordered quantities exceed available inventory

Incoming Items​

The incoming_items field shows Shipment items that haven't been closed yet, ordered by expected arrival date (earliest first).