Skip to main content
object

Requires read_inventory_transfers access scope. Also: The user must have permission to view products.

Tracks the movement of InventoryItem objects between Location objects. A transfer includes origin and destination information, InventoryTransferLineItem objects with quantities, and shipment details.

Transfers progress through multiple statuses. The transfer maintains LocationSnapshot objects of location details to preserve historical data even if locations change or are deleted later.

•DateTime

The date and time the inventory transfer was created in UTC format.

•LocationSnapshot

Snapshot of the destination location (name, address, when snapped) with an optional link to the live Location object. If the original location is deleted, the snapshot data will still be available but the location link will be nil.

•EventConnection!
non-null

The list of events associated with the inventory transfer.

Arguments

•String

The elements that come after the specified cursor.

•String

The elements that come before the specified cursor.

•Int

The first n elements from the paginated list.

•Int

The last n elements from the paginated list.

•String

A filter made up of terms, connectives, modifiers, and comparators. | comments | boolean | Whether or not to include comment-events in your search, passing false will exclude comment-events, any other value will include comment-events. | | | - false
- true | | created_at | time | Filter by the date and time when the event occurred. Event data is retained for 1 year. | | | - created_at:>2025-10-21
- created_at:<now | | id | id | Filter by id range. | | | - id:1234
- id:>=1234
- id:<=1234 | | subject_type | string | The resource type affected by this event. See EventSubjectType for possible values. | | | - PRODUCT_VARIANT
- PRODUCT
- COLLECTION | You can apply one or more filters to a query. Learn more about Shopify API search syntax.

•string

The action that occured.

Example:

  • action:create
•Boolean
Default:false

Reverse the order of the underlying list.

•EventSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


•Boolean!
non-null

Whether the merchant has added timeline comments to the inventory transfer.

•ID!
non-null

A globally-unique ID.

•InventoryTransferLineItemConnection!
non-null

The line items associated with the inventory transfer.

Arguments

•String

The elements that come after the specified cursor.

•String

The elements that come before the specified cursor.

•Int

The first n elements from the paginated list.

•Int

The last n elements from the paginated list.

•String

A filter made up of terms, connectives, modifiers, and comparators.

nametypedescriptionacceptable_valuesdefault_valueexample_use
defaultstringFilter by a case-insensitive search of multiple fields
in a document.- query=Bob Norman
- query=title:green hoodie
ididFilter by id range.- id:1234
- id:>=1234
- id:<=1234
You can apply one or more filters to a query. Learn more about [Shopify API
search syntax](https://shopify.dev/api/usage/search-syntax).
•Boolean
Default:false

Reverse the order of the underlying list.


•Count

The number of line items associated with the inventory transfer. Limited to a maximum of 10000 by default.

Arguments

•Int
Default:10000

The upper bound on count value before returning a result. Use null to have no limit.

•String

A filter made up of terms, connectives, modifiers, and comparators.

nametypedescriptionacceptable_valuesdefault_valueexample_use
defaultstringFilter by a case-insensitive search of multiple fields
in a document.- query=Bob Norman
- query=title:green hoodie
ididFilter by id range.- id:1234
- id:>=1234
- id:<=1234
You can apply one or more filters to a query. Learn more about [Shopify API
search syntax](https://shopify.dev/api/usage/search-syntax).

•Metafield

A custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.

Arguments

•String!
required

The key for the metafield.

•String

The container the metafield belongs to. If omitted, the app-reserved namespace will be used.


•MetafieldConnection!
non-null

A list of custom fields that a merchant associates with a Shopify resource.

Arguments

•String

The elements that come after the specified cursor.

•String

The elements that come before the specified cursor.

•Int

The first n elements from the paginated list.

•[String!]

List of keys of metafields in the format namespace.key, will be returned in the same format.

•Int

The last n elements from the paginated list.

•String

The metafield namespace to filter by. If omitted, all metafields are returned.

•Boolean
Default:false

Reverse the order of the underlying list.


•String!
non-null

The name of the inventory transfer.

•String

Additional note attached to the inventory transfer.

•LocationSnapshot

Snapshot of the origin location (name, address, when snapped) with an optional link to the live Location object. If the original location is deleted, the snapshot data will still be available but the location link will be nil.

•Int!
non-null

The total quantity of items received in the transfer.

•String

The reference name of the inventory transfer.

•InventoryShipmentConnection!
non-null

The shipments associated with the inventory transfer.

Arguments

•String

The elements that come after the specified cursor.

•String

The elements that come before the specified cursor.

•Int

The first n elements from the paginated list.

•Int

The last n elements from the paginated list.

•Boolean
Default:false

Reverse the order of the underlying list.


•InventoryTransferStatus!
non-null

The current status of the transfer.

•[String!]!
non-null

A list of tags that have been added to the inventory transfer.

•Int!
non-null

The total quantity of items being transferred.

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated

Arguments

•String

The elements that come after the specified cursor.

•String

The elements that come before the specified cursor.

•Int

The first n elements from the paginated list.

•Int

The last n elements from the paginated list.

•String

Filter metafield definitions by namespace.

•MetafieldDefinitionPinnedStatus
Default:ANY

Filter by the definition's pinned status.

•String

A filter made up of terms, connectives, modifiers, and comparators.

nametypedescriptionacceptable_valuesdefault_valueexample_use
defaultstringFilter by a case-insensitive search of multiple fields
in a document.- query=Bob Norman
- query=title:green hoodie
created_attimeFilter by the date and time when the metafield
definition was created.- created_at:>2020-10-21T23:39:20Z
-
created_at:<now
- created_at:<=2024
ididFilter by id range.- id:1234
- id:>=1234
- id:<=1234
keystringFilter by the metafield definition key
field.- key:some-key
namespacestringFilter by the metafield definition namespace
field.- namespace:some-namespace
owner_typestringFilter by the metafield definition ownerType
field.- owner_type:PRODUCT
typestringFilter by the metafield definition type
field.- type:single_line_text_field
updated_attimeFilter by the date and time when the metafield
definition was last updated.- updated_at:>2020-10-21T23:39:20Z
  • updated_at:<now
    - updated_at:<=2024 | You can apply one or more filters to a query. Learn more about Shopify API search syntax.
•Boolean
Default:false

Reverse the order of the underlying list.

•MetafieldDefinitionSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.



Was this section helpful?

•query

Returns an InventoryTransfer by ID. Inventory transfers track the movement of inventory between locations, including origin and destination details, InventoryTransferLineItem objects, quantities, and InventoryTransferStatus values.

Arguments

•ID!
required

The ID of the inventory transfer.


•query

Returns a paginated list of InventoryTransfer objects between locations. Transfers track the movement of InventoryItem objects between Location objects.

Supports filtering transfers using query parameters and sorting by various criteria. Use the connection's edges to access transfer details including InventoryTransferLineItem objects, quantities, and shipment status.

Arguments

•String

The elements that come after the specified cursor.

•String

The elements that come before the specified cursor.

•Int

The first n elements from the paginated list.

•Int

The last n elements from the paginated list.

•String

A filter made up of terms, connectives, modifiers, and comparators.

nametypedescriptionacceptable_valuesdefault_valueexample_use
defaultstringFilter by a case-insensitive search of multiple fields
in a document.- query=Bob Norman
- query=title:green hoodie
created_attime
destination_idid
ididFilter by id range.- id:1234
- id:>=1234
- id:<=1234
origin_idid
product_idid
product_variant_idid
source_idid
statusstring
tagstringFilter objects by the tag field.- tag:my_tag
tag_notstringFilter by objects that don’t have the specified tag.- tag_not:my_tag
You can apply one or more filters to a query. Learn more about [Shopify API
search syntax](https://shopify.dev/api/usage/search-syntax).
•Boolean
Default:false

Reverse the order of the underlying list.

•ID

The ID of a saved search. The search’s query string is used as the query argument.

•TransferSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.



Was this section helpful?

•mutation

Cancels an inventory transfer.

Arguments

•ID!
required

The ID of the inventory transfer to cancel.


•mutation

Creates a draft inventory transfer to move inventory items between Location objects in your store. The transfer tracks which items to move, their quantities, and the origin and destination locations.

Use inventoryTransferMarkAsReadyToShip to mark the transfer as ready to ship.


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.


Arguments

•InventoryTransferCreateInput!
required

The input fields for the inventory transfer.


•mutation

Creates an inventory transfer in ready to ship.


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.


Arguments

•InventoryTransferCreateAsReadyToShipInput!
required

The input fields for the inventory transfer.


•mutation

This mutation allows duplicating an existing inventory transfer. The duplicated transfer will have the same line items and quantities as the original transfer, but will be in a draft state with no shipments.


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.


Arguments

•ID!
required

The ID of the inventory transfer to duplicate.


•mutation

Edits an inventory transfer.

Arguments

•ID!
required

The ID of the inventory Transfer to be edited.

•InventoryTransferEditInput!
required

The input fields to edit the inventory transfer.


•mutation

Sets an inventory transfer to ready to ship.

Arguments

•ID!
required

The ID of the inventory transfer to mark as ready to ship.


•mutation

This mutation removes InventoryTransferLineItems, or portions of them, from a DRAFT or READY_TO_SHIP Transfer.

For each referenced line item, if its entire quantity is still unallocated to a shipment, the line item is removed; otherwise the line item remains on the transfer with its quantity reduced to the allocated portion. Quantity allocated to a shipment (whether the shipment is in draft, in transit, or already received) is preserved.

On READY_TO_SHIP transfers, removing items also returns the affected reserved quantity to available inventory at the origin location.

To change the quantity of a line item without removing it, use inventoryTransferSetItems.

Arguments

•InventoryTransferRemoveItemsInput!
required

The input fields for the InventoryTransferRemoveItems mutation.


•mutation

This mutation sets the quantity for one or more line items on a Transfer.

Only the items you include in the lineItems field are updated. Items already on the transfer but not referenced in your update will stay unchanged. Each inventory item may appear at most once in lineItems; duplicate inventoryItemId entries are rejected.

For each entry in lineItems:

  • If the inventory item isn't yet on the transfer, a new line item is added with the provided quantity.
  • If the inventory item is already on the transfer, the provided quantity replaces the line item's processableQuantity. Any quantity outside the processable portion (for example, already shipped or picked for shipment) is preserved, so the resulting total quantity equals the preserved portion plus the provided quantity.

Passing a quantity of 0 is only allowed for transfers in DRAFT status; on READY_TO_SHIP or IN_PROGRESS transfers it returns an INVALID_QUANTITY error. On DRAFT transfers, quantity: 0 leaves a zero-quantity line item on the transfer; it does not remove the item. To remove a line item from a transfer, use inventoryTransferRemoveItems.


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.


Arguments

•InventoryTransferSetItemsInput!
required

The input fields for the InventoryTransferSetItems mutation.



Was this section helpful?

•interface

Was this section helpful?