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.

referencescontactsbulk-label-and-unlabel-contacts.md

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

Bulk Label And Unlabel Contacts

Description

Adds and removes labels from multiple contacts using the Wix Contacts REST API.

Create labels or assign labels?

If the user asks to create a label (for example, "Create VIP, Wholesale, and Newsletter labels"), use Find or Create Label directly. Creating a label definition does not require finding contacts or starting a bulk labeling job.

POST https://www.wixapis.com/contacts/v4/labels
Content-Type: application/json

{"displayName":"VIP"}

Use the returned label and its key; newLabel distinguishes a newly created label from an existing one. For several names, make one call per name and check each result. Stop here when the request is only to create labels: do not assign them to contacts.

If the user asks to label or unlabel contacts, resolve the requested label keys first, then follow the bulk assignment flow below. Create a missing label only when that is part of the authorized request. An explicit request to create labels or apply them to a specified set of contacts authorizes that operation; otherwise confirm the target and intended change before mutating.

Bulk assignment flow

Labels are added to and removed from all contacts that meet the specified filter and search criteria. The request should specify a filter value, a search value, or both. To perform a dry run, call Query Contacts with the intended filter options.

When this method is used, a bulk job is started and the job ID is returned. The job might not complete right away, depending on its size. The job's status can be retrieved with Get Bulk Job.

IMPORTANT NOTE: When specific contacts are to be labeled, they should be filtered by id.

Steps

  1. Resolve label keys. When adding, Find or Create Label (above) returns the key. To remove a label, or to use only a label that already exists, look it up by name instead of creating it: POST https://www.wixapis.com/contacts/v4/labels/query with {"query":{"filter":{"displayName":{"$eq":"Newsletter"}}}}, and take each returned label's key.
  2. Resolve named contacts to IDs with Search Contacts, as in Update a Contact — Query Contacts cannot filter on a name: POST https://www.wixapis.com/contacts/v5/contacts/search with {"search":{"search":{"expression":"Leo Marsh"}}}. Each result in contacts has an id and name.first / name.last; keep only exact name matches. If none or more than one contact matches, stop and ask the user.
  3. Start the job with the endpoint below, filtering by the resolved IDs: {"filter":{"id":{"$in":["<CONTACT_ID>"]}},"labelKeysToAdd":["<LABEL_KEY>"]} (or labelKeysToRemove).
  4. Confirm the job finished with GET https://www.wixapis.com/contacts/v4/bulk/jobs/{jobId}; repeat until job.status is COMPLETED, then report job.successTotal and job.failedTotal.

API Endpoint

POST https://www.wixapis.com/contacts/v4/bulk/contacts/add-remove-labels

Request Example

curl -X POST \
  'https://www.wixapis.com/contacts/v4/bulk/contacts/add-remove-labels' \
  -H 'Authorization: <AUTH>' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": {
      "id": { "$in": ["<CONTACT_ID_1>", "<CONTACT_ID_2>"] }
    },
    "labelKeysToAdd": ["custom.newsletter"],
    "labelKeysToRemove": ["custom.prospect"]
  }'

Request Parameters

  • filter (object, optional): Filter criteria to identify contacts. When specific contacts are to be labeled, filter by id.
  • search (string, optional): Search query to identify contacts.
  • labelKeysToAdd (array of strings): Array of label keys to add to matching contacts.
  • labelKeysToRemove (array of strings): Array of label keys to remove from matching contacts.

Note: The request should specify a filter value, a search value, or both.

Response

The response includes a jobId which can be used to track the bulk job status:

{
  "jobId": "00000000-0000-0000-0000-000000000001"
}

Use the Get Bulk Job endpoint to check the job status.

Permissions Required

  • CONTACTS.MODIFY

Related Documentation

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.