# Toggle Global Feature Flag

Toggle the global feature flags of a merchant based on a given `merchant_id` and `feature_flag`.

{% hint style="info" %}
You must be connected to a merchant to modify their configuration.
{% endhint %}

{% hint style="warning" %}
Merchant Configuration is currently in beta.
{% endhint %}

### Available Feature Flags

**Sync Taxonomy - `sync_taxonomy`**

When this value is `true` the merchants taxonomy data will be included during catalog syncs.\
Default: `true`

***

**Sync Product Metadata - `sync_metadata`**

When this value is `true` the merchants **Product** metadata will be included during catalog syncs. *Note: this does not include Sku metadata, that must be enabled separately.*\
Default: `false`

{% hint style="warning" %}
The inclusion of **metadata** often requires additional calls to the commerce platform API's and will increase the time it takes to sync a merchants products. It is recommended to only enable this feature if you know your merchant requires **metadata**.
{% endhint %}

***

**Sync Sku Metadata - `sync_sku_metadata`**

When this value is `true` the merchants **Sku** metadata will be included during catalog syncs.\
Default: `false`

{% hint style="warning" %}
The inclusion of **sku metadata** often requires additional calls to the commerce platform API's and will increase the time it takes to sync a merchants products. It is recommended to only enable this feature if you know your merchant requires **sku metadata**.
{% endhint %}

***

**Sync Collections - `sync_collections`**

When this value is `true` the merchants collection data will be synced. When collection syncs are enabled an initial sync will be performed immediately then additional re-syncs will occur every 24 hours. This feature is currently limited to `SHOPIFY`.\
Default: `false`

{% hint style="info" %}
Enabling **collections** will result in additional calls to commerce platform API's. It is recommended that you only enable the syncing of **collections** if the collection data is being utilized. Learn more about interacting with collections [here](https://docs.violet.io/api-reference/catalog/collections/get-all-merchant-collections).
{% endhint %}

***

**Sync Product Shipping Data - `sync_offer_shipping`**\\

When this value is `true` any per-product shipping data from the merchants system will be synced. Once this feature has been toggled on, the merchant will go into a queue for the syncing of their shipping data. This feature is currently limited to `SHOPIFY`.\
Default: `false`

{% hint style="info" %}
Enabling the syncing of **product shipping data** will result in additional calls to commerce platform API's. It is recommended that you only enable the syncing of **product shipping data** if the shipping data is being utilized. Learn more about utilizing shipping data [here](https://app.gitbook.com/s/ZrOgj5n6PuU2r0Ya8Tzl/prism/catalog/offers#offer-shipping-data).
{% endhint %}

***

**Use** [**Contextual Prices**](https://app.gitbook.com/s/ZrOgj5n6PuU2r0Ya8Tzl/prism/catalog/contextual-pricing) **- `use_contextual_prices`**

When this value is `true` any explicit, per-currency prices, that are provided by the merchant will be used instead of prices that are based on currency exchange rates. This feature is currently limited to `SHOPIFY`, `BIGCOMMERCE`, and `COMMERCETOOLS`. Contextual prices are only supported for apps using [Estimate Order](https://docs.violet.io/api-reference/orders-and-checkout/orders/estimate-order) and [Direct Order Submission](https://docs.violet.io/api-reference/orders-and-checkout/orders/create-order).\
Default: `false`

{% hint style="info" %}
Syncing contextual prices can be expensive in terms of external rate limits and sync performance so Violet will only sync the presentment currencies that match the currencies your app operates in. Please provide Violet with all currencies you currently operate in and notify Violet when support for additional currencies is added.
{% endhint %}

{% hint style="info" %}
A complete sync of the merchants product catalog will be initialized when this value is set to `true`. Depending on the size of the merchant's catalog it may take some time for all Offers to be updated with a merchants contextual prices.
{% endhint %}

{% openapi src="<https://3937396275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8lXIp71Ct5qCUhXjko2q%2Fuploads%2Fgit-blob-caf96e0a10f92bea98b14a64cb042f47958ec80a%2Fmerchant-service.yaml?alt=media>" path="/merchants/{merchant\_id}/configuration/global\_feature\_flags/{feature\_flag}" method="put" expanded="true" %}
[merchant-service.yaml](https://3937396275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8lXIp71Ct5qCUhXjko2q%2Fuploads%2Fgit-blob-caf96e0a10f92bea98b14a64cb042f47958ec80a%2Fmerchant-service.yaml?alt=media)
{% endopenapi %}
