How to check via API if Carrier Calculated Shipping (CCS) is enabled for a store?

Hi everyone,

Is there any reliable way, through the Shopify API, to determine whether Carrier Calculated Shipping (CCS) is enabled for a store?

So far we’ve been inferring it from the shop’s plan, but that approach breaks down for merchants on the ‘Grow’ plan, as they might or might not have CCS depending on wether they pay the additional fee or are on annual billing,
I haven’t found an endpoint or field that definitively flags CCS availability.
Is there any other property that exposes this that I haven’t found?

Thanks in advance for any pointers!

Hi @Nicolas_Garilli

There is no direct “CCS enabled” endpoint or field, but you could use the carrierServices query to check for the presence of any active carrier service?

However this may not be very reliable if the merchant hasn’t addd a carrier service. In that case, you would still need to infer from the shop’s plan and billing details, or prompt the merchant to attempt to add a carrier service via the admin UI.

Shop’s plan and billing details are also not shown via API, so I wont be able to infer it that way.

Why not have a CCS active field on the stores?

I agree having a boolean field for ccs active would be very helpful - and I can raise this as a feature request to the relevant team. Can you describe the usecase this would unlock for you so we can evaluate investment in supporting this and what priority it should be?

When a merchant installs our third‑party carrier app and their store does not have CCS enabled—for any of the reasons we discussed—the API returns an error when we try to create our carrier service.

After this failure, we have no reliable way to know if or when the merchant later activates CCS. A store can stay on the same plan yet gain CCS by paying the extra fee or switching to annual billing.
At the moment, we must rely on the merchant to tell us once CCS is active. However, in many cases, merchants aren’t even aware of what CCS is, so they don’t understand why the carrier service wasn’t created during installation.

If the Shop resource exposed a simple ccs_active boolean, and included it in the shop/update webhook—we could detect the change automatically and retry creating the carrier service without any action from the merchant.

A clear signal indicating whether CCS is active would benefit many partners, not just us.

Thank you for considering this request :grinning_face_with_smiling_eyes: