---
title: inventoryTransferCreate - GraphQL Admin
description: |-
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 `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](https://shopify.dev/docs/api/usage/idempotent-requests).
api_version: 2025-07
api_name: admin
type: mutation
api_type: graphql
source_url:
html: https://shopify.dev/docs/api/admin-graphql/2025-07/mutations/inventorytransfercreate
md: https://shopify.dev/docs/api/admin-graphql/2025-07/mutations/inventorytransfercreate.md
---
# inventoryTransferCreate
mutation
Requires `write_inventory_transfers` access scope. Also: The user must have permission to manage inventory.
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 \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
* input
[InventoryTransferCreateInput!](https://shopify.dev/docs/api/admin-graphql/2025-07/input-objects/InventoryTransferCreateInput)
required
The input fields for the inventory transfer.
***
## InventoryTransferCreatePayload returns
* inventoryTransfer
[InventoryTransfer](https://shopify.dev/docs/api/admin-graphql/2025-07/objects/InventoryTransfer)
The created inventory transfer.
* userErrors
[\[InventoryTransferCreateUserError!\]!](https://shopify.dev/docs/api/admin-graphql/2025-07/objects/InventoryTransferCreateUserError)
non-null
The list of errors that occurred from executing the mutation.
***
## Examples
* ### inventoryTransferCreate reference