All skills
wix avatar

/wix-manage

@4895cc9 official
by Wix.comwix/skills33 stars
33

REST recipes to configure and manage a Wix site's business solutions — stores, bookings, payments, CMS, and more. Open the matching recipe for the exact endpoint, method, and payload before calling — never guess a Wix API, never write Wix dashboard URL from memory. Routes to: stores, bookings, get-paid, CMS, contacts, forms, media, app-installation, pricing-plans, restaurants, ricos rich-content, sites, blog, calendar, domains, events, site-properties, ecommerce, marketing, google-ads, google-business-profile, analytics, accessibility, seo, dashboard-navigation.

Use this Skill: https://skilld.dev/gh/wix/skills/wix-manage

This session only. Nothing lands on disk.

referencesapp-installationinstall-wix-apps.md

≈1.8k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Install Wix Apps on a Site

This recipe guides you through installing Wix apps on a site using the Apps Installer REST API.

Prerequisites

  • Site ID where apps will be installed
  • Knowledge of which app to install (see Apps Created by Wix)

Required APIs

  • Apps Installer API: REST

Step 0: Find the App ID (skip if you already have it)

If you already know the appDefId (e.g. from the table of Wix-built apps below), skip to Step 1.

For any third-party app, or any app you only know by name, resolve the ID first using the Search Market Listings API.

Endpoint: POST https://www.wixapis.com/devcenter/app-market-listing/v1/market-listings/search

Request:

curl -X POST \
  'https://www.wixapis.com/devcenter/app-market-listing/v1/market-listings/search' \
  -H 'Authorization: <AUTH>' \
  -H 'Content-Type: application/json' \
  -d '{ "searchTerm": "Usercentrics" }'

Response (truncated):

{
  "marketListings": [
    {
      "appId": "b8cfbda5-91e8-45ad-8c8d-4d4700534ab5",
      "basicInfo": { "name": "Usercentrics for Wix", ... }
    }
  ]
}

Use the returned appId as the appDefId in Step 2.

IMPORTANT NOTES

  • The appDefId field in the install request and the appId field returned here are the same value
  • If multiple results come back, match on basicInfo.name to confirm you have the right app before installing
  • Only listings with status: "PUBLISHED" can be installed

Install the Wix App

Use the Apps Installer API to install any Wix app on a site.

Endpoint: POST https://www.wixapis.com/apps-installer-service/v1/app-instance/install

Request Body:

{
  "tenant": {
    "tenantType": "SITE",
    "id": "<SITE_ID>"
  },
  "appInstance": {
    "appDefId": "<APP_DEF_ID>"
  }
}

Request:

curl -X POST \
  'https://www.wixapis.com/apps-installer-service/v1/app-instance/install' \
  -H 'Authorization: <AUTH>' \
  -H 'Content-Type: application/json' \
  -d '{
    "tenant": {
      "tenantType": "SITE",
      "id": "<SITE_ID>"
    },
    "appInstance": {
      "appDefId": "<APP_DEF_ID>"
    }
  }'

Common App Definition IDs

Before installing, refer to the Apps Created by Wix documentation to find the correct appDefId for the app you want to install.

Some common apps:

App appDefId
Wix Stores 215238eb-22a5-4c36-9e7b-e7c08025e04e
Wix Bookings 13d21c63-b5ec-5912-8397-c3a5ddb27a97
Wix Blog 14bcded7-0066-7c35-14d7-466cb3f09103
Wix Events 140603ad-af8d-84a5-2c80-a0f60cb47351
Wix Multilingual 14d84998-ae09-1abf-c6fc-3f3cace5bf19
Wix Pricing Plans 1522827f-c56c-a5c9-2ac9-00f9e6ae12d3
Wix CMS e593b0bd-b783-45b8-97c2-873d42aacaf4

IMPORTANT NOTES:

  • NEVER guess the appDefId. For Wix-built apps, use the table above. For any other app, resolve the ID using Step 0 (Search Market Listings).
  • The tenantType MUST be SITE
  • The id in tenant is the site's metaSiteId
  • The endpoint, request body, and appDefId table above are complete and canonical for a listed Wix-built app — don't re-verify them with a separate REST/API doc search first; that's a redundant round-trip.
  • Don't spend a call checking whether the app is already installed before installing it. If the task or the error you're handling already tells you it isn't installed (e.g. a fresh site, or a *_NOT_INSTALLED error), just call install directly.

Error Handling

App Not Installed Error

If you receive an error indicating a required app is not installed (e.g. a 428 or a *_NOT_INSTALLED error code), install the app it names using its appDefId, then retry the call that failed. If the user's own request already implies this app is needed — i.e. doing what they asked requires a feature only that app provides — just install it as part of doing that task; don't stop to ask permission or name the app first. Confirm first only when the app isn't implied by anything the user asked for.

Example (install the missing app, then retry the call that surfaced the error — all in one script):

async function() {
  const siteId = "<SITE_ID>";

  await wix.request({
    method: "POST",
    url: "https://www.wixapis.com/apps-installer-service/v1/app-instance/install",
    body: {
      tenant: { tenantType: "SITE", id: siteId },
      appInstance: { appDefId: "<APP_DEF_ID>" }
    }
  });

  return await wix.request({
    method: "<METHOD>",
    url: "<ORIGINAL_URL_THAT_FAILED>",
    body: { /* original request body */ }
  });
}

App-Dependent Call Fails Right After Install (Propagation Delay)

Installing an app and then immediately calling one of its own APIs — e.g. calling Set Multilingual Mode right after installing Wix Multilingual — can race the platform's install propagation, surfacing as a not-found error on the dependent call even though the install itself already succeeded.

Example (retry with backoff past the propagation delay instead of surfacing the error, all in one script):

async function() {
  const siteId = "<SITE_ID>";

  async function requestWithRetry(requestOptions, delaysMs = [1000, 2000, 4000]) {
    let lastError;
    try {
      return await wix.request(requestOptions);
    } catch (err) {
      lastError = err;
    }
    for (const delayMs of delaysMs) {
      await new Promise(resolve => setTimeout(resolve, delayMs));
      try {
        return await wix.request(requestOptions);
      } catch (err) {
        lastError = err;
      }
    }
    throw lastError;
  }

  await wix.request({
    method: "POST",
    url: "https://www.wixapis.com/apps-installer-service/v1/app-instance/install",
    body: {
      tenant: { tenantType: "SITE", id: siteId },
      appInstance: { appDefId: "14d84998-ae09-1abf-c6fc-3f3cace5bf19" }
    }
  });

  return await requestWithRetry({
    method: "POST",
    url: "https://www.wixapis.com/locale-settings/v2/settings/mode",
    body: { multilingualModeEnabled: true }
  });
}

Chain any further calls inside this same function through the same requestWithRetry helper, after the first one succeeds.


Next Steps

After installing an app:

  • Configure the app's settings using its specific APIs
  • Set up any required app-specific data (products for Stores, services for Bookings, etc.)

Common Pitfalls

  • "I don't have the appDefId" → Run Step 0. The table in Step 2 only covers Wix-built apps; the App Market has thousands of others.
  • Don't try to scrape the App Market website to find IDs — pages are client-rendered and the appId is not in the HTML. Use Search Market Listings instead.
  • Don't try InstallAppFromShareUrl as a workaround for unknown IDs — shareUrlId is an internal identifier you generally don't have either.

Source: SKILL.md on GitHub

1 warning1d4 checks · Risk SAFE
  • Gen Agent Trust Hub1d

    The wix-manage skill is an extensive collection of management recipes for Wix sites, covering business solutions such as eCommerce, Bookings, SEO, and site provisioning. It utilizes official Wix REST endpoints and incorporates robust safety patterns, including mandatory user confirmation for sensitive operations and careful validation of site data before mutation.

  • Socket1d

    No alerts

  • Snyk1d

    Risk: MEDIUM · 1 issue

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 4895cc9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated yesterday
compatibility
Requires Wix REST API access (API key or OAuth).
  • wix
  • rest-api
  • ecommerce
  • bookings
  • cms
  • contacts
  • blog
  • domains
  • restaurants
  • site-configuration
  • api-integration

README badge

README badge for wix/skills/wix-manage

REST API operations for configuring Wix business solutions including stores, bookings, CMS, contacts, domains, and ecommerce. Routes to site setup, entity management (products, services, staff), bulk administrative operations, and server-to-server integrations across Wix's business app ecosystem.

Generated from the current SKILL.md.

Do I need API credentials to use these recipes?
Yes. The skill requires Wix REST API access via either an API key or OAuth token to execute any management operations.
Can I use these recipes to display data on my site frontend?
No. These recipes are for backend REST API operations only — site configuration, entity management, and administrative tasks. They do not cover frontend development or displaying data to users.
What business domains do these recipes cover?
The skill covers stores, bookings, payments, CMS, contacts, forms, media, apps, pricing plans, restaurants, rich content, sites, blogs, calendars, domains, and site properties.
Do these recipes handle OAuth authentication with external services like Google Calendar?
Yes. The external calendar integration recipe covers OAuth-based setup with Google Calendar, Microsoft Outlook, and Apple Calendar for bidirectional event sync.

Generated from the current SKILL.md. These answers refresh after source changes.