RECIPE: Business Recipe – Initial Setup for a Wix Online Store (Catalog V3)
Standard call shape (every curl below). The <AUTH> placeholder is shorthand for Authorization: Bearer <TOKEN> only. Every actual call ALSO needs wix-site-id: <SITE_ID> and (for body-bearing requests) Content-Type: application/json. POST/PATCH against stores/v3/* and categories/v1/* returns 403 without wix-site-id — recipe examples below show <AUTH> only for brevity, but the header is required on every call you make. Token: npx @wix/cli@latest token --site "$SITE_ID".
A concise checklist for preparing any new Wix site that uses the Online Stores app with Catalog V3. Notice that this recipe is NOT meant for coding purposes and is ONLY meant for initial catalog setup.
YOU MUST Complete all the following steps in the given order (1 -5) without skipping any and without requiring additional user input. YOU MUST remind yourself as many times as needed throughout the process that you most complete all the steps and not stop at all in the middle.
⚠️ CRITICAL ORDER REQUIREMENT: You MUST start with creating products FIRST (Steps 1-2), then categories (Steps 3-5). Categories API might take some time to be fully available after Stores installation, so always create products before attempting category operations.
Check if the site uses Catalog V3.
This can be done using the Get Catalog Version endpoint.
path: https://www.wixapis.com/stores/v3/provision/version
From this point forward, as long as the result is V3, use only Catalog V3 REST endpoints.
All API calls should be directed to endpoints starting with /stores/v3/.... Do not mix V3 calls with earlier versions.
Exception for Categories:
The Categories API is an exception. It uses a v1 endpoint, as it replaces the older Collections API. For example, to create a category in V3, use the following endpoint:
https://www.wixapis.com/categories/v1/categories
⚠️ CRITICAL: EXACT FORMAT REQUIREMENTS YOU MUST use the following recipe to create ALL products with the EXACT same format:
POST https://www.wixapis.com/categories/v1/categories. There is no bulk-create endpoint for /categories/v1/ (the events/v1/bulk/categories/create URL is for the Events product, not Stores).When calling the endpoint, make sure the request body includes a top-level treeReference field. It must not be nested inside the category object.
Use the following example format:
categoryId (the path parameter is single, so one call per category is unavoidable), but the calls are independent and run as siblings in one assistant message. For 3 categories this saves another ~6–8 s of wall.⚠️ CRITICAL: Use correct endpoint /categories/v1/bulk/categories/{categoryId}/add-items with catalogItemId, appId: "215238eb-22a5-4c36-9e7b-e7c08025e04e", and treeReference object.
Make Sure you pass the treeReference correctly at the same level as "items".
Skip this step in trusting flows. Step 4's bulk add-items endpoint returns an itemMetadata array per call — check each result there for failures (itemMetadata[i].success === false). The list-items round-trip is a defense-in-depth that adds ~10 s of wall and rarely surfaces a failure that the metadata didn't already report.
If you keep the verification (e.g., for high-stakes catalogs):
https://www.wixapis.com/categories/v1/categories/{categoryId}/list-items.treeReference field (not nested inside category).Following these steps in order guarantees the creation flow for new V3 Wix Online Store sites: