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

# Configuration overview

> Overview of the Voyado Elevate configuration format defining markets and locales, with import examples for replace, edit, and remove instructions.

The configuration defines valid markets and locales in Elevate and is essential to all other operations.

It is the first import to perform, as it sets the groundwork for all subsequent imports. It acts as a reference for validating imports, queries, and notifications against market and locale parameters.

Typically, the configuration is only imported at the start of a project or when introducing new [markets](/elevate/docs/integration/essentials/markets-and-locales#markets) or [locales](/elevate/docs/integration/essentials/markets-and-locales#locales), and does not require scheduling.

This section provides an overview of the configuration format and configuration imports. For complete schemas and request details, see the [configuration import specification](/elevate/docs/api/admin/v4/import/configuration).

* The configuration consists of [market definitions](/elevate/docs/api/admin/v4/import/configuration#marketdefinition).
* Configuration imports must be encoded using `UTF-8`.
* Configuration imports must be sent with `Content-Type: application/json`.
* Configuration imports consist of a single [operation](/elevate/docs/api/admin/v4/import/configuration#configuration), describing a change to the configuration.
* Configuration imports greatly impact Elevate, can be highly destructive, and must be made with care.

<Danger>
  Removing markets and locales are **highly** destructive actions.

  Removing a market deletes all related data, including market-specific product, variant, and content information, as well as all Elevate app settings for that market.

  Removing a locale from all market definitions deletes all related data, including locale-specific product, variant, content, and localization information, as well as all Elevate app settings specific to that locale. This can happen during an update if the locale is removed from a market and no other markets support the locale.

  To prevent accidental deletions, configuration imports that result in deleted markets or locales will fail unless the query parameter `allowDestructiveImport=true` is provided.
</Danger>

## Format overview

The configuration import operation must contain a single instruction, as described in the [operation schema](/elevate/docs/api/admin/v4/import/configuration#configuration).

The instructions `replace` and `edit` contain complete and partial [market definitions](/elevate/docs/api/admin/v4/import/configuration#marketdefinition), while `remove` contains identifiers of the market definitions to remove.

### Market definition

Market definitions specify the available `locales` for a market, as well as `appSettings`.

Together with the market identifier, the locales control the allowed combinations of market and locale for requests and catalog data.

App settings determine configurations in Elevate Apps that impact the merchandiser's experience, but they have no effect on the retailer's site.

#### Example

```json title="application/json" icon="code" theme={null}
{
  "se": {
    "locales": ["sv-SE", "en-GB"],
    "appSettings": {
      "name": "Sweden",
      "currency": "SEK"
    }
  }
}
```

## Configuration import examples

### Replace configuration

The `replace` instruction sets the configuration to exactly the specified state, deleting all other market definitions.

This can be used during initial setup or, in rare cases, to ensure alignment between different environments.

```json title="application/json" icon="code" expandable theme={null}
{
  "replace": {
    "markets": {
      "se": {
        "locales": ["sv-SE", "en-GB"],
        "appSettings": {
          "name": "SE",
          "currency": "kr"
        }
      },
      "uk": {
        "locales": ["en-GB"]
      }
    }
  }
}
```

### Edit market definition

The `edit` instruction allows existing market definitions to be modified, where only the specified markets are affected.

Given the state specified by the [replace configuration example](#replace-configuration), the following example would leave `uk` unmodified and edit the existing market definition of `se`.

The modification changes `name` in `appSettings` to `Sweden`, while leaving `currency` unchanged.

It also removes support for the locale `sv-SE`, invalidating it as a locale request parameter to be used with the market `se`.

Furthermore, because no other market definition supports `sv-SE`, this update deletes all data related to the `sv-SE` locale, including locale-specific product, variant, content, and localization information, as well as all Elevate app settings connected to that locale.

```json icon="code" expandable theme={null}
{
  "edit": {
    "markets": {
      "se": {
        "locales": ["en-GB"],
        "appSettings": {
          "name": "Sweden"
        }
      }
    }
  }
}
```

#### Add market definition through edit

The `edit` instruction can also be used to add new markets to the configuration by supplying valid market definitions for previously unconfigured market identifiers.

```json icon="code" theme={null}
{
  "edit": {
    "markets": {
      "us": {
        "locales": ["en-US"]
      }
    }
  }
}
```

### Remove market

The following example removes the market definition for `us`, along with all market-related data.

This includes market-specific product, variant, and content information, as well as all Elevate app settings for the market `us`.

It also deletes all data related to any locale that was uniquely supported by `us`.

```json icon="code" theme={null}
{
  "remove": {
    "markets": ["us"]
  }
}
```

## App market configuration

In the app, under admin configuration, all available markets are listed with their `name`, `ID`, and `currency`.

The `ID` is used for queries and notifications.

Each market also contains all available `locales` and three different `preview URLs`. These can be set and viewed when adding or editing a market.

A new market can be added using the **Add Market** button. All input fields except for `preview URLs` are required to create a new market.

After a market has been created, all values can be edited except the market `ID`.

If a `locale` is removed during editing, a confirmation prompt is displayed. The prompt indicates what will be permanently lost after the removal.

The same confirmation prompt is displayed when deleting a market.

<Danger>
  Deleting a market **cannot** be undone.
</Danger>
