A developer encountered an error stating “Field ‘cartCreate’ doesn’t exist on type ‘Mutation’” when attempting to use Shopify’s cartCreate mutation.
Root Cause Identified:
The mutation was being sent to the Admin API instead of the Storefront API. The cartCreate mutation only exists in the Storefront API.
Solution Steps:
Switch to using the Storefront API with proper authentication
Use the storefront access token as documented in Shopify’s authentication guide
Enable Storefront API access in the app settings (App Dashboard > App Name > App Setup)
Additional Issues Noted:
The original mutation contained validation errors in the buyerIdentity fields (incorrect country code and zip format)
Recommendation to start with a minimal mutation and gradually add fields to isolate errors
The developer confirmed having granted all permissions but was still using the wrong API endpoint. Once corrected to use the Storefront API, the mutation should work properly.
Summarized with AI on November 14.
AI used: claude-sonnet-4-5-20250929.
This does sound like a strange error as the cartCreate mutation is available on the storefront API, but here’s a few things you could check to troubleshoot this:
Does the app have access to the Storefront API? You can enable this on your partner dashboard at Apps > App name > App Setup
Are you using an up to date API version?
Are you using a client like Postman to run mutations? If so is there something on Postman’s side which could be causing this?
Try the above and let us know if you’re still seeing issues.
Thanks for confirming that. Testing this here, it looks like you’re making the cartCreate mutation to the admin api instead of the storefront API. I received the exact same error when I tried cartCreate in the admin api.
Once you’re making requests to the storefront API, I did notice that your buyer identity fields have some errors (mainly incorrect country and zip). That is going to return some errors as well.
I’d recommend for next steps to start with a very basic mutation, like the one provided below and then slowly add in the fields you need, testing each step of the way to catch those errors!