Add inventory bin move; tolerant fileDelete; workflow trigger

11/4/2026, 12:00:44 AM

The schema introduces a new inventoryBinMoveCreate mutation that allows moving inventory between bins or between a bin and a system bin at a specified location. The mutation is idempotent; retrying with the same idempotency key returns the original bin move. A payload type InventoryBinMoveCreatePayload is returned, containing the created InventoryBinMove object and a list of InventoryBinMoveCreateUserError for validation errors. The fileDelete mutation now accepts a ignoreMissing: Boolean argument (default false) so deletions can skip missing file IDs without error. The AutomationWorkflow type receives a new trigger field, exposing the trigger task and event schema via the AutomationTrigger type. Accompanying object types (InventoryBinMove, AutomationTrigger, etc.) are added to represent these new features.

Mutation Changes

βž• Added Mutations (1)

inventoryBinMoveCreate

Moves inventory between bins at a location, or between a bin and a system bin.
Requires an @idempotent directive. Retrying with the same key returns the original bin move.

πŸ”„ Modified Mutations (1)

fileDelete

Deletes file assets that were previously uploaded to your store.

Use the fileDelete mutation to permanently remove media and file assets from your store when they are no longer needed.
This mutation handles the complete removal of files from both your store's file library and any associated references
to products or other resources.

The fileDelete mutation supports removal of multiple file types:

  • Images: Product photos, variant images, and general store imagery
  • Videos: Shopify-hosted videos for product demonstrations and marketing content
  • External Videos: YouTube and Vimeo videos linked to your products
  • 3D models: Interactive 3D representations of products
  • Generic files: PDFs, documents, and other file types stored in your
    Files page

When you delete files that are referenced by products, the mutation automatically removes those references and
reorders any remaining media to maintain proper positioning. Product file references are database relationships
managed through a media reference system, not just links in product descriptions. The Shopify admin provides a UI
to manage these relationships, and when files are deleted, the system automatically cleans up all references.
Files that are currently being processed by other operations are rejected to prevent conflicts.

Caution:
File deletion is permanent and can't be undone. When you delete a file that's being used in your store,
it will immediately stop appearing wherever it was displayed. For example, if you delete a product image,
that product will show a broken image or placeholder on your storefront and in the admin. The same applies
to any other files linked from themes, blog posts, or pages. Before deleting files, you can use the
files query to list and review
your store's file assets.

Learn how to manage
product media and file assets
in your app.

+ New argument: ignoreMissing

Type Changes

βž• Added Types (17)

πŸ—οΈAutomationTriggerβž• AddedOBJECT

The trigger of an automation version, with the schema of the event payload it receives.

Fields: task, testEventSchema
πŸ—οΈInventoryBinMoveβž• AddedOBJECT

A record of stock moved between bins at a location.

Fields: app, createdAt, id, location, movements ... +2 more
πŸ—οΈInventoryBinMoveCreatePayloadβž• AddedOBJECT

Return type for inventoryBinMoveCreate mutation.

Fields: inventoryBinMove, userErrors
πŸ—οΈInventoryBinMoveCreateUserErrorβž• AddedOBJECT

An error that occurs during the execution of InventoryBinMoveCreate.

Fields: code, field, message
πŸ“‹InventoryBinMoveCreateUserErrorCodeβž• AddedENUM

Possible error codes that can be returned by InventoryBinMoveCreateUserError.

Values: CHANGE_FROM_QUANTITY_STALE, IDEMPOTENCY_CONCURRENT_REQUEST, IDEMPOTENCY_KEY_PARAMETER_MISMATCH, IDEMPOTENCY_PREVIOUS_ATTEMPT_FAILED, INVALID_ITEM, INVALID_QUANTITY, ITEMS_EMPTY, RESOURCE_NOT_FOUND
πŸ“₯InventoryBinMoveItemInputβž• AddedINPUT_OBJECT

The input fields for moving units of an inventory item between bins.

πŸ—οΈInventoryMovementβž• AddedOBJECT

Represents a posted change to inventory quantities between two inventory groups.

Fields: app, completedAt, createdAt, id, isCompleted ... +4 more
πŸ“₯InventoryMovementBinInputβž• AddedINPUT_OBJECT

The input fields for a bin that is the origin or destination of an inventory movement item.

πŸ—οΈInventoryMovementConnectionβž• AddedOBJECT

An auto-generated type for paginating through multiple InventoryMovements.

Fields: edges, nodes, pageInfo
πŸ—οΈInventoryMovementEdgeβž• AddedOBJECT

An auto-generated type which holds one InventoryMovement and a cursor during pagination.

Fields: cursor, node
πŸ”€InventoryMovementEndpointβž• AddedUNION

The origin or destination of an inventory movement item.

πŸ“₯InventoryMovementEndpointInputβž• AddedINPUT_OBJECT

The input fields for the origin or destination of an inventory movement item. Specify exactly one.

πŸ—οΈInventoryMovementItemβž• AddedOBJECT

Represents an inventory item moved between two inventory groups as part of an inventory movement.

Fields: from, fromQuantityAfter, id, inventoryItem, movement ... +3 more
πŸ—οΈInventoryMovementItemConnectionβž• AddedOBJECT

An auto-generated type for paginating through multiple InventoryMovementItems.

Fields: edges, nodes, pageInfo
πŸ—οΈInventoryMovementItemEdgeβž• AddedOBJECT

An auto-generated type which holds one InventoryMovementItem and a cursor during pagination.

Fields: cursor, node
πŸ—οΈInventorySystemBinβž• AddedOBJECT

A system-managed inventory bin.

Fields: id, identifier, name
πŸ“‹InventorySystemBinIdentifierβž• AddedENUM

The identifier of a system bin.

Values: ADDED, REMOVED

πŸ”„ Modified Types (1)

πŸ—οΈAutomationWorkflowπŸ”„ Modified
βž• Field added: trigger

The trigger of this version and the schema of its event payload. Null when the version has no trigger, has more than one, or its trigger task can't be found.