All skills
wix avatar

/wix-docs

@c60b367 official
by Wix.comwix/skills33 stars
33

Look up the Wix API/SDK documentation to confirm an exact endpoint, HTTP method, request/response shape, field, enum, or error before writing Wix code — never guess a Wix API from memory. A lookup is a short flow: find the right page, then read it. Two ways: (1) plain `curl` (zero dependencies) — find a page by **semantic search** (`POST /mcp-docs-search/v1/docs/search`, natural-language `{ search_term, document_type(s) }`, incl. the SKILLS recipe corpus for multi-step workflows) **or by browsing** a docs portal as a menu — a structured, typed, counted browse of the REST, SDK, CLI, Build Apps, and Headless portals (`POST /mcp-docs-search/v1/docs/menu/browse`), or the `.md` menu tree from the `llms.txt` root for any surface — then read the page by appending `.md` to its URL; (2) the Wix MCP doc tools when present. Triggers: look up a Wix API, find the Wix endpoint/method, confirm a Wix request body or field, verify a Wix API shape, explore Wix docs, which Wix API do I call, read a Wix method schema.

Use this Skill: https://skilld.dev/gh/wix/skills/wix-docs

This session only. Nothing lands on disk.

referencesCALLING.md

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

From docs to calls — identities, tokens, site context

You've confirmed the contract (SKILL.md); this is the execution side: which identity the call runs under, how to mint its token, and how to see what a site actually has installed.

Which identity?

Wix APIs run under several identities — Wix user (admin), app, site member, site visitor — and each method documents which it accepts: check the method page's permissions/identity notes rather than assuming. The identity model: about-identities (append .md to read). The two tokens you mint most often:

token minted from typical use
admin API key, connector, OAuth-app admin grant, or the Wix CLI managing the site — ad hoc calls, or the same fetch inside an app's backend function
visitor the site's OAuth app client id, anonymous grant anonymous end-user calls from the site's frontend — storefront reads, cart, checkout

A logged-in member is a third case: member calls use a member token (the same /oauth2/token endpoint, a member grant — see about-authentication), not the visitor token.

Admin token

Any management or read call, straight from its docs contract:

curl -sS -X POST 'https://www.wixapis.com/contacts/v5/contacts/query' \
  -H "Authorization: Bearer $ADMIN_TOKEN" -H 'Content-Type: application/json' \
  --data-raw '{"query": {"cursorPaging": {"limit": 10}}}'

In a Wix CLI project, the CLI mints $ADMIN_TOKEN — at either scope:

TOKEN=$(npx @wix/cli@latest token --site "$SITE_ID")   # site-scoped: this one site's APIs
TOKEN=$(npx @wix/cli@latest token)                     # account-scoped: account-level APIs (list sites, …)

Mint once per run and cache it — within a run the CLI returns a byte-identical token, so re-minting only spends startup time.

Visitor token

Minted from the OAuth app's client id — a public value, usually already on disk before it is in any API: in a managed headless project it is the appId field of wix.config.json (the OAuth app id and the client id are the same value), so read it from the project's config instead of querying the OAuth-apps API for it. The mint is one unauthenticated call, so it belongs in the site's own frontend code:

curl -sS -X POST 'https://www.wixapis.com/oauth2/token' \
  -H 'Content-Type: application/json' \
  --data-raw '{"clientId": "<oauth app client id>", "grantType": "anonymous"}'
# → { "access_token": "OauthNG.JWS.…", … } — bearer for products, cart, checkout

The cart and checkout APIs act on the caller's identity, so an anonymous shopper's calls want the visitor token — the admin token is for managing the site, the visitor (or member) token is for being on it.

The authentication docs

Append .md to read:

Dynamic Site Context — "what IS this site?"

One admin call returns a markdown report of the whole site — installed apps, status, URL, locale, CMS collections — the same output the Wix MCP's site-context tool renders:

curl -sS -X POST 'https://www.wixapis.com/_api/dynamic-context/v1/dynamic-context/markdown' \
  -H "Authorization: Bearer $ADMIN_TOKEN" -H 'Content-Type: application/json' \
  --data-raw '{"siteId": "<metasite id>"}' | jq -r '.markdown'

A 200 with "markdown": "" means the token or siteId is wrong — the endpoint reports an empty context instead of an auth error, so treat empty as "check auth", never as "empty site".

For site management, the wix-manage skill carries per-area recipes. It may already be installed at .agents/skills/wix-manage/; install it with npx -y skills add wix/skills/skills/wix-manage, or read it straight off the registry: https://www.wix.com/skills/wix-manage.

Source: SKILL.md on GitHub

No alerts17d3 checks · Risk SAFE
  • Gen Agent Trust Hub17d

    The skill facilitates the retrieval of official Wix API and SDK documentation through vendor-supported services and command-line tools. It uses standard practices for fetching markdown docs and structured API specifications from trusted Wix domains, ensuring the agent has access to accurate and up-to-date development information.

  • Socket17d

    No alerts

  • Snyk17d

    Risk: LOW · No issues

Signed by skilld at c60b367. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 3 weeks ago

README badge

README badge for wix/skills/wix-docs