> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Resource: Catalog # Type: Product Object # Link: https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/product-object.md ## Description: Read and write products from Wix Stores Catalog ## Schema: ```json Type: Product Object | type: Product Description: Read and write products from Wix Stores Catalog - name: id | type: string | description: Product ID (generated automatically by the catalog). - name: name | type: string | description: Product name. Min: 1 character Max: 80 characters - name: value | type: string | description: - name: slug | type: string | description: A friendly URL name (generated automatically by the catalog when a product is created), can be updated. - name: visible | type: boolean | description: Whether the product is visible to site visitors. - name: value | type: boolean | description: - name: productType | type: string | description: Currently, only creating physical products ( `"productType": "physical"` ) is supported via the API. enum: unspecified_product_type, physical, digital - name: description | type: string | description: Product description. Accepts [rich text](https://dev.wix.com/api/rest/wix-stores/rich-text). - name: sku | type: string | description: Stock keeping unit. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, SKUs will be set per variant, and this field will be empty. - name: weight | type: number | description: Product weight. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, weight will be set per variant, and this field will be empty. - name: value | type: number | description: - name: weightRange | type: NumericPropertyRange | description: Product weight range. The minimum and maximum weights of all the variants. - name: minValue | type: number | description: Minimum value. - name: maxValue | type: number | description: Maximum value. - name: productDimensions | type: Dimensions | description: Product dimensions (length, width, height of the physical product). If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, dimensions will be set per variant, and this field will be empty. - name: length | type: string | description: Length. Measurement unit is handled at the system level (metric/imperial). - name: width | type: string | description: Width. Measurement unit is handled at the system level (metric/imperial). - name: height | type: string | description: Height. Measurement unit is handled at the system level (metric/imperial). - name: unit | type: string | description: Unit of measurement for dimensions (length, width, height). enum: UNKNOWN_DIMENSIONS_UNIT, MM, CM, M, IN, FT, YD - name: packageDimensions | type: Dimensions | description: Package dimensions (length, width, height of the shipping package). If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, dimensions will be set per variant, and this field will be empty. - name: stock | type: Stock | description: Product inventory status (in future this will be writable via Inventory API). - name: trackInventory | type: boolean | description: Whether inventory is being tracked - name: quantity | type: number | description: Quantity currently left in inventory - name: value | type: number | description: - name: inStock | type: boolean | description: Whether the product is currently in stock (relevant only when tracking manually) Deprecated (use `inventoryStatus` instead) - name: inventoryStatus | type: string | description: The current status of the inventory + `IN_STOCK` - In stock + `OUT_OF_STOCK` - Not in stock + `PARTIALLY_OUT_OF_STOCK` - Some of the variants are not in stock enum: IN_STOCK, OUT_OF_STOCK, PARTIALLY_OUT_OF_STOCK - name: price | type: PriceData | description: Deprecated (use `priceData` instead). - name: currency | type: string | description: Product price currency - name: price | type: number | description: Product price - name: discountedPrice | type: number | description: Discounted product price (if no discounted price is set, the product price is returned) - name: formatted | type: FormattedPrice | description: The product price and discounted price, formatted with the currency - name: price | type: string | description: Product price formatted with the currency - name: discountedPrice | type: string | description: Discounted product price formatted with the currency (if no discounted price is set, the product formatted price is returned) - name: pricePerUnit | type: string | description: Price per unit - name: pricePerUnit | type: number | description: Price per unit - name: priceData | type: PriceData | description: Price data. - name: convertedPriceData | type: PriceData | description: Price data, converted to the currency specified in request header. - name: priceRange | type: NumericPropertyRange | description: Product price range. The minimum and maximum prices of all the variants. - name: costAndProfitData | type: CostAndProfitData | description: Cost and profit data. - name: itemCost | type: number | description: Item cost. - name: formattedItemCost | type: string | description: Item cost formatted with currency symbol. - name: profit | type: number | description: Profit. Calculated by reducing `cost` from `discounted_price`. - name: formattedProfit | type: string | description: Profit formatted with currency symbol. - name: profitMargin | type: number | description: Profit Margin. Calculated by dividing `profit` by `discounted_price`. The result is rounded to 4 decimal places. - name: costRange | type: NumericPropertyRange | description: Product cost range. The minimum and maximum costs of all the variants. - name: pricePerUnitData | type: PricePerUnitData | description: Price per unit data. - name: totalQuantity | type: number | description: Total quantity - name: totalMeasurementUnit | type: string | description: Total measurement unit enum: UNSPECIFIED, ML, CL, L, CBM, MG, G, KG, MM, CM, M, SQM, OZ, LB, FLOZ, PT, QT, GAL, IN, FT, YD, SQFT - name: baseQuantity | type: number | description: Base quantity - name: baseMeasurementUnit | type: string | description: Base measurement unit - name: additionalInfoSections | type: Array | description: Additional text that the store owner can assign to the product (e.g. shipping details, refund policy, etc.). - name: title | type: string | description: Product info section title - name: description | type: string | description: Product info section description - name: ribbons | type: Array | description: Deprecated (use `ribbon` instead). - name: text | type: string | description: Ribbon text - name: media | type: Media | description: Media items (images, videos etc) associated with this product (writable via [Add Product Media](https://dev.wix.com/api/rest/wix-stores/catalog/products/add-product-media) endpoint). - name: mainMedia | type: MediaItem | description: Primary media (image, video etc) associated with this product. - name: thumbnail | type: MediaItemUrlAndSize | description: Media item thumbnail details. - name: mediaType | type: string | description: Media item type (image, video, etc.). - name: title | type: string | description: Media item title. - name: id | type: string | description: Media ID (for example, `"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg"`). - name: items | type: Array | description: Media (images, videos etc) associated with this product. - name: customTextFields | type: Array | description: Text box for the customer to add a message to their order (e.g., customization request). Currently writable only from the UI. - name: title | type: string | description: Text box title - name: maxLength | type: number | description: Text box input max length - name: mandatory | type: boolean | description: Whether this text box is mandatory - name: manageVariants | type: boolean | description: Whether variants are being managed for this product - enables unique SKU, price and weight per variant. Also affects inventory data. - name: productOptions | type: Array | description: Options for this product. - name: optionType | type: string | description: Option type. enum: unspecified_option_type, drop_down, color - name: name | type: string | description: Option name. - name: choices | type: Array | description: Choices available for this option. - name: value | type: string | description: Choice value. - name: description | type: string | description: Choice description. - name: media | type: Media | description: Media items (images, videos) associated with this choice - name: inStock | type: boolean | description: Based on the customer’s choices, which (if any) variants that include the selected choices are in stock - name: visible | type: boolean | description: Based on the customer’s choices, which (if any) variants that include the selected choices are visible - name: productPageUrl | type: PageUrl | description: Product page URL for this product (generated automatically by the server). - name: base | type: string | description: Base URL. For premium sites, this is the domain. For free sites, this is the site URL (e.g mysite.wixsite.com/mysite). - name: path | type: string | description: Path to the product page - e.g /product-page/a-product. - name: numericId | type: number | description: Product’s unique numeric ID (assigned in ascending order). Primarily used for sorting and filtering when crawling all products. - name: inventoryItemId | type: string | description: Inventory item ID - ID referencing the inventory system. - name: discount | type: Discount | description: Discount deducted from the product's original price. - name: type | type: string | description: Discount type: + `"AMOUNT"` + `"PERCENT"` enum: UNDEFINED, NONE, AMOUNT, PERCENT - name: value | type: number | description: Discount value - name: collectionIds | type: Array | description: A list of all collection IDs that this product is included in (writable via the Catalog > Collection APIs). - name: variants | type: Array | description: Product variants, will be provided if the request was sent with the `includeVariants: true`. Max: 1,000 variants - name: id | type: string | description: Requested Variant ID - name: choices | type: object | description: Specific choices within a selection, as option-choice key-value pairs - name: variant | type: VariantDataWithNoStock | description: - name: priceData | type: PriceData | description: Variant price. - name: convertedPriceData | type: PriceData | description: Variant price data, converted to currency requested in header. - name: costAndProfitData | type: CostAndProfitData | description: Cost and profit data. - name: weight | type: number | description: Variant weight. - name: sku | type: string | description: Variant SKU (stock keeping unit). - name: visible | type: boolean | description: Whether the variant is visible to customers. - name: productDimensions | type: Dimensions | description: Product dimensions (length, width, height of the physical product). - name: packageDimensions | type: Dimensions | description: Package dimensions (length, width, height of the shipping package). - name: stock | type: VariantStock | description: Variant inventory status. - name: trackQuantity | type: boolean | description: Whether inventory is being tracked. - name: quantity | type: number | description: Quantity currently left in inventory. - name: inStock | type: boolean | description: Whether the product is currently in stock (relevant only when tracking manually). - name: lastUpdated | type: string | description: Date and time the product was last updated. - name: seconds | type: string | description: - name: nanos | type: number | description: - name: createdDate | type: string | description: Date and time the product was created. - name: seoData | type: SeoSchema | description: Custom SEO data for the product. - name: tags | type: Array | description: SEO tag information. - name: type | type: string | description: SEO tag type. Supported values: `title`, `meta`, `script`, `link`. - name: props | type: Struct | description: A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value. For example: `{"name": "description", "content": "the description itself"}`. - name: meta | type: Struct | description: SEO tag metadata. For example, `{"height": 300, "width": 240}`. - name: children | type: string | description: SEO tag inner content. For example, ` inner content `. - name: custom | type: boolean | description: Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). - name: disabled | type: boolean | description: Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. - name: settings | type: Settings | description: SEO general settings. - name: preventAutoRedirect | type: boolean | description: Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled. Default: `false` (automatical redirect is enabled). - name: keywords | type: Array | description: User-selected keyword terms for a specific page. - name: ribbon | type: string | description: Product ribbon. Used to highlight relevant information about a product. For example, "Sale", "New Arrival", "Sold Out". - name: brand | type: string | description: Product brand. Including a brand name can help improve site and product [visibility on search engines](https://support.wix.com/en/article/adding-brand-names-to-boost-product-page-seo-in-wix-stores). ```