App-owned DeliveryProfile
Choose this whenYour app creates and manages only its own rates.
Upgrade actionKeep the DeliveryProfile APIs. Verify ownership, and use coversAllItems if it matches your app’s model.
Scopes: No additional scope listedThe correct replacement depends on whether your app owns the profile, reads merchant configuration, writes it, or can become a sales channel.
Choose this whenYour app creates and manages only its own rates.
Upgrade actionKeep the DeliveryProfile APIs. Verify ownership, and use coversAllItems if it matches your app’s model.
Scopes: No additional scope listedChoose this whenYou read combined merchant and app rates and can operate as a sales channel.
Upgrade actionShopify’s preferred reader path avoids branching between legacy and market-driven stores.
Scopes: read_product_listingsChoose this whenYou must read merchant shipping configuration directly.
Upgrade actionBranch on ShopFeatures.marketDrivenShipping. Read Market.delivery.shipping for migrated shops.
Scopes: read_marketsChoose this whenApp-owned profiles cannot represent your use case and you must modify merchant configuration.
Upgrade actionBranch during rollout. Use marketCreate and marketUpdate for migrated shops.
Scopes: read_markets + write_marketsDuring rollout: Apps using direct Markets reads or writes must branch between market-driven and legacy stores until all merchants have migrated.
Dates are targets and can shift. Use the feature-preview development store and the current upgrade guide before shipping changes.