RECIPE: Change a Site's Regional Properties via Site Properties API

Download skillThe skill is a reference md and part of wix-manage skill. You can use the following command to add the full wix-manage skill to your project:
Copy

Goal

Update a Wix site's regional properties — payment currency, time zone, or primary language — programmatically.

When to use

  • You need to switch a site's store/payment currency (for example, from USD to EUR).
  • You need to change a site's time zone or primary language.
  • You want to automate regional/business setup for sites.

Important notes before you start

  • These fields are part of Site Properties (often shown in the dashboard under regional/business info).
  • A successful update increments the Site Properties version.
  • The update is split into two calls: payment currency and time zone go through Update Business Region (values under businessRegion); primary language goes through a PATCH on the Site Properties root (value under properties).
  • Both calls take a field mask (fields.paths) naming the fields you're updating. Mask paths are top-level field names — see Gotchas.

Step 1 — (Optional) Read current site properties version

This is useful to understand the current snapshot version and other regional fields.

Copy

Step 2 — Update the properties you need

Payment currency and time zone go through Update Business Region, the documented call for them: put the new values under businessRegion and name each one in a fields.paths mask. Primary language goes through a separate, undocumented call, below — use that call for language only.

PropertyField nameValue format
Payment currencypaymentCurrency3-letter ISO-4217 code — USD, EUR, GBP
Time zonetimeZoneIANA time zone name — America/New_York, Europe/Rome
Primary languagelanguage2-letter ISO 639-1 code — en, es, it
Copy

A successful call returns an empty object {}.

Primary language: Update Business Region does not accept language. Use PATCH on the Site Properties root. This call has no method reference page, so the request below is its full contract:

Copy

Expected response

The language call returns only the updated Site Properties snapshot version — it does not echo the properties back:

Copy

To confirm the new value, re-read with the Step 1 GET.

Gotchas & troubleshooting

  • Always send a field mask: omitting fields.paths fails with 400 and "Illegal request - No updates on request body".
  • Mask paths must be top-level fields. The GET response contains a locale object (languageCode, country), which makes a path like locale.timezone look plausible — a nested path is rejected with 400 and "Illegal request - Unknown field in field mask - <path>". Time zone and language are the top-level timeZone and language fields.
  • Currency must be a 3-letter ISO-4217 code (for example, USD, CAD, EUR, GBP).
  • Update Business Region rejects language and locale in its field mask with 400 and "Illegal request - Fields Vector(<fields>) are not allowed for updateBusinessRegion". Set the language with the PATCH call.
  • Site Properties API: REST
  • Get Site Properties (full read shape): REST
  • Stores Currency Converter (conversion utilities, not for setting the site currency):
    • POST https://www.wixapis.com/currency_converter/v1/currencies/amounts/{from}/convert/{to}

Last updated: 30 September 2026

Did this help?