> 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: Introduction ## Article: Introduction ## Article Link: https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction.md ## Article Content: # About the Products API The Products API allows you to create and manage a store's products, including their variants, pricing, media, and metadata. With the Products API you can: - Create, update, and delete products. - Manage product variants with pricing, SKU, and inventory data. - Associate products with brands, ribbons, info sections, and categories. - Search and query products with flexible filtering and sorting. - Perform bulk operations on large product catalogs. ## Before you begin It's important to note the following points before starting to code: - The Wix user must install the [Wix Stores app](https://www.wix.com/app-market/wix-stores). ## Variants Every product has at least one variant, which is a specific purchasable version of the product. Products with [options](#options-and-modifiers), such as different colors or sizes, can have multiple variants. For example, a shirt product with color and size options might have a large red variant, and a small blue variant. Variant-level data includes pricing (`actualPrice`, `compareAtPrice`), SKU, barcode, weight, and inventory status. For digital products, each variant can have its own digital file. ## Inventory The [Create Product](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/create-product.md) method doesn't automatically create inventory items. To create a product with inventory in a single call, use [Create Product With Inventory](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/create-product-with-inventory.md). Otherwise, create inventory items separately using the [Inventory Items API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/inventory-items-v3/introduction.md). The product's read-only `inventory` field reflects the aggregated inventory status from the default location only. For multi-location inventory or detailed control over stock tracking and preorder settings, use the Inventory Items API. Learn more about [inventory management](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/about-inventory-management.md) in Catalog V3. ## Options and modifiers Options are product customizations that create variants. For example, a "Size" option with choices "Small", "Medium", and "Large" creates three variants. Options are managed through the `options` field and each variant must have exactly one choice for each option. Products without options have a single "default variant" with an empty `choices` array. Products with options have one variant for each combination of option choices. Modifiers are customizations that collect additional information without creating variants. For example, a "Gift Message" modifier allows customers to enter custom text. Modifiers are managed through the `modifiers` field. When you create a product with inline options or modifiers (without referencing existing customization IDs), new standalone [Customization](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/customizations-v3/introduction.md) entities are automatically created. These can be reused across other products. > **Note:** In the Products API, the term "options" refers to product options (like Size or Color), not optional parameters. ## Pricing Products have several pricing-related fields: - **`actualPrice`**: The current selling price of a variant. - **`compareAtPrice`**: The original price before any discount, shown with a strikethrough in the UI of Wix sites. Only set this if a discount applies. - **`cost`**: The merchant's cost to acquire or produce the item (not visible to customers). - **`actualPriceRange`** / **`compareAtPriceRange`**: Read-only fields showing the minimum and maximum prices across all variants. ## Handle vs Slug Products have both a `handle` and a `slug` field: - **Slug**: Auto-generated from the product name, used in the product's URL path. - **Handle**: A user-defined unique identifier for cross-platform consistency. Useful when re-importing products from other systems. Set during product creation. ## Media Product media is managed through the `media` field. The `media.main` field is read-only and automatically set to the first item in the `media.itemsInfo.items` array. Option choices can have `linkedMedia` to display specific images when customers select different options. Learn more about [product media](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/about-product-media.md). ## Subscriptions Subscription discounts are defined at the product level through `subscriptionDetails`, but they apply to each variant's `actualPrice`. This means the final subscription price varies per variant based on the variant's base price. ## Searching and querying Use [Query Products](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/query-products.md) for simple filtering operations. Use [Search Products](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/search-products.md) for complex queries that include free-text search. When using free-text search, you must specify which fields to search. Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods.md) methods. ## Related APIs - **[Inventory Items API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/inventory-items-v3/introduction.md)**: Manage inventory levels per variant and location. - **[Read-Only Variants API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/read-only-variants-v3/introduction.md)**: Query variants directly with advanced search capabilities. - **[Customizations API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/customizations-v3/introduction.md)**: Manage reusable product options and modifiers. - **[Brands API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/brands-v3/introduction.md)**: Manage product brands. - **[Ribbons API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/ribbons-v3/introduction.md)**: Manage promotional badges and labels. - **[Info Sections API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/info-sections-v3/introduction.md)**: Manage reusable product information sections. - **[Categories API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/introduction.md)**: Organize products into hierarchical categories. Categories support manual product arrangement, visibility controls, and nested subcategories. - **[Product Restrictions Service Plugin](https://dev.wix.com/docs/api-reference/business-solutions/stores/service-plugins/product-restrictions-v3/introduction.md)**: Implement custom product restriction logic. ## Use cases - [Add and arrange products in a category](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/sample-use-cases-and-flows.md#add-and-arrange-products-in-a-category) - [Prepare store for a sale](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/sample-use-cases-and-flows.md#prepare-store-for-a-sale) - [Extend the product object with app-specific fields](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/sample-use-cases-and-flows.md#extend-the-product-object-with-app-specific-fields) ## Terminology For a comprehensive glossary of Catalog V3 terms, see [Terminology](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/terminology.md). @sdk_package_setup