Move merchant shipping logic from DeliveryProfile to Markets safely.
Merchant-owned configuration moves to Markets. App-owned profiles remain supported. The critical task is separating those two behaviors in your code.
Data model change
Product-driven → market-driven.
Audit inventory
Eight ownership-sensitive API surfaces.
These APIs are affected for merchant-owned usage. App-owned delivery profiles continue to use the DeliveryProfile API.
deliveryProfileReaddeliveryProfilesReaddeliveryProfilesCountReaddeliveryProfileLocationGroupReaddeliveryProfileLocationGroupsReaddeliveryProfileCreateMutationdeliveryProfileUpdateMutationdeliveryProfileRemoveMutationWhy this is urgent
A successful response may still be a failed migration.
On a market-driven shop, legacy merchant-profile reads can return stale snapshots. Writes can succeed without errors but fail to update the merchant’s live shipping settings.
Detect the model
shop { features { marketDrivenShipping } }Branch while legacy and market-driven shops coexist.
Use the live source
markets { nodes { delivery { shipping { ... } } } }Use the current schema from Shopify’s docs; this snippet is intentionally conceptual.
Request the right scope
read_markets, write_marketsWriters need both. Contextual Product Feeds use read_product_listings instead.
Test both branches
legacy dev store + feature-preview dev storeValidate rate reads, mutations, checkout behavior, errors, and rollback.
Check the repository
Scan my app