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.

referencesrich-contentricos-converter-service.md

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

Rich Content (Ricos) Converter Service

This recipe covers how to validate and convert content between Ricos documents (Wix's rich content format) and other formats like HTML, Markdown, and plain text.

Overview

Ricos is Wix's rich content format used across various Wix applications (Blog, Stores, etc.). The Ricos Documents API provides:

  • Validation: Check if a document conforms to the Ricos format
  • Convert to Ricos: Transform HTML, Markdown, or plain text into a Ricos document
  • Convert from Ricos: Transform a Ricos document back to HTML, Markdown, or plain text

Learn more about Rich Content and Ricos document structure.

Required API Endpoints

Method Endpoint Docs
Validate Document POST https://www.wixapis.com/ricos/v1/ricos-document/validate Schema
Convert To Ricos POST https://www.wixapis.com/ricos/v1/ricos-document/convert/to-ricos Schema
Convert From Ricos POST https://www.wixapis.com/ricos/v1/ricos-document/convert/from-ricos Schema

Available Plugins

Plugins determine which content types are recognized when validating or converting. Specify them as uppercase enum values:

Plugin Enum Description
ACTION_BUTTON Call-to-action buttons
AUDIO Audio content
CODE_BLOCK Code snippets
COLLAPSIBLE_LIST Expandable/collapsible lists
DIVIDER Section dividers
EMOJI Emoji support
FILE File attachments
FONT_FAMILY Font family selection
GALLERY Image galleries
GIPHY GIF integration
HASHTAG Hashtag support
HEADING Headings (h1-h6)
HTML Raw HTML blocks
IMAGE Images
INDENT Text indentation
LAYOUT Layout containers
LINE_SPACING Line spacing control
LINK Hyperlinks
LINK_BUTTON Link buttons
LINK_PREVIEW Link previews
MENTIONS @mentions
POLL Polls
SPOILER Spoiler/hidden content
TABLE Tables
TEXT_COLOR Text color
TEXT_HIGHLIGHT Text highlighting
VERTICAL_EMBED Vertical embeds
VIDEO Video content

IMPORTANT NOTES:

  • Plugin values must be UPPERCASE enum strings (e.g., "HEADING", not "heading")
  • Content using unsupported plugins will result in validation violations
  • When converting HTML, only elements matching your plugins are converted

Step 1: Validate a Ricos Document

Check if a document conforms to the Ricos format and optionally fix issues.

Endpoint: POST https://www.wixapis.com/ricos/v1/ricos-document/validate (docs)

Request Body:

{
  "document": {
    "nodes": [
      {
        "type": "PARAGRAPH",
        "id": "p1",
        "nodes": [
          {
            "type": "TEXT",
            "id": "t1",
            "textData": {
              "text": "Hello World",
              "decorations": []
            }
          }
        ],
        "paragraphData": {}
      }
    ]
  },
  "plugins": ["HEADING", "LINK", "IMAGE", "TEXT_COLOR"],
  "fixDocument": true
}

Response:

{
  "valid": true,
  "violations": [],
  "validDocument": {
    "nodes": [
      {
        "type": "PARAGRAPH",
        "id": "p1",
        "nodes": [
          {
            "type": "TEXT",
            "id": "t1",
            "textData": {
              "text": "Hello World",
              "decorations": []
            }
          }
        ],
        "paragraphData": {}
      }
    ]
  }
}

Step 2: Convert HTML to Ricos

Transform HTML content into Ricos document format.

Endpoint: POST https://www.wixapis.com/ricos/v1/ricos-document/convert/to-ricos (docs)

Request Body:

{
  "html": "<h1>Welcome</h1><p>This is a <strong>bold</strong> paragraph with a <a href=\"https://example.com\">link</a>.</p>",
  "options": {
    "plugins": ["HEADING", "LINK", "TEXT_COLOR", "TEXT_HIGHLIGHT"]
  }
}

Response:

{
  "document": {
    "nodes": [
      {
        "type": "HEADING",
        "id": "",
        "headingData": { "level": 1 },
        "nodes": [
          { "type": "TEXT", "textData": { "text": "Welcome", "decorations": [] } }
        ]
      },
      {
        "type": "PARAGRAPH",
        "id": "",
        "nodes": [
          { "type": "TEXT", "textData": { "text": "This is a ", "decorations": [] } },
          { "type": "TEXT", "textData": { "text": "bold", "decorations": [{ "type": "BOLD", "fontWeightValue": 700 }] } },
          { "type": "TEXT", "textData": { "text": " paragraph with a ", "decorations": [] } },
          { "type": "TEXT", "textData": { "text": "link", "decorations": [{ "type": "LINK", "linkData": { "link": { "url": "https://example.com", "target": "SELF" } } }] } },
          { "type": "TEXT", "textData": { "text": ".", "decorations": [] } }
        ]
      }
    ],
    "metadata": { "version": 1 }
  }
}

Step 3: Convert Markdown to Ricos

Uses the same endpoint as HTML conversion, with markdown instead of html.

Request Body:

{
  "markdown": "# Welcome\n\nThis is a **bold** paragraph with a [link](https://example.com).",
  "options": {
    "plugins": ["HEADING", "LINK", "CODE_BLOCK"]
  }
}

Step 4: Convert Plain Text to Ricos

Request Body:

{
  "plainText": "This is plain text content.\n\nIt will be converted to paragraphs.",
  "options": {
    "plugins": []
  }
}

Step 5: Convert Ricos to HTML / Markdown / Plain Text

Convert a Ricos document back to another format.

Endpoint: POST https://www.wixapis.com/ricos/v1/ricos-document/convert/from-ricos (docs)

Request Body (to HTML):

{
  "document": {
    "nodes": [
      {
        "type": "HEADING",
        "id": "h1",
        "headingData": { "level": 1 },
        "nodes": [
          { "type": "TEXT", "id": "t1", "textData": { "text": "Welcome", "decorations": [] } }
        ]
      },
      {
        "type": "PARAGRAPH",
        "id": "p1",
        "nodes": [
          { "type": "TEXT", "id": "t2", "textData": { "text": "Hello world with ", "decorations": [] } },
          { "type": "TEXT", "id": "t3", "textData": { "text": "bold", "decorations": [{ "type": "BOLD", "fontWeightValue": 700 }] } }
        ],
        "paragraphData": {}
      }
    ]
  },
  "targetFormat": "HTML"
}

Response:

{
  "html": "<h1>Welcome</h1><p>Hello world with <span style=\"font-weight: 700\">bold</span></p>"
}

Target format options: "HTML", "MARKDOWN", "PLAIN_TEXT"

For plain text, you can include optional settings:

{
  "document": { "nodes": [...] },
  "targetFormat": "PLAIN_TEXT",
  "plainTextOptions": {
    "includeLinks": true,
    "includeMediaLinks": true
  }
}

Common Use Cases

Blog Post Content Import

When importing blog content from external sources:

  1. Convert HTML/Markdown to Ricos format using Convert To Ricos
  2. Validate the converted document with fixDocument: true
  3. Use the validated document in the Blog Posts API

Rich Content Validation Before Saving

Before saving rich content:

  1. Validate with fixDocument: true
  2. Use the returned validDocument for saving
  3. Check violations array for any issues

Round-Trip Conversion

Convert between formats for editing workflows:

  1. Convert Ricos to Markdown for a Markdown editor
  2. Convert edited Markdown back to Ricos for storage
  3. See Sample Flows for a detailed example

Gotchas & Troubleshooting

  • Maximum content length: 10,000 characters for HTML, Markdown, or plain text
  • Plugin limits: Maximum 100 plugins per request
  • Plugin name max length: 30 characters
  • If converting HTML with images but IMAGE plugin not specified, images are silently dropped
  • Always validate converted content before using in production
  • The plain text convert/from-ricos response concatenates text without separators between nodes — use includeLinks: true in plainTextOptions if you need link URLs preserved

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.