Skip to main content
Anchor to InventoryAdjustmentGroup

InventoryAdjustmentGroup

object

Requires read_inventory access scope.

Records a batch of inventory changes made together in a single operation. Tracks which App or StaffMember initiated the changes, when they occurred, and why they were made.

Provides an audit trail through its reason and reference document URI. The reference document URI links to the source that triggered the adjustment, such as an Order, InventoryTransfer, or external system event. Use the changes field to retrieve the specific quantity adjustments for each inventory state at affected locations.

App

The app that triggered the inventory event, if one exists.

[InventoryChange!]!
non-null

The set of inventory quantity changes that occurred in the inventory event.

DateTime!
non-null

The date and time the inventory adjustment group was created.

ID!
non-null

A globally-unique ID.

String!
non-null

The reason for the group of adjustments.

Anchor to referenceDocumentUrireferenceDocumentUri
String

A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory quantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a draft order might have been previously reserved, and a merchant later creates an order from the draft order. In this case, the referenceDocumentUri for the inventory adjustment is a URI referencing the order ID.

StaffMember

The staff member associated with the inventory event.


Was this section helpful?

mutation

Adjusts quantities for inventory items by applying incremental changes at specific locations. Each adjustment modifies the quantity by a delta value rather than setting an absolute amount.

The mutation tracks adjustments with a reason code and optional reference URI for audit trails. Returns an InventoryAdjustmentGroup that records all changes made in the operation.

Learn more about managing inventory quantities and states.


Caution

As of version 2026-01, this mutation supports an optional idempotency key using the @idempotent directive. As of version 2026-04, the idempotency key is required and must be provided using the @idempotent directive. For more information, see the idempotency documentation.


mutation

Moves inventory quantities for a single inventory item between different states at a single location. Use this mutation to reallocate inventory across quantity states without moving it between locations.

Each change specifies the quantity to move, the source state and location, and the destination state and location. The mutation returns an InventoryAdjustmentGroup that tracks all changes made in a single operation, providing an audit trail with the reason and reference document URI.


Caution

As of version 2026-01, this mutation supports an optional idempotency key using the @idempotent directive. As of version 2026-04, the idempotency key is required and must be provided using the @idempotent directive. For more information, see the idempotency documentation.


mutation

Set quantities of specified name using absolute values. This mutation supports compare-and-set functionality to handle concurrent requests properly. If ignoreCompareQuantity is not set to true, the mutation will only update the quantity if the persisted quantity matches the compareQuantity value. If the compareQuantity value does not match the persisted value, the mutation will return an error. In order to opt out of the compareQuantity check, the ignoreCompareQuantity argument can be set to true.


Note

Only use this mutation if calling on behalf of a system that acts as the source of truth for inventory quantities, otherwise please consider using the inventoryAdjustQuantities mutation.

Opting out of the compareQuantity check can lead to inaccurate inventory quantities if multiple requests are made concurrently. It is recommended to always include the compareQuantity value to ensure the accuracy of the inventory quantities and to opt out of the check using ignoreCompareQuantity only when necessary.



Caution

As of 2026-01, this mutation supports an optional idempotency key using the @idempotent directive. As of 2026-04, the idempotency key is required and must be provided using the @idempotent directive. For more information, see the idempotency documentation.



Was this section helpful?

interface

Was this section helpful?