wix

Wix API for website management. Use when user mentions "Wix", "wix.com", "wixsite.com", shares a Wix link, "Wix site", or asks about Wix CMS.

50 stars

Best use case

wix is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Wix API for website management. Use when user mentions "Wix", "wix.com", "wixsite.com", shares a Wix link, "Wix site", or asks about Wix CMS.

Teams using wix should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/wix/SKILL.md --create-dirs "https://raw.githubusercontent.com/vm0-ai/vm0-skills/main/wix/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/wix/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How wix Compares

Feature / AgentwixStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Wix API for website management. Use when user mentions "Wix", "wix.com", "wixsite.com", shares a Wix link, "Wix site", or asks about Wix CMS.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

## Troubleshooting

If requests fail, run `zero doctor check-connector --env-name WIX_TOKEN` or `zero doctor check-connector --url https://www.wixapis.com/apps/v1/instance --method GET`

## Core APIs

### Get Site Info

```bash
curl -s "https://www.wixapis.com/apps/v1/instance" --header "Authorization: Bearer $WIX_TOKEN" | jq '{instanceId: .instance.instanceId, appName: .instance.appName, siteName: .site.siteDisplayName, ownerEmail: .site.ownerEmail}'
```

### List Contacts

Requires CRM feature enabled on the site.

```bash
cat > /tmp/request.json << 'EOF'
{
  "search": {
    "paging": {
      "limit": 20,
      "offset": 0
    }
  }
}
EOF
curl -s -X POST "https://www.wixapis.com/crm/v3/contacts/search" --header "Authorization: Bearer $WIX_TOKEN" --header "Content-Type: application/json" -d @/tmp/request.json | jq '.contacts[] | {id, email: .primaryInfo.email, name: .info.name}'
```

### Get a Contact

Replace `<contact-id>` with the contact's ID:

```bash
curl -s "https://www.wixapis.com/crm/v3/contacts/<contact-id>" --header "Authorization: Bearer $WIX_TOKEN" | jq '{id, name: .info.name, emails: .info.emails, phones: .info.phones, createdDate}'
```

### Create a Contact

```bash
cat > /tmp/request.json << 'EOF'
{
  "info": {
    "name": {
      "first": "Jane",
      "last": "Doe"
    },
    "emails": {
      "items": [
        {
          "email": "jane.doe@example.com",
          "tag": "MAIN"
        }
      ]
    },
    "phones": {
      "items": [
        {
          "phone": "+1-555-0100",
          "tag": "MOBILE"
        }
      ]
    }
  }
}
EOF
curl -s -X POST "https://www.wixapis.com/crm/v3/contacts" --header "Authorization: Bearer $WIX_TOKEN" --header "Content-Type: application/json" -d @/tmp/request.json | jq '{id: .contact.id, name: .contact.info.name}'
```

### Update a Contact

Replace `<contact-id>` with the contact's ID:

```bash
cat > /tmp/request.json << 'EOF'
{
  "info": {
    "name": {
      "first": "Jane",
      "last": "Smith"
    }
  }
}
EOF
curl -s -X PATCH "https://www.wixapis.com/crm/v3/contacts/<contact-id>" --header "Authorization: Bearer $WIX_TOKEN" --header "Content-Type: application/json" -d @/tmp/request.json | jq '.contact | {id, name: .info.name}'
```

### List Blog Posts

Requires Blog feature enabled on the site.

```bash
cat > /tmp/request.json << 'EOF'
{
  "paging": {
    "limit": 10,
    "offset": 0
  },
  "fieldsets": ["URL", "RICH_CONTENT"]
}
EOF
curl -s -X POST "https://www.wixapis.com/blog/v3/posts/list" --header "Authorization: Bearer $WIX_TOKEN" --header "Content-Type: application/json" -d @/tmp/request.json | jq '.posts[] | {id, title, status, publishedDate, url: .url.base}'
```

### Get a Blog Post

Replace `<post-id>` with the post's ID:

```bash
curl -s "https://www.wixapis.com/blog/v3/posts/<post-id>" --header "Authorization: Bearer $WIX_TOKEN" | jq '{id, title, status, publishedDate, excerpt}'
```

### Create a Draft Blog Post

Requires Blog feature enabled on the site. The `memberId` field is optional — omit it if you don't have a specific author ID.

```bash
cat > /tmp/request.json << 'EOF'
{
  "draftPost": {
    "title": "My New Blog Post",
    "excerpt": "A brief summary of the post."
  }
}
EOF
curl -s -X POST "https://www.wixapis.com/blog/v3/draft-posts" --header "Authorization: Bearer $WIX_TOKEN" --header "Content-Type: application/json" -d @/tmp/request.json | jq '{id: .draftPost.id, title: .draftPost.title, status: .draftPost.status}'
```

### Query Store Products

Requires Wix Stores feature enabled on the site.

```bash
cat > /tmp/request.json << 'EOF'
{
  "query": {
    "paging": {
      "limit": 20,
      "offset": 0
    }
  }
}
EOF
curl -s -X POST "https://www.wixapis.com/stores/v1/products/query" --header "Authorization: Bearer $WIX_TOKEN" --header "Content-Type: application/json" -d @/tmp/request.json | jq '.products[] | {id, name, description, price: .price.formatted.price, inStock}'
```

### Get a Product

Replace `<product-id>` with the product's ID:

```bash
curl -s "https://www.wixapis.com/stores/v1/products/<product-id>" --header "Authorization: Bearer $WIX_TOKEN" | jq '{id, name, description, price: .product.price.formatted.price, stock: .product.stock}'
```

### Search Orders

Requires Wix Stores feature enabled on the site.

```bash
cat > /tmp/request.json << 'EOF'
{
  "search": {
    "paging": {
      "limit": 20,
      "offset": 0
    }
  }
}
EOF
curl -s -X POST "https://www.wixapis.com/ecom/v1/orders/search" --header "Authorization: Bearer $WIX_TOKEN" --header "Content-Type: application/json" -d @/tmp/request.json | jq '.orders[] | {id, number, status, buyerInfo: .buyerInfo.email, total: .priceSummary.total.formattedAmount, createdDate}'
```

### Get an Order

Replace `<order-id>` with the order's ID:

```bash
curl -s "https://www.wixapis.com/ecom/v1/orders/<order-id>" --header "Authorization: Bearer $WIX_TOKEN" | jq '{id, number, status, buyer: .buyerInfo.email, total: .priceSummary.total.formattedAmount, lineItems: [.lineItems[] | {name: .productName.original, quantity, price: .price.formattedAmount}]}'
```

## Notes

- All API endpoints require a Wix site to have the VM0 app installed
- The access token is tied to the specific site where the app was installed
- CRM, Blog, and Store APIs only work if the site has those features installed/enabled
- Contacts API: use `MAIN` tag for primary email/phone
- The `memberId` field in blog post creation is optional — omit it if no specific author ID is available

Related Skills

zoom

50
from vm0-ai/vm0-skills

Zoom API for managing meetings, webinars, cloud recordings, and user data. Use when user mentions "Zoom", "Zoom meeting", "join URL", "cloud recording", or "webinar".

zeptomail

50
from vm0-ai/vm0-skills

ZeptoMail API for transactional email. Use when user mentions "ZeptoMail", "transactional email", "send email", or Zoho email.

zep

50
from vm0-ai/vm0-skills

Zep API for long-term memory and conversation history management in AI agents. Use when user mentions "Zep", "conversation memory", "session memory", "memory search", "user facts", "agent memory", or "long-term memory".

zendesk

50
from vm0-ai/vm0-skills

Zendesk API for customer support. Use when user mentions "Zendesk", "support ticket", "customer service", or help desk.

zapsign

50
from vm0-ai/vm0-skills

ZapSign API for e-signatures. Use when user mentions "ZapSign", "e-signature", "sign document", or Brazilian e-signature.

zapier

50
from vm0-ai/vm0-skills

Zapier API for workflow automation. Use when user mentions "Zapier", "zap", "automation", or asks about connecting apps.

youtube

50
from vm0-ai/vm0-skills

YouTube API for videos and channels. Use when user mentions "YouTube", "youtube.com", "youtu.be", shares a video link, "channel stats", or asks about video content.

xero

50
from vm0-ai/vm0-skills

Xero API for accounting. Use when user mentions "Xero", "accounting", "invoices", "bookkeeping", or asks about financial management.

x

50
from vm0-ai/vm0-skills

X (Twitter) API for tweets and profiles. Use when user mentions "X", "Twitter", "x.com", "twitter.com", shares a tweet link, "check X", or asks about social media posts.

wrike

50
from vm0-ai/vm0-skills

Wrike API for project management. Use when user mentions "Wrike", "wrike.com", shares a Wrike link, "Wrike task", or asks about Wrike workspace.

workos

50
from vm0-ai/vm0-skills

WorkOS API for enterprise SSO, SCIM directory sync, RBAC fine-grained authorization, and audit logs. Use when user mentions "WorkOS", "SSO", "SAML", "SCIM", "directory sync", "enterprise authentication", "audit log", or "fine-grained authorization".

workflow-migration

50
from vm0-ai/vm0-skills

VM0 migration helper for Claude Code workflows. Use when user says "migrate to VM0", "move to VM0", "convert skill to VM0", or asks about migrating local Claude Code workflows.