Skip to main content

inventoryActivate now preserves available quantity

As of API version 2026-04, activating an inventory item with inventoryActivate without providing an available or onHand argument will no longer default to zero in all cases. For an item that was previously active at that location, any existing active and onHand quantities for the inactive InventoryLevel are preserved.

Why we made this change

inventoryActivate currently sets any existing inventory quantities to zero preventing merchants from tracking inventory independently of activation status. The current behaviour prevents merchants from tracking physical inventory since quantity history disappears upon activation. This change will allow merchants to track inventory and handle activation seprately keeping their quantity history intact.

Impact on your app

  • GraphQL: In the unstable or 2026-04 and later releases, if you use the inventoryActivate mutation without providing an available or onHand argument, whichever quantity existed prior to activation will be persisted.
  • REST: In the unstable or 2026-04 and later releases, POST requests to inventory_levels/connect.json will maintain whichever quantity existed prior to activation.

What you need to do

  • Review any business logic that assumes inventoryActivate resets inventory quantities to zero for the specified inventory item and location.
Was this section helpful?