Remove InventoryBin Delete/Upsert Mutations and Related Types

10/27/2026, 12:00:34 AM

The unstable Shopify GraphQL API has dropped the InventoryBinDelete and InventoryBinUpsert mutations. All payload, error, and input types associated with those mutations – InventoryBinDeletePayload, InventoryBinDeleteUserError, InventoryBinDeleteUserErrorCode, InventoryBinUpsertPayload, InventoryBinUpsertUserError, InventoryBinUpsertUserErrorCode, and InventoryBinInput – have been removed from the schema. These mutations were only available in the unstable version and for development stores with the Physical inventory feature preview, so they never existed in the stable API. If your application relied on deleting or upserting inventory bins through GraphQL, those calls will now return a validation error or be unavailable. No direct replacement is provided in this schema, meaning you must remove or replace that functionality with an alternate approach. Developers should update their schemas and clients to reflect the absence of these fields and stop referencing them in queries and mutations. All other queries, mutations, directives, and types remain unchanged, so functionality outside of inventory blanks management is unaffected.

Mutation Changes

➖ Removed Mutations (2)

inventoryBinDelete

Deletes inventory bins.

Note:
This mutation is available only in the unstable API version and to development stores
that have enabled the Physical inventory feature preview.

inventoryBinUpsert

Creates or updates bins at a given location.

Note:
This mutation is available only in the unstable API version and to development stores
that have enabled the Physical inventory feature preview.

Type Changes

➖ Removed Types (7)

🏗️InventoryBinDeletePayload➖ RemovedOBJECT

Return type for inventoryBinDelete mutation.

Fields: deletedIds, userErrors
🏗️InventoryBinDeleteUserError➖ RemovedOBJECT

An error that occurs during the execution of InventoryBinDelete.

Fields: code, field, message
📋InventoryBinDeleteUserErrorCode➖ RemovedENUM

Possible error codes that can be returned by InventoryBinDeleteUserError.

Values: INVENTORY_GROUP_NOT_FOUND
📥InventoryBinInput➖ RemovedINPUT_OBJECT

The input fields to create or update a bin at a location.

🏗️InventoryBinUpsertPayload➖ RemovedOBJECT

Return type for inventoryBinUpsert mutation.

Fields: inventoryBins, userErrors
🏗️InventoryBinUpsertUserError➖ RemovedOBJECT

An error that occurs during the execution of InventoryBinUpsert.

Fields: code, field, message
📋InventoryBinUpsertUserErrorCode➖ RemovedENUM

Possible error codes that can be returned by InventoryBinUpsertUserError.

Values: BIN_BARCODE_TAKEN, BIN_DUPLICATED, BIN_NAME_BLANK, BIN_NAME_TAKEN, BIN_NOT_FOUND, BIN_SHOP_LIMIT_REACHED, LOCATION_NOT_FOUND, TOO_LONG