Executive summary
- What: Admin GraphQL API version 2027-01 removes the marketCurrencySettingsUpdate mutation along with its payload and user error types.
- Why: The mutation has returned an error on every request since Markets Home shipped, so the removal converts a silent no-op into a hard validation failure you need to see coming.
- Who: Teams maintaining apps, middleware, or internal scripts that still reference the mutation anywhere in their Admin API calls.
What changed
Four schema members disappear in 2027-01: the marketCurrencySettingsUpdate mutation, MarketCurrencySettingsUpdatePayload, MarketCurrencySettingsUserError, and MarketCurrencySettingsUserErrorCode. The mutation was deprecated when Markets Home launched in version 2025-04, and once that version became inaccessible every call began returning a UNIFIED_MARKETS_ENABLED user error instead of writing anything.
The replacement path is marketCreate and marketUpdate. Both accept currency settings directly in their input, so the separate call that used to be required is now redundant rather than merely deprecated. Version 2026-10 and earlier are unaffected and keep the mutation for the remainder of their supported lifetime.
Why it matters
The substance here is the change in failure mode, not the deprecation itself. Today an unmigrated call fails softly: the request succeeds, the response carries a user error, and any code that only checks the HTTP status treats the operation as fine. In 2027-01 the document references a field that no longer exists in the schema, so the request is rejected at validation before anything executes.
For Plus merchants that matters most where mutations are batched. If marketCurrencySettingsUpdate sits in the same GraphQL document as operations that do work, the validation failure takes those sibling operations down with it. A dead call that has been harmlessly inert for over a year becomes the reason an unrelated market or catalog update stops running.
There is also a diagnostic angle. Any codebase still calling this mutation has failed to apply currency settings for a long time unnoticed. Before migrating, confirm those settings are actually correct in Markets today.
If Markets configuration is central to your roadmap, our overview of how enterprise brands use Shopify Markets for global expansion gives the wider context.
Role-specific impact
- Marketers: No direct effect. Pricing, rounding, and currency presentation to buyers are unchanged. Market currency behaviour continues to be managed through Markets rather than a standalone API call.
- Developers: Search your codebase and any partner integrations for the mutation name, then move the currency settings into the marketCreate or marketUpdate input. The required scopes remain read_markets and write_markets, so no access request is involved.
- Store admins: Nothing changes in the admin interface. Markets Home remains the place to review and adjust market currency settings, and it is the fastest way to verify that reality matches what your integration believed it was setting.
Use-case example
Real-world scenario
A manufacturer sells into nine markets on Shopify Plus, with a nightly job that pushes updated foreign exchange rules from its ERP into market currency settings. The job was written against 2024-10 and calls marketCurrencySettingsUpdate for each market, then logs only on a non-200 response. It has reported nine successes a night since the deprecation while applying zero changes.
Two things follow. First, the rates in Markets have drifted from the ERP for that whole period, which is a margin question for finance rather than a purely technical one. Second, once the integration is pinned to 2027-01 that job stops running rather than quietly doing nothing. Rewriting the nine calls against marketUpdate is far cheaper before the version bump than during it.
Implementation checklist
- Search all application code, scheduled jobs, and third-party integrations for marketCurrencySettingsUpdate.
- For each hit, record the market and the currency settings the call was intended to apply.
- Compare those intended settings against the live configuration in Markets, and correct any drift first.
- Move the currency settings into the marketCreate input for new markets and the marketUpdate input for existing ones.
- Add response-body error handling to any job that checks only the HTTP status code, so the next silent failure surfaces immediately.
- Schedule the version bump to 2027-01 only after every reference is removed and regression tested.
FAQ
Q: We are pinned to 2026-04. Do we need to act now?
A: Not urgently, but the calls are already doing nothing. Versions 2026-10 and earlier keep the mutation until their support window closes, so the work is the same whether you do it now or alongside the upgrade. Doing it now separates a data-correctness problem from a version migration.
Q: Is there any behaviour in the old mutation that marketCreate and marketUpdate cannot reproduce?
A: No. Both mutations accept currency settings directly in their input, which is why the standalone mutation was retired rather than replaced with a like-for-like equivalent.
Resources
marketUpdate mutation reference
Need guidance? Talk to Makro.