Starting with GraphQL Admin API 2026-10, creating a carrier service via carrierServiceCreate (or the REST carrier_services.json) will no longer have Shopify automatically add it to the default General shipping profile. Without an extra step, shipping rates won't appear at the merchant's checkout.
Created via API → Shopify automatically adds it to the eligible zones of the General profile → shipping rates appear at the merchant's checkout right away.
Created via API → just registered. No adding to any profile or zone. Without an extra step, shipping rates won't appear at checkout.
carrierServiceCreate mutation.
Applies to API version 2026-10 and later.
POST /admin/api/{version}/carrier_services.json.
Automatic addition is likewise removed from 2026-10 onward.
| Item | Old version (with automatic addition) | 2026-10 and later |
|---|---|---|
| Behavior on creation | Registers the service + auto-adds it to the general profile | Changed Registers the service only |
| Reflection in shipping zones | Auto-applied to eligible zones | No auto-application (add it yourself) |
| Shipping rate display at checkout | Shown immediately after creation | Until you add it to a profilewon't appear |
| Additional implementation on the app side | Not needed | Needed Manual guidance or API implementation |
In the Shopify admin, the merchant manually adds the relevant carrier-calculated rate to the appropriate shipping profile themselves. The app guides them through the steps.
Use the shipping profile APIs to add the carrier-calculated rate to the appropriate shipping profile programmatically.
Identify the code and flows that assume "create = rate shows up immediately."
Add guidance for manual addition, or automatic addition via the shipping profile APIs.
Bump the API to 2026-10 and confirm that shipping rates actually appear at checkout before rolling out to production.
It breaks when you call 2026-10 or later. Older versions keep the previous behavior until sunset, sothe behavior switches the moment you upgrade the version— keep that in mind.
carrierServiceCreate and POST .../carrier_services.json The same change applies to both paths. You're affected whichever one you use.
Create only registers the service. Providing the rate to the merchant (i.e., adding it to a profile) becomes a separate step by design.
To automate, add the carrier-calculated rate to the appropriate profile via the shipping profile API. Check the official docs for the specific REST/GraphQL field structure.
Shopify recommends that the app guide merchants to add it manually in the admin. Automatic addition via API is also possible, but firstget the flow design (guidance UI / onboarding steps)in place to be safe.