Add Boxes, Bins, and Plan Filter; Update Queries & Errors

9/30/2026, 12:00:26 AM

Developers can now use the new BoxDimensions object to represent dimensional data and InventoryBinBase interface for consistent bin fields. InventoryBin gained three fields—isAvailableForSale, isDefault, and note—to better describe bin status. InventoryItem’s requiresShipping description now clarifies shipping address need, and unitCost notes the shop’s currency. InventoryItemMeasurement now includes packedDimensions for packaged size. The subscriptionContracts query’s filter scope expands to include selling_plan_id, providing finer control over contract listings. Rollout objects were simplified: scheduleActiveAt and scheduleConcludeAt are removed, and concludedAt/startedAt now describe actual dates instead of planned dates, with schedule.concludeAt/schedule.activateAt still available. Two new error codes—MARKET_MANAGER_REQUIRES_DDP and CONTRACT_HAS_FUTURE_EDITS—were added to their respective enum types.

Query Changes

🔄 Modified Queries (3)

inventoryItem

Retrieves an inventory item by its ID. An inventory item represents the inventory for a product variant, and holds the stock keeping unit (SKU), whether quantities are tracked, shipping requirements, and customs information.

Use the inventoryLevels field to get the inventory level for each location that stocks the item, and the level's quantities field to read its inventory quantities by name.

Learn more about inventory object relationships.

inventoryLevel

Retrieves an inventory level by its ID. An inventory level exists for an inventory item at each location that stocks it. Each inventory level has a quantities field to read the inventory quantity by name. Quantity names represent the inventory states that merchants use to track inventory.

The InventoryItem and Location objects each have an inventoryLevels field. Use it to find the ID of an inventory level.

Learn more about inventory object relationships.

subscriptionContracts

Returns a SubscriptionContractConnection containing subscription contracts. Subscription contracts are agreements between customers and merchants for recurring purchases with defined billing and delivery schedules.

Filter results with the query argument. You can paginate results using standard cursor-based pagination.

~ Modified argument: query

Type Changes

➕ Added Types (2)

🏗️BoxDimensions➕ AddedOBJECT

Represents the dimensions of a three-dimensional box.

Fields: height, length, unit, width
🔌InventoryBinBase➕ AddedINTERFACE

Common fields for inventory bins.

Fields: id, name

🔄 Modified Types (7)

🏗️GiftCard🔄 Modified
🔄 Field modified: customer
🔄 Field modified: recipientAttributes
🏗️InventoryBin🔄 Modified
➕ Field added: isAvailableForSale

Whether inventory in the bin is available for sale.

➕ Field added: isDefault

Whether the bin is the default bin for its location.

➕ Field added: note

A note about the bin.

🏗️InventoryItem🔄 Modified
🔄 Field modified: requiresShipping
🔄 Field modified: unitCost
🏗️InventoryItemMeasurement🔄 Modified
➕ Field added: packedDimensions

The packaged dimensions of the inventory item.

🏗️MarketUserErrorCode🔄 Modified
➕ Enum value added: MARKET_MANAGER_REQUIRES_DDP
🏗️Rollout🔄 Modified
➖ Field removed: scheduleActiveAt
➖ Field removed: scheduleConcludeAt
🔄 Field modified: concludedAt
🔄 Field modified: startedAt
🏗️SubscriptionContractUpdateCalculateUserErrorCode🔄 Modified
➕ Enum value added: CONTRACT_HAS_FUTURE_EDITS