---
title: InventoryTransfer - GraphQL Admin
description: >-
  Tracks the movement of
  [`InventoryItem`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryItem)
  objects between
  [`Location`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Location)
  objects. A transfer includes origin and destination information,
  [`InventoryTransferLineItem`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryTransferLineItem)
  objects with quantities, and shipment details.


  Transfers progress through multiple
  [`statuses`](https://shopify.dev/docs/api/admin-graphql/latest/enums/InventoryTransferStatus).
  The transfer maintains
  [`LocationSnapshot`](https://shopify.dev/docs/api/admin-graphql/latest/objects/LocationSnapshot)
  objects of location details to preserve historical data even if locations
  change or are deleted later.
api_version: unstable
api_name: admin
source_url:
  html: >-
    https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryTransfer
  md: >-
    https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryTransfer.md
---

# Inventory​Transfer

object

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

Tracks the movement of [`InventoryItem`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryItem) objects between [`Location`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Location) objects. A transfer includes origin and destination information, [`InventoryTransferLineItem`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryTransferLineItem) objects with quantities, and shipment details.

Transfers progress through multiple [`statuses`](https://shopify.dev/docs/api/admin-graphql/latest/enums/InventoryTransferStatus). The transfer maintains [`LocationSnapshot`](https://shopify.dev/docs/api/admin-graphql/latest/objects/LocationSnapshot) objects of location details to preserve historical data even if locations change or are deleted later.

## Fields

* date​Created

  [Date​Time](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/DateTime)

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

* destination

  [Location​Snapshot](https://shopify.dev/docs/api/admin-graphql/unstable/objects/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.

* events

  [Event​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/EventConnection)

  non-null

  The list of events associated with the inventory transfer.

  * first

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    ### Arguments

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * after

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * reverse

    [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  * sort​Key

    [Event​Sort​Keys](https://shopify.dev/docs/api/admin-graphql/unstable/enums/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](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).

  * query

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/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](https://shopify.dev/api/usage/search-syntax).

    * * action

        string

      * comments

        boolean

      * created\_at

        time

      * id

        id

      * subject\_type

        string

      - The action that occured.

      - Example:

        * `action:create`

        Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events.

      - Example:

        * `false`
        * `true`

        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`

        Filter by `id` range.

      - Example:

        * `id:1234`
        * `id:>=1234`
        * `id:<=1234`

        The resource type affected by this event. See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values.

        Example:

        * `PRODUCT_VARIANT`
        * `PRODUCT`
        * `COLLECTION`

  ***

* has​Timeline​Comment

  [Boolean!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean)

  non-null

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

* id

  [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID)

  non-null

  A globally-unique ID.

* line​Items

  [Inventory​Transfer​Line​Item​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/InventoryTransferLineItemConnection)

  non-null

  The line items associated with the inventory transfer.

  * first

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    ### Arguments

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * after

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * reverse

    [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  * query

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/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](https://shopify.dev/api/usage/search-syntax).

    * * default

        string

      * id

        id

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

      - Example:

        * `query=Bob Norman`
        * `query=title:green hoodie`

        Filter by `id` range.

        Example:

        * `id:1234`
        * `id:>=1234`
        * `id:<=1234`

  ***

* line​Items​Count

  [Count](https://shopify.dev/docs/api/admin-graphql/unstable/objects/Count)

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

  * query

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    ### Arguments

    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](https://shopify.dev/api/usage/search-syntax).

    * * default

        string

      * id

        id

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

      - Example:

        * `query=Bob Norman`
        * `query=title:green hoodie`

        Filter by `id` range.

        Example:

        * `id:1234`
        * `id:>=1234`
        * `id:<=1234`

  * limit

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    Default:10000

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

  ***

* metafield

  [Metafield](https://shopify.dev/docs/api/admin-graphql/unstable/objects/Metafield)

  A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information.

  * namespace

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    ### Arguments

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

  * key

    [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    required

    The key for the metafield.

  ***

* metafields

  [Metafield​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/MetafieldConnection)

  non-null

  A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) that a merchant associates with a Shopify resource.

  * namespace

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    ### Arguments

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

  * keys

    [\[String!\]](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

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

  * first

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * after

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * reverse

    [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  ***

* metafields​By​Identifiers

  [\[Metafield\]!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/Metafield)

  non-null

  The metafields associated with the resource matching the supplied list of namespaces and keys.

  * identifiers

    [\[Has​Metafields​Identifier!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/HasMetafieldsIdentifier)

    required

    ### Arguments

    The list of metafields to retrieve by namespace and key.

  ***

* name

  [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

  non-null

  The name of the inventory transfer.

* note

  [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

  Additional note attached to the inventory transfer.

* origin

  [Location​Snapshot](https://shopify.dev/docs/api/admin-graphql/unstable/objects/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.

* received​Quantity

  [Int!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

  non-null

  The total quantity of items received in the transfer.

* reference​Name

  [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

  The reference name of the inventory transfer.

* shipments

  [Inventory​Shipment​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/InventoryShipmentConnection)

  non-null

  The shipments associated with the inventory transfer.

  * first

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    ### Arguments

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * after

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * reverse

    [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  ***

* status

  [Inventory​Transfer​Status!](https://shopify.dev/docs/api/admin-graphql/unstable/enums/InventoryTransferStatus)

  non-null

  The current status of the transfer.

* tags

  [\[String!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

  non-null

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

* total​Quantity

  [Int!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

  non-null

  The total quantity of items being transferred.

* metafield​Definitions

  [Metafield​Definition​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/MetafieldDefinitionConnection)

  non-nullDeprecated

  * namespace

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    ### Arguments

    Filter metafield definitions by namespace.

  * pinned​Status

    [Metafield​Definition​Pinned​Status](https://shopify.dev/docs/api/admin-graphql/unstable/enums/MetafieldDefinitionPinnedStatus)

    Default:ANY

    Filter by the definition's pinned status.

  * first

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * after

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * reverse

    [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  * sort​Key

    [Metafield​Definition​Sort​Keys](https://shopify.dev/docs/api/admin-graphql/unstable/enums/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](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).

  * query

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/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](https://shopify.dev/api/usage/search-syntax).

    * * default

        string

      * created\_at

        time

      * id

        id

      * key

        string

      * namespace

        string

      * owner\_type

        string

      * type

        string

      * updated\_at

        time

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

      - Example:

        * `query=Bob Norman`
        * `query=title:green hoodie`

        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`

        Filter by `id` range.

      - Example:

        * `id:1234`
        * `id:>=1234`
        * `id:<=1234`

        Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field.

      - Example:

        * `key:some-key`

        Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field.

      - Example:

        * `namespace:some-namespace`

        Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field.

      - Example:

        * `owner_type:PRODUCT`

        Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field.

      - Example:

        * `type:single_line_text_field`

        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`

  ***

***

## Map

### Fields and connections with this object

* [InventoryTransferConnection.nodes](https://shopify.dev/docs/api/admin-graphql/unstable/connections/InventoryTransferConnection#returns-nodes)
* [InventoryTransferEdge.node](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryTransferEdge#field-InventoryTransferEdge.fields.node)

### Possible type in

* [Comment​Event​Embed](https://shopify.dev/docs/api/admin-graphql/unstable/unions/CommentEventEmbed)

***

## Queries

* [inventory​Transfer](https://shopify.dev/docs/api/admin-graphql/unstable/queries/inventoryTransfer)

  query

  Returns an [`InventoryTransfer`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryTransfer) by ID. Inventory transfers track the movement of inventory between locations, including origin and destination details, [`InventoryTransferLineItem`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryTransferLineItem) objects, quantities, and [`InventoryTransferStatus`](https://shopify.dev/docs/api/admin-graphql/latest/enums/InventoryTransferStatus) values.

  * id

    [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID)

    required

    ### Arguments

    The ID of the inventory transfer.

  ***

* [inventory​Transfers](https://shopify.dev/docs/api/admin-graphql/unstable/queries/inventoryTransfers)

  query

  Returns a paginated list of [`InventoryTransfer`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryTransfer) objects between locations. Transfers track the movement of [`InventoryItem`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryItem) objects between [`Location`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Location) objects.

  Supports filtering transfers using query parameters and sorting by various criteria. Use the connection's edges to access transfer details including [`InventoryTransferLineItem`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryTransferLineItem) objects, quantities, and shipment status.

  * first

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    ### Arguments

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * after

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * reverse

    [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  * sort​Key

    [Transfer​Sort​Keys](https://shopify.dev/docs/api/admin-graphql/unstable/enums/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](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).

  * query

    [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/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](https://shopify.dev/api/usage/search-syntax).

    * * default

        string

      * created\_at

        time

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

      - Example:
        * `query=Bob Norman`
        * `query=title:green hoodie`

    * destination\_id

      id

    * * id

        id

      * origin\_id

        id

      - Filter by `id` range.

      - Example:
        * `id:1234`
        * `id:>=1234`
        * `id:<=1234`

    * product\_id

      id

    * product\_variant\_id

      id

    * source\_id

      id

    * status

      string

    * * tag

        string

      * tag\_not

        string

      - Filter objects by the `tag` field.

      - Example:

        * `tag:my_tag`

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

        Example:

        * `tag_not:my_tag`

  * saved​Search​Id

    [ID](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID)

    The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id). The search’s query string is used as the query argument.

  ***

***

## InventoryTransfer Queries

### Queried by

* [inventory​Transfer](https://shopify.dev/docs/api/admin-graphql/unstable/queries/inventoryTransfer)
* [inventory​Transfers](https://shopify.dev/docs/api/admin-graphql/unstable/queries/inventoryTransfers)

***

## Mutations

* [inventory​Transfer​Cancel](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferCancel)

  mutation

  Cancels an inventory transfer.

  * id

    [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID)

    required

    ### Arguments

    The ID of the inventory transfer to cancel.

  ***

* [inventory​Transfer​Create](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferCreate)

  mutation

  Creates a draft inventory transfer to move inventory items between [`Location`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Location) objects in your store. The transfer tracks which items to move, their quantities, and the origin and destination locations.

  Use [`inventoryTransferMarkAsReadyToShip`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/inventoryTransferMarkAsReadyToShip) to mark the transfer as ready to ship.

  ***

  **Caution:** As of version \<code>2026-01\</code>, this mutation supports an optional idempotency key using the \<code>@idempotent\</code> directive. As of version \<code>2026-04\</code>, the idempotency key is required and must be provided using the \<code>@idempotent\</code> directive. For more information, see the \<a href="https://shopify.dev/docs/api/usage/idempotent-requests">idempotency documentation\</a>.

  ***

  * input

    [Inventory​Transfer​Create​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/InventoryTransferCreateInput)

    required

    ### Arguments

    The input fields for the inventory transfer.

  ***

* [inventory​Transfer​Create​As​Ready​To​Ship](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferCreateAsReadyToShip)

  mutation

  Creates an inventory transfer in ready to ship.

  ***

  **Caution:** As of 2026-01, this mutation supports an optional idempotency key using the \<code>@idempotent\</code> directive. As of 2026-04, the idempotency key is required and must be provided using the \<code>@idempotent\</code> directive. For more information, see the \<a href="https://shopify.dev/docs/api/usage/idempotent-requests">idempotency documentation\</a>.

  ***

  * input

    [Inventory​Transfer​Create​As​Ready​To​Ship​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/InventoryTransferCreateAsReadyToShipInput)

    required

    ### Arguments

    The input fields for the inventory transfer.

  ***

* [inventory​Transfer​Duplicate](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferDuplicate)

  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 \<code>@idempotent\</code> directive. As of 2026-04, the idempotency key is required and must be provided using the \<code>@idempotent\</code> directive. For more information, see the \<a href="https://shopify.dev/docs/api/usage/idempotent-requests">idempotency documentation\</a>.

  ***

  * id

    [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID)

    required

    ### Arguments

    The ID of the inventory transfer to duplicate.

  ***

* [inventory​Transfer​Edit](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferEdit)

  mutation

  Edits an inventory transfer.

  * id

    [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID)

    required

    ### Arguments

    The ID of the inventory Transfer to be edited.

  * input

    [Inventory​Transfer​Edit​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/InventoryTransferEditInput)

    required

    The input fields to edit the inventory transfer.

  ***

* [inventory​Transfer​Mark​As​Ready​To​Ship](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferMarkAsReadyToShip)

  mutation

  Sets an inventory transfer to ready to ship.

  * id

    [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID)

    required

    ### Arguments

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

  ***

* [inventory​Transfer​Remove​Items](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferRemoveItems)

  mutation

  This mutation allows removing the shippable quantities of line items on a Transfer. It removes all quantities of the item from the transfer that are not associated with shipments.

  * input

    [Inventory​Transfer​Remove​Items​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/InventoryTransferRemoveItemsInput)

    required

    ### Arguments

    The input fields for the InventoryTransferRemoveItems mutation.

  ***

* [inventory​Transfer​Set​Items](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferSetItems)

  mutation

  This mutation allows for the setting of line items on a Transfer. Will replace the items already set, if any.

  ***

  **Caution:** As of 2026-01, this mutation supports an optional idempotency key using the \<code>@idempotent\</code> directive. As of 2026-04, the idempotency key is required and must be provided using the \<code>@idempotent\</code> directive. For more information, see the \<a href="https://shopify.dev/docs/api/usage/idempotent-requests">idempotency documentation\</a>.

  ***

  * input

    [Inventory​Transfer​Set​Items​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/InventoryTransferSetItemsInput)

    required

    ### Arguments

    The input fields for the InventoryTransferSetItems mutation.

  ***

***

## InventoryTransfer Mutations

### Mutated by

* [inventory​Transfer​Cancel](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferCancel)
* [inventory​Transfer​Create](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferCreate)
* [inventory​Transfer​Create​As​Ready​To​Ship](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferCreateAsReadyToShip)
* [inventory​Transfer​Duplicate](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferDuplicate)
* [inventory​Transfer​Edit](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferEdit)
* [inventory​Transfer​Mark​As​Ready​To​Ship](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferMarkAsReadyToShip)
* [inventory​Transfer​Remove​Items](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferRemoveItems)
* [inventory​Transfer​Set​Items](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/inventoryTransferSetItems)

***

## Interfaces

* * [Comment​Event​Subject](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/CommentEventSubject)

    interface

  * [Has​Events](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasEvents)

    interface

  * [Has​Metafield​Definitions](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasMetafieldDefinitions)

    interface

  * [Has​Metafields](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasMetafields)

    interface

  * [Node](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/Node)

    interface

***

## InventoryTransfer Implements

### Implements

* [Comment​Event​Subject](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/CommentEventSubject)
* [Has​Events](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasEvents)
* [Has​Metafield​Definitions](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasMetafieldDefinitions)
* [Has​Metafields](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasMetafields)
* [Node](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/Node)
