Shopify’s Admin GraphQL API is evolving, and with version 2027-01 a notable change lands: the marketCurrencySettingsUpdate mutation and its related types have been removed. If your app or integration still references this mutation, the request will now fail at validation, breaking your workflow. In this post we break down what changed, who needs to act, and how to migrate to the supported marketCreate and marketUpdate mutations.
What Changed
In API version 2027-01 Shopify retired the following GraphQL fields: marketCurrencySettingsUpdate, MarketCurrencySettingsUpdatePayload, MarketCurrencySettingsUserError, and MarketCurrencySettingsUserErrorCode. The mutation had been deprecated since the Markets Home launch in version 2025-04, and every call since then returned a UNIFIED_MARKETS_ENABLED error instead of updating anything. By removing the endpoint, Shopify cleans up the schema and forces developers to use the newer, unified market mutations.
Who’s Affected
If your private or public app still invokes marketCurrencySettingsUpdate, you’re directly in the line of fire. In versions 2026-10 and earlier the mutation still exists, but once you upgrade to 2027-01 the GraphQL validation layer will reject any request that references the removed field, causing the entire mutation batch to fail. Merchants and developers who already manage currency settings through marketCreate or marketUpdate are unaffected.
Action Required
Replace every lingering marketCurrencySettingsUpdate call with the appropriate market mutation. The new workflow is simple:
marketCreate and pass the desired currency settings in the input.marketUpdate with the same currency payload.marketCurrencySettingsUpdate from your codebase, tests, and documentation.Because the removed field no longer exists, an unmigrated request will cause a full‑request validation error, so it’s critical to complete the migration before moving to API version 2027-01.
Code Examples
Creating a market with currency settings
graphql
mutation CreateMarket($input: MarketCreateInput!) {
marketCreate(input: $input) {
market {
id
name
primaryCurrencyCode
secondaryCurrencyCodes
}
userErrors {
field
message
}
}
}
In the $input you can specify primaryCurrencyCode and secondaryCurrencyCodes directly, eliminating the need for a separate currency‑settings mutation.
Updating currency settings for an existing market
graphql
mutation UpdateMarket($id: ID!, $input: MarketUpdateInput!) {
marketUpdate(id: $id, input: $input) {
market {
id
primaryCurrencyCode
secondaryCurrencyCodes
}
userErrors {
field
message
}
}
}
Pass the new primaryCurrencyCode or add/remove secondaryCurrencyCodes in the same input object. No extra mutation is required.
Related Docs
marketCreate mutation — https://shopify.dev/docs/api/admin-graphql/latest/mutations/marketCreatemarketUpdate mutation — https://shopify.dev/docs/api/admin-graphql/latest/mutations/marketUpdateMarket object reference — https://shopify.dev/docs/api/admin-graphql/latest/objects/MarketConclusion
Removing marketCurrencySettingsUpdate is a clean‑up move, but it also serves as a reminder to keep your API versioning and mutation usage up‑to‑date. Swap the deprecated call for marketCreate or marketUpdate today, test against the 2027-01 schema, and you’ll avoid runtime surprises when the new version rolls out. Need help updating your integration? Reach out to our partner support or drop a comment below—we’re happy to assist!
