> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# UpsertMarketInput

> The settings of a market to create or update. When updating, omit a field to leave it unchanged.

<ResponseField name="addCountryCodes" type={<a href="/docs/api-reference/v3/reference/common/country-code">[CountryCode!]</a>}>
  Destination countries to add. Required when creating. A country can belong to only one market; adding one this market already has does nothing. Each new country is set up as a market, catalog and price list on the store's sales channel. If a country is already in one of the merchant's own Shopify markets, the request fails with MARKET\_COUNTRY\_CONFLICT until `resolutions` says what to do with it.
</ResponseField>

<ResponseField name="breakdownDisplay" type={<a href="/docs/api-reference/v3/reference/markets/landed-cost-breakdown-display">LandedCostBreakdownDisplay</a>}>
  How uncharged landed-cost lines appear in the checkout breakdown. Defaults to REMOVE.
</ResponseField>

<ResponseField name="breakdownLabels" type={<a href="/docs/api-reference/v3/reference/markets/market-breakdown-labels-input">MarketBreakdownLabelsInput</a>}>
  Replaces the custom checkout breakdown labels. Send an empty object to restore the defaults.

  <Expandable title="fields" lazyRender>
    <ResponseField name="dutiesAndFees" type="String">
      The label for the duties and fees line.
    </ResponseField>

    <ResponseField name="shipping" type="String">
      The label for the shipping line.
    </ResponseField>

    <ResponseField name="taxes" type="String">
      The label for the taxes line.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="coveredByMarkup" type={<a href="/docs/api-reference/v3/reference/markets/landed-cost-component">[LandedCostComponent!]</a>}>
  Landed-cost components whose checkout charge the markup absorbs, in order. Must not overlap `includedInPrice`.
</ResponseField>

<ResponseField name="enabled" type="Boolean">
  Whether the market's pricing is live. Defaults to false.
</ResponseField>

<ResponseField name="excludedFromCheckout" type={<a href="/docs/api-reference/v3/reference/markets/landed-cost-component">[LandedCostComponent!]</a>}>
  Landed-cost components neither charged nor shown at checkout. Must not overlap `includedInPrice`.
</ResponseField>

<ResponseField name="includedInPrice" type={<a href="/docs/api-reference/v3/reference/markets/landed-cost-component">[LandedCostComponent!]</a>}>
  Landed-cost components to bake into product prices. FEES is only allowed with ADAPTIVE\_COEFFICIENT, which requires either TAXES alone or all three.
</ResponseField>

<ResponseField name="markup" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal</a>}>
  The markup on the base price, as a fraction from "0" to "1" with at most 6 decimal places (e.g. "0.1" for 10%). Defaults to 0.
</ResponseField>

<ResponseField name="markupStrategy" type={<a href="/docs/api-reference/v3/reference/markets/market-markup-strategy">MarketMarkupStrategy</a>}>
  How the markup combines with the landed cost. Defaults to ABSORBING.
</ResponseField>

<ResponseField name="name" type="String">
  The market's name. Send null or an empty string to clear.
</ResponseField>

<ResponseField name="pricingMode" type={<a href="/docs/api-reference/v3/reference/markets/market-pricing-mode">MarketPricingMode</a>}>
  How landed costs are turned into prices. Defaults to COEFFICIENT, or CALCULATED when `includedInPrice` is set.
</ResponseField>

<ResponseField name="removeCountryCodes" type={<a href="/docs/api-reference/v3/reference/common/country-code">[CountryCode!]</a>}>
  Destination countries to remove. Not allowed when creating, and each must currently be in the market. Removing a country tears down its Shopify market, catalog and price list, so shoppers there stop seeing this market's prices. The market must keep at least one country.
</ResponseField>

<ResponseField name="resolutions" type={<a href="/docs/api-reference/v3/reference/markets/market-country-conflict-resolution-input">[MarketCountryConflictResolutionInput!]</a>}>
  Resolutions for countries in `addCountryCodes` that are already in one of the merchant's own Shopify markets, as reported in a MARKET\_COUNTRY\_CONFLICT error: each conflict's `reason` explains it, and each of its `allowedResolutions` gives a `kind` to send here with an `effect` describing the outcome. TAKE\_OVER adopts that Shopify market; ARCHIVE\_EXISTING sets it to draft; REMOVE\_REGION removes the country from it. Naming a country without such a conflict fails with UNEXPECTED\_MARKET\_RESOLUTION.

  <Expandable title="fields" lazyRender>
    <ResponseField name="countryCode" type={<a href="/docs/api-reference/v3/reference/common/country-code">CountryCode!</a>} required>
      A country in `addCountryCodes`.
    </ResponseField>

    <ResponseField name="kind" type={<a href="/docs/api-reference/v3/reference/markets/market-country-conflict-resolution-kind">MarketCountryConflictResolutionKind!</a>} required>
      The resolution. Must be a `kind` from the conflict's `allowedResolutions`; its `effect` says what happens to the merchant's Shopify market.
    </ResponseField>
  </Expandable>
</ResponseField>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.