6/23/2026, 12:00:29 AM
The API now clarifies that the customer kept in a merge is determined by explicit override or email/account consent rules; arguments ‘customerOneId’ and ‘customerTwoId’ are no longer implied to be kept. The resultingCustomerId field in preview, payload, and request now describes an authoritative kept customer ID. Old marketing‑consent fields on CustomerPhoneNumber (marketingCollectedFrom, marketingOptInLevel, marketingState, marketingUpdatedAt, sourceLocation) are deprecated and replaced with the nested smsMarketingConsent fields. New input objects CollectionUpdateSourceTargetInput, CollectionUpdateSubCollectionsSourceInput, and CollectionSourceExclusionConditionUpdateCollectionInput enable updating collection sources by condition or sub‑collections. CollectionExclusionProductSelection no longer exposes variantIds. DeliveryProfile adds a coversAllItems switch that overrides explicit variant assignments. The Market type has dropped channels and channelsCount. Shipping configuration references have been unified: DeliveryMarketProfile is removed and its fields moved into the ShippingConfiguration interface, with updated option description and counts. New enum values MAXIMUM_CART_TRANSFORMS and MAXIMUM_PAYMENT_CUSTOMIZATIONS were added. Developers should update queries, mutations, and client schemas to reflect these deprecations, use the new marketing consent fields, and incorporate the new collection source input types and delivery profile flag. All other API behavior remains unchanged.
Retrieves a collection by its ID.
A collection represents a grouping of products
that merchants can display and sell as a group in their online store and
other sales channels.
Use the collection query when you need to:
A collection determines which products it includes through conditions that automatically include
products that match, and through manual selections of individual products. Each collection has
associated metadata including title, description, handle, image, and
metafields.
Returns a preview of a customer merge request.
The customerOneId and customerTwoId arguments don't guarantee which customer is kept. Shopify
selects the resulting customer in this order:
overrideFields.customerIdOfEmailToKeep is provided and valid, then the selected customer is kept.enabled account wins over other account states; otherwise, aninvited account can win when consent doesn't already prefer subscribed or pending; otherwisecustomerTwoId is kept.customerTwoId is kept.Merges two customers.
The customerOneId and customerTwoId arguments don't guarantee which customer is kept. Shopify
selects the resulting customer in this order:
overrideFields.customerIdOfEmailToKeep is provided and valid, then the selected customer is kept.enabled account wins over other account states; otherwise, aninvited account can win when consent doesn't already prefer subscribed or pending; otherwisecustomerTwoId is kept.customerTwoId is kept.Use customerMergePreview and resultingCustomerId to check which customer will be kept before merging.
The input fields for updating an exclusion condition based on collections.
The input fields for updating a collection source - provide the one field that represents the type of source to update.
The input fields for updating a sub-collection source — a source whose membership comes from one or more referenced collections.
The shipping configuration attached to a market. Defines the shipping
options available when a buyer is resolved to that market.
MAXIMUM_CART_TRANSFORMSvariantIdsresultingCustomerIdresultingCustomerIdresultingCustomerIdmarketingCollectedFrommarketingOptInLevelmarketingStatemarketingUpdatedAtsourceLocationcoversAllItemsWhether this delivery profile covers every shippable product variant in the shop. Rates from a profile with coversAllItems: true apply to all items at checkout, overriding any explicit product or variant assignments.
channelschannelsCountshippingMAXIMUM_PAYMENT_CUSTOMIZATIONSactiveOptionDefinitionsCountidoptionDefinitionsoptionDefinitionsCount