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.

referencescontactscreate-a-contact.md

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

Create a Contact

Description

Creates a contact, optionally with a physical address in the same call.

API Endpoint

POST https://www.wixapis.com/contacts/v5/contacts

Steps

1. Create the contact

At least one of name.first, name.last, email.email, or phone.phone must be present. Copy this body and change the values:

{
  "contact": {
    "name": { "first": "Maria", "last": "Gomez" },
    "email": { "email": "maria.gomez@example.com" },
    "phone": { "phone": "+1 212 555 0134" }
  }
}

email is a single object, exactly as above. Send a list instead — emails: [{ tag: 'MAIN', email: '…' }] — and the request still returns 200, but the field is discarded: the contact is created with no email at all. Nothing in the response reports this, so it surfaces only when something later reads the contact back and the email is missing. The same holds for phone. Read contact.email.email off the create response to confirm it was stored.

2. Add an address (optional)

Include addresses in the same create call when the user gave a street address:

{
  "contact": {
    "name": { "first": "Maria", "last": "Gomez" },
    "email": { "email": "maria.gomez@example.com" },
    "addresses": [
      {
        "tag": "HOME",
        "address": {
          "addressLine": "350 Fifth Avenue",
          "city": "New York",
          "subdivision": "US-NY",
          "postalCode": "10118",
          "country": "US"
        }
      }
    ]
  }
}

addresses[].address takes either addressLine as free text, or a structured streetAddress object — not both.

tag is one of OTHER, HOME, WORK, BILLING, SHIPPING, and that list is closed — there is no "untagged" or "none" member. When the user did not say what kind of address it is, leave tag out and it defaults to OTHER; inventing a value for that case is rejected with 400.

3. Write subdivision in ISO 3166-2 form

subdivision is the 2-letter country code, a hyphen, then 1-3 characters for the state, region, prefecture or province: US-NY, GB-ENG, FR-976. A bare state code is rejected:

HTTP 400 {"message":"contact is invalid:
`-- addresses [at index 0] is invalid:
    `-- address is invalid:
       `-- subdivision is not a valid subdivision code",
 "details":{"validationError":{"fieldViolations":[{
   "field":"contact.addresses[0].address.subdivision",
   "description":"is not a valid subdivision code","violatedRule":"FORMAT",
   "data":{"type":"SUBDIVISION"}}]}}}

The Create Contact reference describes this field as a "short code (2 or 3 letters)" and gives NY as the example, which the server does not accept. Use the hyphenated form.

country is the plain ISO 3166-1 alpha-2 code — US, no hyphen. Only subdivision carries the country prefix.

Related

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.