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

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•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.

•String

A filter made up of terms, connectives, modifiers, and comparators. 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
Anchor to 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.

Example:

  • false
  • true
Anchor to created_at
•time

Filter by the date and time when the event occurred. Event data is retained for 1 year.

Example:

  • created_at:>2025-10-21
  • created_at:<now
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to subject_type
•string

The resource type affected by this event. See EventSubjectType for possible values.

Example:

  • PRODUCT_VARIANT
  • PRODUCT
  • COLLECTION

•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

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
•string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234

•Count

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

Arguments

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
•string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
•Int
Default:10000

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


•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

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

•String!
required

The key for the metafield.


•MetafieldConnection!
non-null

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

Arguments

•String

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

•[String!]

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

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•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

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•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

Filter metafield definitions by namespace.

•MetafieldDefinitionPinnedStatus
Default:ANY

Filter by the definition's pinned status.

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•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.

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
•string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to created_at
•time

Filter by the date and time when the metafield definition was created.

Example:

  • created_at:>2020-10-21T23:39:20Z
  • created_at:<now
  • created_at:<=2024
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
•string

Filter by the metafield definition key field.

Example:

  • key:some-key
Anchor to namespace
•string

Filter by the metafield definition namespace field.

Example:

  • namespace:some-namespace
Anchor to owner_type
•string

Filter by the metafield definition ownerType field.

Example:

  • owner_type:PRODUCT
•string

Filter by the metafield definition type field.

Example:

  • type:single_line_text_field
Anchor to updated_at
•time

Filter by the date and time when the metafield definition was last updated.

Example:

  • updated_at:>2020-10-21T23:39:20Z
  • updated_at:<now
  • updated_at:<=2024


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

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.

•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.

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
•string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to created_at
•time
Anchor to destination_id
•id
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to origin_id
•id
Anchor to product_id
•id
Anchor to product_variant_id
•id
Anchor to source_id
•id
•string
•string

Filter objects by the tag field.

Example:

  • tag:my_tag
Anchor to tag_not
•string

Filter by objects that don’t have the specified tag.

Example:

  • tag_not:my_tag
•ID

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



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?