Skip to main content

Queries

  • market — Fetch a single market by its id.
  • markets — List markets, optionally filtered by whether they are live.

Mutations

  • upsertMarket — Create a market, or update one when id is given. Returns null if no market with that id is owned by the caller. Adding a country sets it up on the store’s sales channel, so this can take several seconds. Removing a country tears down its Shopify market, catalog and price list. Throws a 400 error with an extension code of MARKET_COUNTRIES_REQUIRED, DUPLICATE_MARKET_COUNTRY, MARKET_COUNTRY_ADDED_AND_REMOVED, MARKET_COUNTRY_NOT_IN_MARKET, INVALID_MARKUP, or INVALID_MARKET_SETTINGS when the input is invalid (settings are checked against the market as it would be after the update), a 400 error with an extension code of UNEXPECTED_MARKET_RESOLUTION for a resolution no conflict needs, a 409 CONFLICT error (with an extension code of MARKET_COUNTRY_IN_USE) when a country already belongs to another market, and a 409 CONFLICT error (with an extension code of MARKET_COUNTRY_CONFLICT and a conflicts extension listing, per country, the conflicting Shopify market handle, its other countries, a reason sentence explaining the conflict, and allowedResolutions as { kind, effect } pairs whose effect says what that choice does to the merchant’s Shopify market) when a country being added is in one of the merchant’s own Shopify markets without an allowed resolution. Nothing is written when a request fails.

Objects

  • Market — A cross-border market: a set of destination countries that share one landed-cost pricing policy.
  • MarketBreakdownLabels — Shopper-facing labels for the checkout landed-cost breakdown. A null label uses the default wording.
  • MarketCountry — A destination country a market sells into.

Input objects

  • MarketBreakdownLabelsInput — Custom labels for the checkout landed-cost breakdown. Each is 1–80 characters; omit a label to use the default wording.
  • MarketCountryConflictResolutionInput — How to resolve a country being added that is already in a Shopify market Redo does not manage.
  • UpsertMarketInput — The settings of a market to create or update. When updating, omit a field to leave it unchanged.

Enums