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.

referencessitesquery-sites.md

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

Query Sites

List, count, and find the sites in a Wix account.

  • Auth: account-level (a Wix user token, or an account-level API key).
  • Permission: SITE_LIST.READ (scope SCOPE.ACC-DC-OS.READ-SITE).
  • Endpoints: list POST https://www.wixapis.com/site-list/v2/sites/query · count POST https://www.wixapis.com/site-list/v2/sites/count.

Include headless sites — filter by namespace

Both endpoints see only WIX-namespace sites by default; headless sites (anything built on a connected OAuth app) are silently excluded. Filter on both namespaces to see everything:

curl -X POST 'https://www.wixapis.com/site-list/v2/sites/query' \
  -H 'Authorization: <ACCOUNT_TOKEN>' -H 'Content-Type: application/json' \
  -d '{ "query": { "filter": { "namespace": { "$in": ["WIX", "HEADLESS"] } }, "cursorPaging": { "limit": 100 } } }'

query takes optional filter, sort (e.g. [{ "fieldName": "createdDate", "order": "DESC" }]), and cursorPaging (max limit 100).

Count before you enumerate

An account can hold thousands of sites. To find one by name, search (see "Find a site by name") rather than enumerate. To walk the whole list, count first and decide whether that's worth it:

curl -X POST 'https://www.wixapis.com/site-list/v2/sites/count' \
  -H 'Authorization: <ACCOUNT_TOKEN>' -H 'Content-Type: application/json' \
  -d '{ "filter": { "namespace": { "$in": ["WIX", "HEADLESS"] } } }'   # → { "count": 1335 }

Enumerating costs ~0.7s per 100 sites (100 → ~0.7s, 500 → ~3.4s, ~1,300 → ~9s). For a large count, render the first N sites with a "…and N more" note instead of fetching all of them.

Paginate

The next cursor is at metadata.cursors.next (there is no pagingMetadata field); it already encodes the filter/sort, so follow-up pages send only the cursor:

async function listAllSites(wixPost) {
  const sites = [];
  let cursor = null;
  do {
    const query = cursor
      ? { cursorPaging: { limit: 100, cursor } }
      : { filter: { namespace: { $in: ["WIX", "HEADLESS"] } }, cursorPaging: { limit: 100 } };
    const res = await wixPost("/site-list/v2/sites/query", { query });
    sites.push(...res.sites);
    cursor = res.metadata.hasNext ? res.metadata.cursors.next : null;
  } while (cursor);
  return sites;
}

Find a site by name

Substring-search by display name with GET manage.wix.com/account/sites/api/sites/search. It returns full site records (headless included) and, with getCount=true, the total:

curl 'https://manage.wix.com/account/sites/api/sites/search?query=kintsugi&getCount=true' \
  -H 'Authorization: <ACCOUNT_TOKEN>' -H 'accept: application/json'
# → { "sites": [ { "metaSiteId", "displayName", "namespace", "published", "editUrl", … } ], "totalCount": 5 }

Response — the Site object

sites is an array of:

interface Site {
  id: string;                 // site ID — use for site-level API calls
  htmlAppId: string;
  name: string;               // URL slug / internal name; opaque `headless-<id>` for headless sites
  displayName: string;        // human-readable name
  createdDate: string;        // ISO datetime
  updatedDate: string;        // ISO datetime
  trashedDate?: string;       // present only when the site is in the trash
  published: boolean;
  premium: boolean;           // has a Wix Premium (paid) plan
  viewUrl: string;            // public address; "" when unpublished (there is no `siteUrl` field)
  editUrl: string;            // relative; prefix with https://manage.wix.com to open
  thumbnail: string;
  ownerAccountId: string;
  contributorAccountIds: string[];
  editorType: string;         // EDITOR | ODEDITOR | STUDIO | EDITORLESS
  blocked: boolean;
  folderId?: string;          // set for sites organized in folders / parent-child setups
  namespace: string;          // WIX | HEADLESS
  domainConnected: boolean;
  parentChildRole: string;    // e.g. NONE
}

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.