Catalog - Product variants
The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the Catalog Overview.
A product variant is a version of a product that has its own SKU. For example, a catalog might model a particular style of high-top sneakers that come in both red and blue as one product - high-tops - with two variants - red and blue. From a storefront point of view, product variants are often what shoppers seek. They are also the object that maps to SKUs and tracks inventory. A product with one only variant is a base variant.
Our Catalog product variants endpoints let you work in two ways.
On a per-product basis, you can create and manage product variants, their images, and their metafields, which are arbitrary key-value attributes.
By design, product variants consist of a combination of product variant option values.
This API family also provides endpoints that can make batch updates to product variants from different products across the Catalog, as well as getting all variants.
The terms "product variant" and "variant" are used interchangeably throughout the documentation.
To learn more about authenticating Catalog endpoints, locate the Authentication section at the top of each endpoint, then click Show Details.
Resources
Webhooks
Learn more about Product webhook events.
Additional Catalog endpoints
Get all product variants
GET https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/products/{product_id}/variantsRequest
Returns a list of product variants. Optional parameters can be passed in.
Authentication
- X-Auth-Token in headerrequired
Parameters
- store_hash in path - string
example
Response
Body
dataarray[]
example
Create a product variant
POST https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/products/{product_id}/variantsRequest
Creates a product variant.
Required Fields
- sku
- option_values
Read-Only Fields
- id
Limits
- 600 SKUs per product limit.
- 255 characters SKU length limit.
Variants need to be created one at a time using this endpoint. To use a variant array, create products, and variants in the same call use the Create Products endpoint during the initial product creation. To obtain the option_values
to include in this request, use the Create a product variant option endpoint.
Authentication
- X-Auth-Token in headerrequired
Parameters
- store_hash in path - string
Body
The model for a POST to create variants on a product.
example
Response
Body
data
example-1
example-2
Get a product variant
GET https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/products/{product_id}/variants/{variant_id}Request
Returns a single product variant. Optional parameters can be passed in.
Authentication
- X-Auth-Token in headerrequired
Parameters
- store_hash in path - string
example
Response
Body
data
example
Update a product variant
PUT https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/products/{product_id}/variants/{variant_id}Request
Updates a product variant.
Authentication
- X-Auth-Token in headerrequired
Parameters
- store_hash in path - string
Body
The model for a PUT to update variants on a product.
example
Response
Body
data