Custom Item Category, Rate Limits, Fulfillment Bin Support

10/16/2026, 12:00:33 AM

The orderEditAddCustomItem mutation no longer takes categoryId; use the new productCategoryId argument to link a Shopify Standard Product Taxonomy category to a custom line item. Several subscription‑related mutations—subscriptionBillingCycleContractDraftCommit, subscriptionContractCalculationCommit, subscriptionContractProductChange, and subscriptionDraftCommit—now contain explicit rate‑limiting text that warns of a top‑level THROTTLED error when limits are exceeded (the deprecation notice for subscriptionDraftCommit remains). Two new types, FulfillmentLineItemBinQuantity and FulfillmentSourceBinAllocationInput, expose per‑bin picking data for fulfillment line items and bin allocations. FulfillmentLineItem gets a binQuantities list field, while CalculatedLineItem gains a productCategory field and the older taxonomyCategory field is marked deprecated. Several enums receive added values: ArticleCreateUserErrorCode gets TOO_SHORT, BlogCreateUserErrorCode adds BLANK, DisputeEvidenceUpdateUserErrorCode includes EVIDENCE_UNDER_REVIEW, and ShippingLabelPurchaseUserErrorCode gains multiple customs‑related codes. The MailingAddress type now includes a country‑specific addressCode, and TranslatableResourceType receives a new CHECKOUT_AND_ACCOUNTS value.

Mutation Changes

🔄 Modified Mutations (5)

orderEditAddCustomItem

Adds a custom line item to an existing Order. Custom line items represent products or services not in your catalog, such as gift wrapping, installation fees, or one-off charges.

Creates a CalculatedLineItem with the specified title, price, and quantity. Changes remain in the edit session until you commit them with the orderEditCommit mutation.

Learn more about adding custom line items.

- Removed argument: categoryId
+ New argument: productCategoryId
subscriptionBillingCycleContractDraftCommit

Commits the updates of a Subscription Billing Cycle Contract draft.

Commits are rate limited per subscription contract across all apps on the store. If you exceed the limit, then the mutation returns a top-level THROTTLED error and doesn't commit. Wait before you retry.

subscriptionContractCalculationCommit

Commits a succeeded subscription contract calculation. For a create or update calculation, committing makes the calculated contract the contract's new active version used for future billing. For a billing cycle edit, committing applies the calculated contract only to the selected cycle. A calculation that provides fetchAvailableDeliveryOptions only discovered delivery options and can't be committed. Create a new calculation with the chosen delivery method, then commit it.

The calculation must be in a succeeded state, which you can confirm with the subscriptionContractCalculation query. Returns the committed contract as a SubscriptionContract, or a SubscriptionBillingCycleEditedContract for a billing cycle edit.

Commits are rate limited per subscription contract across all apps on the store. If you exceed the limit, then the mutation returns a top-level THROTTLED error and doesn't commit. Wait before you retry.

Learn how to build a subscription contract.

subscriptionContractProductChange

Allows for the easy change of a Product in a Contract or a Product price change.

Changes are rate limited per subscription contract across all apps on the store. If you exceed the limit, then the mutation returns a top-level THROTTLED error and doesn't change the contract. Wait before you retry.

subscriptionDraftCommit

Commits the updates of a Subscription Contract draft.

Commits are rate limited per subscription contract across all apps on the store. If you exceed the limit, then the mutation returns a top-level THROTTLED error and doesn't commit. Wait before you retry.

Type Changes

➕ Added Types (2)

🏗️FulfillmentLineItemBinQuantity➕ AddedOBJECT

The quantity of a fulfillment line item picked from a bin.

Fields: inventoryBin, quantity
📥FulfillmentSourceBinAllocationInput➕ AddedINPUT_OBJECT

The input fields for the quantity of a fulfillment order line item that was picked from a bin.

🔄 Modified Types (10)

🏗️ArticleCreateUserErrorCode🔄 Modified
➕ Enum value added: TOO_SHORT
🏗️BlogCreateUserErrorCode🔄 Modified
➕ Enum value added: BLANK
🏗️CalculatedLineItem🔄 Modified
➕ Field added: productCategory

The product category from
Shopify's Standard Product Taxonomy
associated with the calculated line item.

🔄 Field modified: taxonomyCategory
🏗️DisputeEvidenceUpdateUserErrorCode🔄 Modified
➕ Enum value added: EVIDENCE_UNDER_REVIEW
🏗️FulfillmentLineItem🔄 Modified
➕ Field added: binQuantities

The quantities picked from each bin.

🏗️MailingAddress🔄 Modified
➕ Field added: addressCode

A country-specific address code (e.g. Saudi short code).

🏗️PageCreateUserErrorCode🔄 Modified
➕ Enum value added: TOO_SHORT
🏗️SellingPlanGroupUserErrorCode🔄 Modified
➕ Enum value added: RESOURCE_LIST_IS_EMPTY
➕ Enum value added: MUST_HAVE_EXACTLY_ONE_ANCHOR
🏗️ShippingLabelPurchaseUserErrorCode🔄 Modified
➕ Enum value added: MISSING_CUSTOMS_ITEM_WEIGHT_AND_VALUE
➕ Enum value added: MISSING_CUSTOMS_ITEM_WEIGHT
➕ Enum value added: MISSING_CUSTOMS_ITEM_VALUE
➕ Enum value added: MISSING_HS_CODE_AND_COUNTRY_OF_ORIGIN
➕ Enum value added: INCOMPLETE_CUSTOMS_INFORMATION
➕ Enum value added: MANAGED_MARKETS_ZERO_DECLARED_VALUE
➕ Enum value added: CUSTOMS_VALUE_LIMIT_EXCEEDED
🏗️TranslatableResourceType🔄 Modified
➕ Enum value added: CHECKOUT_AND_ACCOUNTS