Catalog - Products
The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the Catalog Overview.
Our Catalog Products endpoints let you create products, perform batch operations on existing products and work with reviews, images, and videos. Note that after a product is created initially, you can manage the nuances of its variations using the Product Modifier, Product Variant, and Product Variant Options endpoints.
Other core product endpoints focus on bulk pricing, complex rules, custom fields, and metafields. Product Variant objects also contain their own metafields. For MSF-enabled stores, the product object also contains product channel assignments and category assignments; read more about products in the MSF context.
This API family also contains an endpoint to Get a catalog summary.
To learn more about authenticating Catalog endpoints, locate the Authentication section at the top of each endpoint, then click Show Details.
Resources
Webhooks
Additional Catalog endpoints
Get All Products
GET /stores/{store_hash}/v3/catalog/products
Request
Returns a list of Products. Optional filter parameters can be passed in.
Authentication
- X-Auth-Token in header - required
Parameters
- store_hash in path - string
- Accept in header with default of application/json - string - required
The MIME type of the response body.
- id in query - integer
Filter items by ID.
- id:in in query - array
- id:not_in in query - array
- id:min in query - array
- id:max in query - array
- id:greater in query - array
- id:less in query - array
- name in query - string
Filter items by name.
- upc in query - string
Filter items by UPC.
- price in query - number
Filter items by price.
- weight in query - number
Filter items by weight.
- condition in query - string
Filter items by condition.
- brand_id in query - integer
Filter items by brand_id.
- date_modified in query - string
Filter items by
date_modified
. - date_modified:max in query - string
Filter items by
date_modified
. For example,date_modified:max=2020-06-15
. - date_modified:min in query - string
Filter items by
date_modified
. For example,date_modified:min=2018-06-15
. - date_last_imported in query - string
Filter items by date_last_imported.
- date_last_imported:max in query - string
Filter items by date_last_imported. For example,
date_last_imported:max=2020-06-15
. - date_last_imported:min in query - string
Filter items by date_last_imported. For example,
date_last_imported:min=2018-06-15
. - is_visible in query - boolean
Filter items based on whether the product is currently visible on the storefront.
- is_featured in query - integer
Filter items by is_featured.
1
for true,0
for false. - is_free_shipping in query - integer
Filter items by is_free_shipping.
1
for true,0
for false. - inventory_level in query - integer
Filter items by inventory_level.
- inventory_level:in in query - integer
- inventory_level:not_in in query - integer
- inventory_level:min in query - integer
- inventory_level:max in query - integer
- inventory_level:greater in query - integer
- inventory_level:less in query - integer
- inventory_low in query - integer
Filter items by inventory_low. Values: 1, 0.
- out_of_stock in query - integer
Filter items by out_of_stock. To enable the filter, pass
out_of_stock
=1
. - total_sold in query - integer
Filter items by total_sold.
- type in query - string
Filter items by type.
- categories in query - integer
Filter items by categories. If a product is in more than one category, using this query will not return the product. Instead use
categories:in=12
. - keyword in query - string
Filter items by keywords found in the
name
orsku
fields - keyword_context in query - string
Set context used by the search algorithm to return results targeted towards the specified group. Use
merchant
to help merchants search their own catalog. Useshopper
to return shopper-facing search results. - status in query - integer
Filter items by status.
- include in query - string
Sub-resources to include on a product, in a comma-separated list. If
options
ormodifiers
is used, results are limited to 10 per page. - include_fields in query - string
Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
- exclude_fields in query - string
Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.
- availability in query - string
Filter items by availability. Values are: available, disabled, preorder.
- page in query - integer
Specifies the page number in a limited (paginated) list of products.
- limit in query - integer
Controls the number of items per page in a limited (paginated) list of products.
- direction in query - string
Sort direction. Acceptable values are:
asc
,desc
. - sort in query - string
Field name to sort by. Note: Since
id
increments when new products are added, you can use that field to sort by product create date. - categories:in in query - integer
Filter items by categories. Use for products in multiple categories. For example,
categories:in=12
. - sku in query - string
Filter items by main SKU. To filter by variant SKU, see Get All Variants.
- sku:in in query - array
Filter items by SKU.
example
curl --request GET \ --url 'https://api.bigcommerce.com/stores/[store_hash]/v3/catalog/products' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'X-Auth-Token: xxxxxxxxxxxxxxxxx'
Response
Body
dataarray[object]
metaobject
Data about the response, including pagination and collection totals.
example
{ "data": [ { "name": "Smith Journal 13", "type": "physical", "sku": "SM-13", "description": "<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>", "weight": 9999999999, "width": 9999999999, "depth": 9999999999, "height": 9999999999, "price": 0, "cost_price": 0, "retail_price": 0, "sale_price": 0, "map_price": 0, "tax_class_id": 1000000000, "product_tax_code": "string", "categories": [ 0 ], "brand_id": 1000000000, "inventory_level": 2147483647, "inventory_warning_level": 2147483647, "inventory_tracking": "none", "fixed_cost_shipping_price": 0, "is_free_shipping": true, "is_visible": true, "is_featured": true, "related_products": [ 0 ], "warranty": "string", "bin_picking_number": "string", "layout_file": "string", "upc": "string", "search_keywords": "string", "availability_description": "string", "availability": "available", "gift_wrapping_options_type": "any", "gift_wrapping_options_list": [ 0 ], "sort_order": -2147483648, "condition": "New", "is_condition_shown": true, "order_quantity_minimum": 1000000000, "order_quantity_maximum": 1000000000, "page_title": "string", "meta_keywords": [ "string" ], "meta_description": "string", "view_count": 1000000000, "preorder_release_date": "2019-08-24T14:15:22Z", "preorder_message": "string", "is_preorder_only": true, "is_price_hidden": true, "price_hidden_label": "string", "custom_url": { "url": "string", "is_customized": true }, "open_graph_type": "product", "open_graph_title": "string", "open_graph_description": "string", "open_graph_use_meta_description": true, "open_graph_use_product_name": true, "open_graph_use_image": true, "brand_name or brand_id": "Common Good", "gtin": "string", "mpn": "string", "reviews_rating_sum": 3, "reviews_count": 4, "total_sold": 80, "custom_fields": [ { "id": 6, "name": "ISBN", "value": "1234567890123" } ], "bulk_pricing_rules": [ { "quantity_min": 10, "quantity_max": 50, "type": "price", "amount": 10 } ], "images": [ { "image_file": "string", "is_thumbnail": true, "sort_order": -2147483648, "description": "string", "image_url": "string", "id": 0, "product_id": 0, "date_modified": "2019-08-24T14:15:22Z" } ], "videos": [ { "title": "Writing Great Documentation", "description": "A video about documenation", "sort_order": 1, "type": "youtube", "video_id": "z3fRu9pkuXE", "id": 0, "product_id": 0, "length": "string" } ], "date_created": "2018-08-15T14:49:05+00:00", "date_modified": "2018-08-24T14:41:00+00:00", "base_variant_id": 0, "calculated_price": 0, "options": [ { "id": 55, "product_id": 4, "display_name": "Add-a-$5-Donation1535042499-187", "type": "radio_buttons", "config": { "default_value": "string", "checked_by_default": true, "checkbox_label": "string", "date_limited": true, "date_limit_mode": "range", "date_earliest_value": "2019-08-24", "date_latest_value": "2019-08-24", "file_types_mode": "specific", "file_types_supported": [ "images, documents, other" ], "file_types_other": [ "pdf" ], "file_max_size": 5, "text_characters_limited": true, "text_min_length": 1, "text_max_length": 55, "text_lines_limited": true, "text_max_lines": 4, "number_limited": true, "number_limit_mode": "lowest", "number_lowest_value": 100, "number_highest_value": 0, "number_integers_only": false, "product_list_adjusts_inventory": true, "product_list_adjusts_pricing": true, "product_list_shipping_calc": "weight" }, "sort_order": 1, "option_values": [ { "is_default": false, "label": "Green", "sort_order": 0, "value_data": {}, "id": 0 } ] } ], "modifiers": [ { "type": "date", "required": true, "sort_order": 0, "config": { "default_value": "string", "checked_by_default": true, "checkbox_label": "string", "date_limited": true, "date_limit_mode": "range", "date_earliest_value": "2019-08-24", "date_latest_value": "2019-08-24", "file_types_mode": "specific", "file_types_supported": [ "images, documents, other" ], "file_types_other": [ "pdf" ], "file_max_size": 5, "text_characters_limited": true, "text_min_length": 1, "text_max_length": 55, "text_lines_limited": true, "text_max_lines": 4, "number_limited": true, "number_limit_mode": "lowest", "number_lowest_value": 100, "number_highest_value": 0, "number_integers_only": false, "product_list_adjusts_inventory": true, "product_list_adjusts_pricing": true, "product_list_shipping_calc": "weight" }, "display_name": "string", "id": 12, "product_id": 77, "name": "Add-a-$5-Donation1535039590-191", "option_values": [ { "is_default": false, "label": "Green", "sort_order": 0, "value_data": {}, "adjusters": { "price": { "adjuster": "relative", "adjuster_value": 5 }, "weight": { "adjuster": "relative", "adjuster_value": 5 }, "image_url": "https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2", "purchasing_disabled": { "status": true, "message": "string" } }, "id": 0, "option_id": 0 } ] } ], "option_set_id": 0, "option_set_display": "string", "variants": [ { "cost_price": 0, "price": 0, "sale_price": 0, "retail_price": 0, "weight": 0, "width": 0, "height": 0, "depth": 0, "is_free_shipping": true, "fixed_cost_shipping_price": 0, "purchasing_disabled": true, "purchasing_disabled_message": "string", "upc": "string", "inventory_level": 2147483647, "inventory_warning_level": 2147483647, "bin_picking_number": "string", "mpn": "string", "gtin": "012345678905", "id": 0, "product_id": 0, "sku": "string", "sku_id": 0, "option_values": [ { "option_display_name": "Color", "label": "Beige", "id": 146, "option_id": 151 } ], "calculated_price": 0, "calculated_weight": 0 } ] } ], "meta": { "pagination": { "total": 36, "count": 36, "per_page": 50, "current_page": 1, "total_pages": 1, "links": { "previous": "string", "current": "?page=1&limit=50", "next": "string" } } } }
Update Products (Batch)
PUT /stores/{store_hash}/v3/catalog/products
Request
Updates products in batches. Batches are limited to 10 products.
Required Fields
id
- productid
is required for batch updates to products.
Read-Only Fields
id
date_created
date_modified
calculated_price
base_variant_id
Authentication
- X-Auth-Token in header - required
Parameters
- store_hash in path - string
- Content-Type in header with default of application/json - string - required
The MIME type of the request body.
- include_fields in query - string
Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
Body
The model for batch updating products.
idinteger
requiredUnique ID of the Product. Read-Only.
namestring
required>= 1 characters<= 250 charactersA unique product name.
Example: Smith Journal 13
typestring
requiredThe product type. One of:
physical
- a physical stock unit,digital
- a digital download.Allowed: physical | digital
Example: physical
skustring
>= 0 characters<= 255 charactersA unique user-defined product code/stock keeping unit (SKU).
Example: SM-13
descriptionstring
The product description, which can include HTML formatting.
Example: <p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>
weightnumber
requiredWeight of the product, which can be used when calculating shipping costs. This is based on the unit set on the store
widthnumber
Width of the product, which can be used when calculating shipping costs.
depthnumber
Depth of the product, which can be used when calculating shipping costs.
heightnumber
Height of the product, which can be used when calculating shipping costs.
pricenumber
requiredThe price of the product. The price should include or exclude tax, based on the store settings.
cost_pricenumber
The cost price of the product. Stored for reference only; it is not used or displayed anywhere on the store.
retail_pricenumber
The retail cost of the product. If entered, the retail cost price will be shown on the product page.
sale_pricenumber
If entered, the sale price will be used instead of value in the price field when calculating the product's cost.
map_pricenumber
Minimum Advertised Price
tax_class_idinteger
The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.)
product_tax_codestring
>= 0 characters<= 255 charactersAccepts AvaTax System Tax Codes, which identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to BigCommerce's Avalara Premium integration can calculate sales taxes more accurately. Stores without Avalara Premium will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive. For details, please see Avalara's documentation.
categoriesarray[integer]
An array of IDs for the categories to which this product belongs. When updating a product, if an array of categories is supplied, all product categories will be overwritten. Does not accept more than 1,000 ID values.
brand_idinteger
A product can be added to an existing brand during a product /PUT or /POST.
inventory_levelinteger
Current inventory level of the product. You must track inventory by product for this to take effect (see the
inventory_tracking
field). The Catalog API returns the inventory for only the default location.The inventory for a product cannot exceed 2,147,483,647 in the catalog. If you exceed the limit, the store sets the inventory level to the limit.
The Catalog API handles limits in a different way than the Inventory API. For more information, see Limit handling.
inventory_warning_levelinteger
Inventory warning level for the product. When the product's inventory level drops below the warning level, the store owner will be informed. Simple inventory tracking must be enabled (see the
inventory_tracking
field) for this to take any effect.inventory_trackingstring
The type of inventory tracking for the product. Values are:
none
- inventory levels will not be tracked;product
- inventory levels will be tracked using theinventory_level
andinventory_warning_level
fields;variant
- inventory levels will be tracked based on variants, which maintain their own warning levels and inventory levels.Allowed: none | product | variant
fixed_cost_shipping_pricenumber
A fixed shipping cost for the product. If defined, this value will be used during checkout instead of normal shipping-cost calculation.
is_free_shippingboolean
Flag used to indicate whether the product has free shipping. If
true
, the shipping cost for the product will be zero.is_visibleboolean
Flag to determine whether the product should be displayed to customers browsing the store. If
true
, the product will be displayed. Iffalse
, the product will be hidden from view.is_featuredboolean
Flag to determine whether the product should be included in the
featured products
panel when viewing the store.related_productsarray[integer]
An array of IDs for the related products.
warrantystring
>= 0 characters<= 65535 charactersWarranty information displayed on the product page. Can include HTML formatting.
bin_picking_numberstring
>= 0 characters<= 255 charactersThe BIN picking number for the product.
layout_filestring
>= 0 characters<= 500 charactersThe layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see Custom Template Associations.
upcstring
>= 0 characters<= 32 charactersThe product UPC code, which is used in feeds for shopping comparison sites and external channel integrations.
search_keywordsstring
>= 0 characters<= 65535 charactersA comma-separated list of keywords that can be used to locate the product when searching the store.
availability_descriptionstring
>= 0 characters<= 255 charactersAvailability text displayed on the checkout page, under the product title. Tells the customer how long it will normally take to ship this product, such as: 'Usually ships in 24 hours.'
availabilitystring
Availability of the product. (Corresponds to the product's Purchasability section in the control panel.) Supported values:
available
- the product is available for purchase;disabled
- the product is listed on the storefront, but cannot be purchased;preorder
- the product is listed for pre-orders.Allowed: available | disabled | preorder
gift_wrapping_options_typestring
Type of gift-wrapping options. Values:
any
- allow any gift-wrapping options in the store;none
- disallow gift-wrapping on the product;list
– provide a list of IDs in thegift_wrapping_options_list
field.Allowed: any | none | list
gift_wrapping_options_listarray[integer]
A list of gift-wrapping option IDs.
sort_orderinteger
Priority to give this product when included in product lists on category pages and in search results. Lower integers will place the product closer to the top of the results.
conditionstring
The product condition. Will be shown on the product page if the
is_condition_shown
field's value istrue
. Possible values:New
,Used
,Refurbished
.Allowed: New | Used | Refurbished
is_condition_shownboolean
Flag used to determine whether the product condition is shown to the customer on the product page.
order_quantity_minimuminteger
The minimum quantity an order must contain, to be eligible to purchase this product.
order_quantity_maximuminteger
The maximum quantity an order can contain when purchasing the product.
page_titlestring
>= 0 characters<= 255 charactersCustom title for the product page. If not defined, the product name will be used as the meta title.
meta_keywordsarray[string]
Custom meta keywords for the product page. If not defined, the store's default keywords will be used.
meta_descriptionstring
>= 0 characters<= 65535 charactersCustom meta description for the product page. If not defined, the store's default meta description will be used.
view_countinteger
The number of times the product has been viewed.
preorder_release_datestring
Pre-order release date. See the
availability
field for details on setting a product's availability to accept pre-orders.preorder_messagestring
>= 0 characters<= 255 charactersCustom expected-date message to display on the product page. If undefined, the message defaults to the storewide setting. Can contain the
%%DATE%%
placeholder, which will be substituted for the release date.is_preorder_onlyboolean
If set to true then on the preorder release date the preorder status will automatically be removed. If set to false, then on the release date the preorder status will not be removed. It will need to be changed manually either in the control panel or using the API. Using the API set
availability
toavailable
.is_price_hiddenboolean
False by default, indicating that this product's price should be shown on the product page. If set to
true
, the price is hidden. (NOTE: To successfully setis_price_hidden
totrue
, theavailability
value must bedisabled
.)price_hidden_labelstring
>= 0 characters<= 200 charactersBy default, an empty string. If
is_price_hidden
istrue
, the value ofprice_hidden_label
is displayed instead of the price. (NOTE: To successfully set a non-empty string value withis_price_hidden
set totrue
, theavailability
value must bedisabled
.)custom_urlobject
The custom URL for the product on the storefront.
open_graph_typestring
Type of product, defaults to
product
.Allowed: product | album | book | drink | food | game | movie | song | tv_show
open_graph_titlestring
Title of the product, if not specified the product name will be used instead.
open_graph_descriptionstring
Description to use for the product, if not specified then the meta_description will be used instead.
open_graph_use_meta_descriptionboolean
Flag to determine if product description or open graph description is used.
open_graph_use_product_nameboolean
Flag to determine if product name or open graph name is used.
open_graph_use_imageboolean
Flag to determine if product image or open graph image is used.
brand_name or brand_idstring
The brand can be created during a product PUT or POST request. If the brand already exists then the product will be added. If not the brand will be created and the product added. If using
brand_name
it performs a fuzzy match and adds the brand. eg. "Common Good" and "Common good" are the same. Brand name does not return as part of a product response. Only thebrand_id
.Example: Common Good
gtinstring
Global Trade Item Number
mpnstring
Manufacturer Part Number
reviews_rating_suminteger
The total (cumulative) rating for the product.
Example: 3
reviews_countinteger
The number of times the product has been rated.
Example: 4
total_soldinteger
The total quantity of this product sold.
Example: 80
custom_fieldsarray[object]
bulk_pricing_rulesarray[object]
imagesarray[object]
videosarray[object]
example-1
[ { "id": 0, "name": "Smith Journal 13", "type": "physical", "sku": "SM-13", "description": "<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>", "weight": 0, "width": 0, "depth": 0, "height": 0, "price": 0, "cost_price": 0, "retail_price": 0, "sale_price": 0, "map_price": 0, "tax_class_id": 0, "product_tax_code": "string", "categories": [ 0 ], "brand_id": 0, "inventory_level": 0, "inventory_warning_level": 0, "inventory_tracking": "none", "fixed_cost_shipping_price": 0, "is_free_shipping": true, "is_visible": true, "is_featured": true, "related_products": [ 0 ], "warranty": "string", "bin_picking_number": "string", "layout_file": "string", "upc": "string", "search_keywords": "string", "availability": "available", "availability_description": "string", "gift_wrapping_options_type": "any", "gift_wrapping_options_list": [ 0 ], "sort_order": -2147483648, "condition": "New", "is_condition_shown": true, "order_quantity_minimum": 0, "order_quantity_maximum": 0, "page_title": "string", "meta_keywords": [ "string" ], "meta_description": "string", "view_count": 0, "preorder_release_date": "2019-08-24T14:15:22Z", "preorder_message": "string", "is_preorder_only": true, "is_price_hidden": true, "price_hidden_label": "string", "custom_url": { "url": "string", "is_customized": true }, "open_graph_type": "product", "open_graph_title": "string", "open_graph_description": "string", "open_graph_use_meta_description": true, "open_graph_use_product_name": true, "open_graph_use_image": true, "brand_name or brand_id": "Common Good", "gtin": "string", "mpn": "string", "reviews_rating_sum": 3, "reviews_count": 4, "total_sold": 80, "custom_fields": [ { "id": 6, "name": "ISBN", "value": "1234567890123" } ], "bulk_pricing_rules": [ { "id": 0, "quantity_min": 10, "quantity_max": 50, "type": "price", "amount": 10 } ], "images": [ { "image_file": "string", "is_thumbnail": true, "sort_order": -2147483648, "description": "string", "image_url": "string", "id": 0, "product_id": 0, "url_zoom": "string", "url_standard": "string", "url_thumbnail": "string", "url_tiny": "string", "date_modified": "2019-08-24T14:15:22Z" } ], "videos": [ { "title": "Writing Great Documentation", "description": "A video about documentation.", "sort_order": 1, "type": "youtube", "video_id": "z3fRu9pkuXE", "id": 0, "product_id": 0, "length": "string" } ] } ]
Response
Body
dataarray[object]
metaobject
Data about the response, including pagination and collection totals.
example-1
{ "data": [ { "id": 1, "name": "Smith Journal 13", "type": "physical", "sku": "SM-13", "description": "<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>", "weight": 0, "width": 0, "depth": 0, "height": 0, "price": 0, "cost_price": 0, "retail_price": 0, "sale_price": 0, "map_price": 0, "tax_class_id": 0, "product_tax_code": "string", "categories": [ 0 ], "brand_id": 0, "inventory_level": 0, "inventory_warning_level": 0, "inventory_tracking": "none", "fixed_cost_shipping_price": 0, "is_free_shipping": true, "is_visible": true, "is_featured": true, "related_products": [ 0 ], "warranty": "string", "bin_picking_number": "string", "layout_file": "string", "upc": "string", "search_keywords": "string", "availability": "available", "availability_description": "string", "gift_wrapping_options_type": "any", "gift_wrapping_options_list": [ 0 ], "sort_order": -2147483648, "condition": "New", "is_condition_shown": true, "order_quantity_minimum": 0, "order_quantity_maximum": 0, "page_title": "string", "meta_keywords": [ "string" ], "meta_description": "string", "view_count": 0, "preorder_release_date": "2019-08-24T14:15:22Z", "preorder_message": "string", "is_preorder_only": true, "is_price_hidden": true, "price_hidden_label": "string", "custom_url": { "url": "string", "is_customized": true }, "open_graph_type": "product", "open_graph_title": "string", "open_graph_description": "string", "open_graph_use_meta_description": true, "open_graph_use_product_name": true, "open_graph_use_image": true, "brand_name or brand_id": "Common Good", "gtin": "string", "mpn": "string", "reviews_rating_sum": 3, "reviews_count": 4, "total_sold": 80, "custom_fields": [ { "id": 6, "name": "ISBN", "value": "1234567890123" } ], "bulk_pricing_rules": [ { "id": 0, "quantity_min": 10, "quantity_max": 50, "type": "price", "amount": 10 } ], "images": [ { "image_file": "string", "is_thumbnail": true, "sort_order": -2147483648, "description": "string", "image_url": "string", "id": 0, "product_id": 0, "url_zoom": "string", "url_standard": "string", "url_thumbnail": "string", "url_tiny": "string", "date_modified": "2019-08-24T14:15:22Z" } ], "videos": [ { "title": "Writing Great Documentation", "description": "A video about documentation", "sort_order": 1, "type": "youtube", "video_id": "z3fRu9pkuXE", "id": 0, "product_id": 0, "length": "string" } ], "date_created": "2018-08-15T14:49:05+00:00", "date_modified": "2018-08-24T14:41:00+00:00", "base_variant_id": 0, "calculated_price": 0, "options": [ { "id": 55, "product_id": 4, "display_name": "Add-a-$5-Donation1535042499-187", "type": "radio_buttons", "config": { "default_value": "string", "checked_by_default": true, "checkbox_label": "string", "date_limited": true, "date_limit_mode": "range", "date_earliest_value": "2019-08-24", "date_latest_value": "2019-08-24", "file_types_mode": "specific", "file_types_supported": [ "images, documents, other" ], "file_types_other": [ "pdf" ], "file_max_size": 5, "text_characters_limited": true, "text_min_length": 1, "text_max_length": 55, "text_lines_limited": true, "text_max_lines": 4, "number_limited": true, "number_limit_mode": "lowest", "number_lowest_value": 100, "number_highest_value": 0, "number_integers_only": false, "product_list_adjusts_inventory": true, "product_list_adjusts_pricing": true, "product_list_shipping_calc": "weight" }, "sort_order": 1, "option_values": [ { "is_default": false, "label": "Green", "sort_order": 0, "value_data": {}, "id": 0 } ] } ], "modifiers": [ { "type": "date", "required": true, "sort_order": 0, "config": { "default_value": "string", "checked_by_default": true, "checkbox_label": "string", "date_limited": true, "date_limit_mode": "range", "date_earliest_value": "2019-08-24", "date_latest_value": "2019-08-24", "file_types_mode": "specific", "file_types_supported": [ "images, documents, other" ], "file_types_other": [ "pdf" ], "file_max_size": 5, "text_characters_limited": true, "text_min_length": 1, "text_max_length": 55, "text_lines_limited": true, "text_max_lines": 4, "number_limited": true, "number_limit_mode": "lowest", "number_lowest_value": 100, "number_highest_value": 0, "number_integers_only": false, "product_list_adjusts_inventory": true, "product_list_adjusts_pricing": true, "product_list_shipping_calc": "weight" }, "display_name": "string", "id": 12, "product_id": 77, "name": "Add-a-$5-Donation1535039590-191", "option_values": [ { "is_default": false, "label": "Green", "sort_order": 0, "value_data": {}, "adjusters": { "price": { "adjuster": "relative", "adjuster_value": 5 }, "weight": { "adjuster": "relative", "adjuster_value": 5 }, "image_url": "https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2", "purchasing_disabled": { "status": true, "message": "string" } }, "id": 0, "option_id": 0 } ] } ], "option_set_id": 0, "option_set_display": "string", "variants": [ { "cost_price": 0, "price": 0, "sale_price": 0, "retail_price": 0, "weight": 0, "width": 0, "height": 0, "depth": 0, "is_free_shipping": true, "fixed_cost_shipping_price": 0, "purchasing_disabled": true, "purchasing_disabled_message": "string", "upc": "string", "inventory_level": 0, "inventory_warning_level": 0, "bin_picking_number": "string", "mpn": "string", "gtin": "012345678905", "id": 0, "product_id": 0, "sku": "string", "sku_id": 0, "option_values": [ { "option_display_name": "Color", "label": "Beige", "id": 146, "option_id": 151 } ], "calculated_price": 0, "calculated_weight": 0 } ] } ], "meta": { "pagination": { "total": 36, "count": 36, "per_page": 50, "current_page": 1, "total_pages": 1, "links": { "previous": "string", "current": "?page=1&limit=50", "next": "string" } } } }
Create a Product
POST /stores/{store_hash}/v3/catalog/products
Request
Creates a Product. Only one product can be created at a time.
Required Fields:
name
type
weight
price
Read-Only Fields
id
date_created
date_modified
calculated_price
base_variant_id
Limits
- 250 characters product name length.
Usage Notes
- This endpoint accepts a
video
array. To create a product video that accepts avideo
object, see Create a Product Video for information.
Authentication
- X-Auth-Token in header - required
Parameters
- store_hash in path - string
- Content-Type in header with default of application/json - string - required
The MIME type of the request body.
- include_fields in query - string
Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
Body
Shared Product
properties used in:
POST
PUT
GET
namestring
required>= 1 characters<= 250 charactersA unique product name.
Example: Smith Journal 13
typestring
requiredThe product type. One of:
physical
- a physical stock unit,digital
- a digital download.Allowed: physical | digital
Example: physical
skustring
>= 0 characters<= 255 charactersA unique user-defined product code/stock keeping unit (SKU).
Example: SM-13
descriptionstring
The product description, which can include HTML formatting.
Example: <p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>
weightnumber
requiredWeight of the product, which can be used when calculating shipping costs. This is based on the unit set on the store
widthnumber
Width of the product, which can be used when calculating shipping costs.
depthnumber
Depth of the product, which can be used when calculating shipping costs.
heightnumber
Height of the product, which can be used when calculating shipping costs.
pricenumber
requiredThe price of the product. The price should include or exclude tax, based on the store settings.
cost_pricenumber
The cost price of the product. Stored for reference only; it is not used or displayed anywhere on the store.
retail_pricenumber
The retail cost of the product. If entered, the retail cost price will be shown on the product page.
sale_pricenumber
If entered, the sale price will be used instead of value in the price field when calculating the product's cost.
map_pricenumber
Minimum Advertised Price
tax_class_idinteger
The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.)
product_tax_codestring
>= 0 characters<= 255 charactersAccepts AvaTax System Tax Codes, which identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to BigCommerce's Avalara Premium integration can calculate sales taxes more accurately. Stores without Avalara Premium will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive. For details, please see Avalara's documentation.
categoriesarray[integer]
An array of IDs for the categories to which this product belongs. When updating a product, if an array of categories is supplied, all product categories will be overwritten. Does not accept more than 1,000 ID values.
brand_idinteger
A product can be added to an existing brand during a product /PUT or /POST.
inventory_levelinteger
Current inventory level of the product. You must track inventory by product for this to take effect (see the
inventory_tracking
field). The Catalog API returns the inventory for only the default location.The inventory for a product cannot exceed 2,147,483,647 in the catalog. If you exceed the limit, the store sets the inventory level to the limit.
The Catalog API handles limits in a different way than the Inventory API. For more information, see Limit handling.
inventory_warning_levelinteger
Inventory warning level for the product. When the product's inventory level drops below the warning level, the store owner will be informed. Simple inventory tracking must be enabled (see the
inventory_tracking
field) for this to take any effect.inventory_trackingstring
The type of inventory tracking for the product. Values are:
none
- inventory levels will not be tracked;product
- inventory levels will be tracked using theinventory_level
andinventory_warning_level
fields;variant
- inventory levels will be tracked based on variants, which maintain their own warning levels and inventory levels.Allowed: none | product | variant
fixed_cost_shipping_pricenumber
A fixed shipping cost for the product. If defined, this value will be used during checkout instead of normal shipping-cost calculation.
is_free_shippingboolean
Flag used to indicate whether the product has free shipping. If
true
, the shipping cost for the product will be zero.is_visibleboolean
Flag to determine whether the product should be displayed to customers browsing the store. If
true
, the product will be displayed. Iffalse
, the product will be hidden from view.is_featuredboolean
Flag to determine whether the product should be included in the
featured products
panel when viewing the store.related_productsarray[integer]
An array of IDs for the related products.
warrantystring
>= 0 characters<= 65535 charactersWarranty information displayed on the product page. Can include HTML formatting.
bin_picking_numberstring
>= 0 characters<= 255 charactersThe BIN picking number for the product.
layout_filestring
>= 0 characters<= 500 charactersThe layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see Custom Template Associations.
upcstring
>= 0 characters<= 32 charactersThe product UPC code, which is used in feeds for shopping comparison sites and external channel integrations.
search_keywordsstring
>= 0 characters<= 65535 charactersA comma-separated list of keywords that can be used to locate the product when searching the store.
availability_descriptionstring
>= 0 characters<= 255 charactersAvailability text displayed on the checkout page, under the product title. Tells the customer how long it will normally take to ship this product, such as: 'Usually ships in 24 hours.'
availabilitystring
Availability of the product. (Corresponds to the product's Purchasability section in the control panel.) Supported values:
available
- the product is available for purchase;disabled
- the product is listed on the storefront, but cannot be purchased;preorder
- the product is listed for pre-orders.Allowed: available | disabled | preorder
gift_wrapping_options_typestring
Type of gift-wrapping options. Values:
any
- allow any gift-wrapping options in the store;none
- disallow gift-wrapping on the product;list
– provide a list of IDs in thegift_wrapping_options_list
field.Allowed: any | none | list
gift_wrapping_options_listarray[integer]
A list of gift-wrapping option IDs.
sort_orderinteger
Priority to give this product when included in product lists on category pages and in search results. Lower integers will place the product closer to the top of the results.
conditionstring
The product condition. Will be shown on the product page if the
is_condition_shown
field's value istrue
. Possible values:New
,Used
,Refurbished
.Allowed: New | Used | Refurbished
is_condition_shownboolean
Flag used to determine whether the product condition is shown to the customer on the product page.
order_quantity_minimuminteger
The minimum quantity an order must contain, to be eligible to purchase this product.
order_quantity_maximuminteger
The maximum quantity an order can contain when purchasing the product.
page_titlestring
>= 0 characters<= 255 charactersCustom title for the product page. If not defined, the product name will be used as the meta title.
meta_keywordsarray[string]
Custom meta keywords for the product page. If not defined, the store's default keywords will be used.
meta_descriptionstring
>= 0 characters<= 65535 charactersCustom meta description for the product page. If not defined, the store's default meta description will be used.
view_countinteger
The number of times the product has been viewed.
preorder_release_datestring
Pre-order release date. See the
availability
field for details on setting a product's availability to accept pre-orders.preorder_messagestring
>= 0 characters<= 255 charactersCustom expected-date message to display on the product page. If undefined, the message defaults to the storewide setting. Can contain the
%%DATE%%
placeholder, which will be substituted for the release date.is_preorder_onlyboolean
If set to true then on the preorder release date the preorder status will automatically be removed. If set to false, then on the release date the preorder status will not be removed. It will need to be changed manually either in the control panel or using the API. Using the API set
availability
toavailable
.is_price_hiddenboolean
False by default, indicating that this product's price should be shown on the product page. If set to
true
, the price is hidden. (NOTE: To successfully setis_price_hidden
totrue
, theavailability
value must bedisabled
.)price_hidden_labelstring
>= 0 characters<= 200 charactersBy default, an empty string. If
is_price_hidden
istrue
, the value ofprice_hidden_label
is displayed instead of the price. (NOTE: To successfully set a non-empty string value withis_price_hidden
set totrue
, theavailability
value must bedisabled
.)custom_urlobject
The custom URL for the product on the storefront.
open_graph_typestring
Type of product, defaults to
product
.Allowed: product | album | book | drink | food | game | movie | song | tv_show
open_graph_titlestring
Title of the product, if not specified the product name will be used instead.
open_graph_descriptionstring
Description to use for the product, if not specified then the meta_description will be used instead.
open_graph_use_meta_descriptionboolean
Flag to determine if product description or open graph description is used.
open_graph_use_product_nameboolean
Flag to determine if product name or open graph name is used.
open_graph_use_imageboolean
Flag to determine if product image or open graph image is used.
brand_name or brand_idstring
The brand can be created during a product PUT or POST request. If the brand already exists then the product will be added. If not the brand will be created and the product added. If using
brand_name
it performs a fuzzy match and adds the brand. eg. "Common Good" and "Common good" are the same. Brand name does not return as part of a product response. Only thebrand_id
.Example: Common Good
gtinstring
Global Trade Item Number
mpnstring
Manufacturer Part Number
reviews_rating_suminteger
The total (cumulative) rating for the product.
Example: 3
reviews_countinteger
The number of times the product has been rated.
Example: 4
total_soldinteger
The total quantity of this product sold.
Example: 80
custom_fieldsarray[object]
bulk_pricing_rulesarray[object]
imagesarray[object]
videosarray[object]
example
{ "name": "Smith Journal 13", "type": "physical", "sku": "SM-13", "description": "<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>", "weight": 9999999999, "width": 9999999999, "depth": 9999999999, "height": 9999999999, "price": 0, "cost_price": 0, "retail_price": 0, "sale_price": 0, "map_price": 0, "tax_class_id": 1000000000, "product_tax_code": "string", "categories": [ 0 ], "brand_id": 1000000000, "inventory_level": 2147483647, "inventory_warning_level": 2147483647, "inventory_tracking": "none", "fixed_cost_shipping_price": 0, "is_free_shipping": true, "is_visible": true, "is_featured": true, "related_products": [ 0 ], "warranty": "string", "bin_picking_number": "string", "layout_file": "string", "upc": "string", "search_keywords": "string", "availability_description": "string", "availability": "available", "gift_wrapping_options_type": "any", "gift_wrapping_options_list": [ 0 ], "sort_order": -2147483648, "condition": "New", "is_condition_shown": true, "order_quantity_minimum": 1000000000, "order_quantity_maximum": 1000000000, "page_title": "string", "meta_keywords": [ "string" ], "meta_description": "string", "view_count": 1000000000, "preorder_release_date": "2019-08-24T14:15:22Z", "preorder_message": "string", "is_preorder_only": true, "is_price_hidden": true, "price_hidden_label": "string", "custom_url": { "url": "string", "is_customized": true }, "open_graph_type": "product", "open_graph_title": "string", "open_graph_description": "string", "open_graph_use_meta_description": true, "open_graph_use_product_name": true, "open_graph_use_image": true, "brand_name or brand_id": "Common Good", "gtin": "string", "mpn": "string", "reviews_rating_sum": 3, "reviews_count": 4, "total_sold": 80, "custom_fields": [ { "id": 6, "name": "ISBN", "value": "1234567890123" } ], "bulk_pricing_rules": [ { "quantity_min": 10, "quantity_max": 50, "type": "price", "amount": 10 } ], "images": [ { "image_file": "string", "is_thumbnail": true, "sort_order": -2147483648, "description": "string", "image_url": "string", "id": 0, "product_id": 0, "date_modified": "2019-08-24T14:15:22Z" } ], "videos": [ { "title": "Writing Great Documentation", "description": "A video about documenation", "sort_order": 1, "type": "youtube", "video_id": "z3fRu9pkuXE", "id": 0, "product_id": 0, "length": "string" } ] }
Response
Body
data
metaobject
Response metadata.
example
{ "data": { "name": "Smith Journal 13", "type": "physical", "sku": "SM-13", "description": "<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>", "weight": 9999999999, "width": 9999999999, "depth": 9999999999, "height": 9999999999, "price": 0, "cost_price": 0, "retail_price": 0, "sale_price": 0, "map_price": 0, "tax_class_id": 1000000000, "product_tax_code": "string", "categories": [ 0 ], "brand_id": 1000000000, "inventory_level": 2147483647, "inventory_warning_level": 2147483647, "inventory_tracking": "none", "fixed_cost_shipping_price": 0, "is_free_shipping": true, "is_visible": true, "is_featured": true, "related_products": [ 0 ], "warranty": "string", "bin_picking_number": "string", "layout_file": "string", "upc": "string", "search_keywords": "string", "availability_description": "string", "availability": "available", "gift_wrapping_options_type": "any", "gift_wrapping_options_list": [ 0 ], "sort_order": -2147483648, "condition": "New", "is_condition_shown": true, "order_quantity_minimum": 1000000000, "order_quantity_maximum": 1000000000, "page_title": "string", "meta_keywords": [ "string" ], "meta_description": "string", "view_count": 1000000000, "preorder_release_date": "2019-08-24T14:15:22Z", "preorder_message": "string", "is_preorder_only": true, "is_price_hidden": true, "price_hidden_label": "string", "custom_url": { "url": "string", "is_customized": true }, "open_graph_type": "product", "open_graph_title": "string", "open_graph_description": "string", "open_graph_use_meta_description": true, "open_graph_use_product_name": true, "open_graph_use_image": true, "brand_name or brand_id": "Common Good", "gtin": "string", "mpn": "string", "reviews_rating_sum": 3, "reviews_count": 4, "total_sold": 80, "custom_fields": [ { "id": 6, "name": "ISBN", "value": "1234567890123" } ], "bulk_pricing_rules": [ { "quantity_min": 10, "quantity_max": 50, "type": "price", "amount": 10 } ], "images": [ { "image_file": "string", "is_thumbnail": true, "sort_order": -2147483648, "description": "string", "image_url": "string", "id": 0, "product_id": 0, "date_modified": "2019-08-24T14:15:22Z" } ], "videos": [ { "title": "Writing Great Documentation", "description": "A video about documenation", "sort_order": 1, "type": "youtube", "video_id": "z3fRu9pkuXE", "id": 0, "product_id": 0, "length": "string" } ], "date_created": "2018-08-15T14:49:05+00:00", "date_modified": "2018-08-24T14:41:00+00:00", "base_variant_id": 0, "calculated_price": 0, "options": [ { "id": 55, "product_id": 4, "display_name": "Add-a-$5-Donation1535042499-187", "type": "radio_buttons", "config": { "default_value": "string", "checked_by_default": true, "checkbox_label": "string", "date_limited": true, "date_limit_mode": "range", "date_earliest_value": "2019-08-24", "date_latest_value": "2019-08-24", "file_types_mode": "specific", "file_types_supported": [ "images, documents, other" ], "file_types_other": [ "pdf" ], "file_max_size": 5, "text_characters_limited": true, "text_min_length": 1, "text_max_length": 55, "text_lines_limited": true, "text_max_lines": 4, "number_limited": true, "number_limit_mode": "lowest", "number_lowest_value": 100, "number_highest_value": 0, "number_integers_only": false, "product_list_adjusts_inventory": true, "product_list_adjusts_pricing": true, "product_list_shipping_calc": "weight" }, "sort_order": 1, "option_values": [ { "is_default": false, "label": "Green", "sort_order": 0, "value_data": {}, "id": 0 } ] } ], "modifiers": [ { "type": "date", "required": true, "sort_order": 0, "config": { "default_value": "string", "checked_by_default": true, "checkbox_label": "string", "date_limited": true, "date_limit_mode": "range", "date_earliest_value": "2019-08-24", "date_latest_value": "2019-08-24", "file_types_mode": "specific", "file_types_supported": [ "images, documents, other" ], "file_types_other": [ "pdf" ], "file_max_size": 5, "text_characters_limited": true, "text_min_length": 1, "text_max_length": 55, "text_lines_limited": true, "text_max_lines": 4, "number_limited": true, "number_limit_mode": "lowest", "number_lowest_value": 100, "number_highest_value": 0, "number_integers_only": false, "product_list_adjusts_inventory": true, "product_list_adjusts_pricing": true, "product_list_shipping_calc": "weight" }, "display_name": "string", "id": 12, "product_id": 77, "name": "Add-a-$5-Donation1535039590-191", "option_values": [ { "is_default": false, "label": "Green", "sort_order": 0, "value_data": {}, "adjusters": { "price": { "adjuster": "relative", "adjuster_value": 5 }, "weight": { "adjuster": "relative", "adjuster_value": 5 }, "image_url": "https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2", "purchasing_disabled": { "status": true, "message": "string" } }, "id": 0, "option_id": 0 } ] } ], "option_set_id": 0, "option_set_display": "string", "variants": [ { "cost_price": 0, "price": 0, "sale_price": 0, "retail_price": 0, "weight": 0, "width": 0, "height": 0, "depth": 0, "is_free_shipping": true, "fixed_cost_shipping_price": 0, "purchasing_disabled": true, "purchasing_disabled_message": "string", "upc": "string", "inventory_level": 2147483647, "inventory_warning_level": 2147483647, "bin_picking_number": "string", "mpn": "string", "gtin": "012345678905", "id": 0, "product_id": 0, "sku": "string", "sku_id": 0, "option_values": [ { "option_display_name": "Color", "label": "Beige", "id": 146, "option_id": 151 } ], "calculated_price": 0, "calculated_weight": 0 } ] }, "meta": {} }
Delete Products
DELETE /stores/{store_hash}/v3/catalog/products
Request
To delete Product objects, you must include a filter. This prevents inadvertently deleting all Product objects in a store.
Note
The maximum number of products you can delete at one time is 250.
Example:
To delete products with the id's of 1,2 and 3, use DELETE /v3/catalog/products?id:in=1,2,3
.
Authentication
- X-Auth-Token in header - required
Parameters
- store_hash in path - string
- Accept in header with default of application/json - string - required
The MIME type of the response body.
- name in query - string
Filter items by name.
- sku in query - string
Filter items by SKU.
- price in query - number
Filter items by price.
- weight in query - number
Filter items by weight.
- condition in query - string
Filter items by condition.
- brand_id in query - integer
Filter items by brand_id.
- date_modified in query - string
Filter items by date_modified. For example
v3/catalog/products?date_modified:min=2018-06-15
- date_last_imported in query - string
Filter items by date_last_imported. For example
v3/catalog/products?date_last_imported:min=2018-06-15
- is_visible in query - boolean
Filter items by if visible on the storefront.
- is_featured in query - integer
Filter items by is_featured.
- inventory_level in query - integer
Filter items by inventory_level.
- total_sold in query - integer
Filter items by total_sold.
- type in query - string
Filter items by type:
physical
ordigital
. - categories in query - integer
Filter items by categories. If a product is in more than one category, using this query will not return the product. Instead use
categories:in=12
. - keyword in query - string
Filter items by keywords found in the
name
,description
, orsku
fields, or in the brand name.
example
curl --request DELETE \ --url 'https://api.bigcommerce.com/stores/[store_hash]/v3/catalog/products' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'X-Auth-Token: xxxxxxxxxxxxxxxxx'
Response
Get a Product
GET /stores/{store_hash}/v3/catalog/products/{product_id}
Request
Returns a single Product. Optional parameters can be passed in.
Authentication
- X-Auth-Token in header - required
Parameters
- store_hash in path - string
- Accept in header with default of application/json - string - required
The MIME type of the response body.
- product_id in path - integer - required
The ID of the
Product
to which the resource belongs. - include in query - string
Sub-resources to include on a product, in a comma-separated list. If
options
ormodifiers
is used, results are limited to 10 per page. - include_fields in query - string
Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
- exclude_fields in query - string
Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.
example
curl --request GET \ --url 'https://api.bigcommerce.com/stores/[store_hash]/v3/catalog/products/[product_id]' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'X-Auth-Token: xxxxxxxxxxxxxxxxx'
Response
Body
data
metaobject
Response metadata.
example
{ "data": { "id": 174, "name": "1L Le Parfait Jar", "type": "physical", "sku": "", "description": "<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>", "weight": 1, "width": 0, "depth": 0, "height": 0, "price": 7.95, "cost_price": 0, "retail_price": 10, "sale_price": 0, "map_price": 0, "tax_class_id": 0, "product_tax_code": "", "calculated_price": 7.95, "categories": [ 23, 21 ], "brand_id": 36, "option_set_id": 55, "option_set_display": "right", "inventory_level": 0, "inventory_warning_level": 0, "inventory_tracking": "none", "reviews_rating_sum": 0, "reviews_count": 0, "total_sold": 7, "fixed_cost_shipping_price": 0, "is_free_shipping": false, "is_visible": true, "is_featured": false, "related_products": [ -1 ], "warranty": "", "bin_picking_number": "", "layout_file": "product.html", "upc": "", "mpn": "", "gtin": "", "search_keywords": "jar, glass", "availability": "available", "availability_description": "", "gift_wrapping_options_type": "any", "gift_wrapping_options_list": [], "sort_order": 0, "condition": "New", "is_condition_shown": false, "order_quantity_minimum": 0, "order_quantity_maximum": 0, "page_title": "", "meta_keywords": [], "meta_description": "", "date_created": "2018-08-15T14:48:46+00:00", "date_modified": "2018-09-05T20:42:07+00:00", "view_count": 10, "preorder_release_date": "2018-09-05T20:42:07+00:00", "preorder_message": "", "is_preorder_only": false, "is_price_hidden": false, "price_hidden_label": "", "custom_url": { "url": "/all/1l-le-parfait-jar/", "is_customized": true }, "base_variant_id": 345, "open_graph_type": "product", "open_graph_title": "", "open_graph_description": "", "open_graph_use_meta_description": true, "open_graph_use_product_name": true, "open_graph_use_image": true }, "meta": {} }
Update a Product
PUT /stores/{store_hash}/v3/catalog/products/{product_id}
Request
Updates a Product.
Read-Only Fields
- id
- date_created
- date_modified
- calculated_price
- base_variant_id
Authentication
- X-Auth-Token in header - required
Parameters
- store_hash in path - string
- Content-Type in header with default of application/json - string - required
The MIME type of the request body.
- include_fields in query - string
Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
Body
The model for a PUT to update a product.
namestring
required>= 1 characters<= 250 charactersA unique product name.
Example: Smith Journal 13
typestring
requiredThe product type. One of:
physical
- a physical stock unit,digital
- a digital download.Allowed: physical | digital
Example: physical
skustring
>= 0 characters<= 255 charactersA unique user-defined product code/stock keeping unit (SKU).
Example: SM-13
descriptionstring
The product description, which can include HTML formatting.
Example: <p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>
weightnumber
requiredWeight of the product, which can be used when calculating shipping costs. This is based on the unit set on the store
widthnumber
Width of the product, which can be used when calculating shipping costs.
depthnumber
Depth of the product, which can be used when calculating shipping costs.
heightnumber
Height of the product, which can be used when calculating shipping costs.
pricenumber
requiredThe price of the product. The price should include or exclude tax, based on the store settings.
cost_pricenumber
The cost price of the product. Stored for reference only; it is not used or displayed anywhere on the store.
retail_pricenumber
The retail cost of the product. If entered, the retail cost price will be shown on the product page.
sale_pricenumber
If entered, the sale price will be used instead of value in the price field when calculating the product's cost.
map_pricenumber
Minimum Advertised Price
tax_class_idinteger
The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.)
product_tax_codestring
>= 0 characters<= 255 charactersAccepts AvaTax System Tax Codes, which identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to BigCommerce's Avalara Premium integration can calculate sales taxes more accurately. Stores without Avalara Premium will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive. For details, please see Avalara's documentation.
categoriesarray[integer]
An array of IDs for the categories to which this product belongs. When updating a product, if an array of categories is supplied, all product categories will be overwritten. Does not accept more than 1,000 ID values.
brand_idinteger
A product can be added to an existing brand during a product /PUT or /POST.
inventory_levelinteger
Current inventory level of the product. You must track inventory by product for this to take effect (see the
inventory_tracking
field). The Catalog API returns the inventory for only the default location.The inventory for a product cannot exceed 2,147,483,647 in the catalog. If you exceed the limit, the store sets the inventory level to the limit.
The Catalog API handles limits in a different way than the Inventory API. For more information, see Limit handling.
inventory_warning_levelinteger
Inventory warning level for the product. When the product's inventory level drops below the warning level, the store owner will be informed. Simple inventory tracking must be enabled (see the
inventory_tracking
field) for this to take any effect.inventory_trackingstring
The type of inventory tracking for the product. Values are:
none
- inventory levels will not be tracked;product
- inventory levels will be tracked using theinventory_level
andinventory_warning_level
fields;variant
- inventory levels will be tracked based on variants, which maintain their own warning levels and inventory levels.Allowed: none | product | variant
fixed_cost_shipping_pricenumber
A fixed shipping cost for the product. If defined, this value will be used during checkout instead of normal shipping-cost calculation.
is_free_shippingboolean
Flag used to indicate whether the product has free shipping. If
true
, the shipping cost for the product will be zero.is_visibleboolean
Flag to determine whether the product should be displayed to customers browsing the store. If
true
, the product will be displayed. Iffalse
, the product will be hidden from view.is_featuredboolean
Flag to determine whether the product should be included in the
featured products
panel when viewing the store.related_productsarray[integer]
An array of IDs for the related products.
warrantystring
>= 0 characters<= 65535 charactersWarranty information displayed on the product page. Can include HTML formatting.
bin_picking_numberstring
>= 0 characters<= 255 charactersThe BIN picking number for the product.
layout_filestring
>= 0 characters<= 500 charactersThe layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see Custom Template Associations.
upcstring
>= 0 characters<= 32 charactersThe product UPC code, which is used in feeds for shopping comparison sites and external channel integrations.
search_keywordsstring
>= 0 characters<= 65535 charactersA comma-separated list of keywords that can be used to locate the product when searching the store.
availability_descriptionstring
>= 0 characters<= 255 charactersAvailability text displayed on the checkout page, under the product title. Tells the customer how long it will normally take to ship this product, such as: 'Usually ships in 24 hours.'
availabilitystring
Availability of the product. (Corresponds to the product's Purchasability section in the control panel.) Supported values:
available
- the product is available for purchase;disabled
- the product is listed on the storefront, but cannot be purchased;preorder
- the product is listed for pre-orders.Allowed: available | disabled | preorder
gift_wrapping_options_typestring
Type of gift-wrapping options. Values:
any
- allow any gift-wrapping options in the store;none
- disallow gift-wrapping on the product;list
– provide a list of IDs in thegift_wrapping_options_list
field.Allowed: any | none | list
gift_wrapping_options_listarray[integer]
A list of gift-wrapping option IDs.
sort_orderinteger
Priority to give this product when included in product lists on category pages and in search results. Lower integers will place the product closer to the top of the results.
conditionstring
The product condition. Will be shown on the product page if the
is_condition_shown
field's value istrue
. Possible values:New
,Used
,Refurbished
.Allowed: New | Used | Refurbished
is_condition_shownboolean
Flag used to determine whether the product condition is shown to the customer on the product page.
order_quantity_minimuminteger
The minimum quantity an order must contain, to be eligible to purchase this product.
order_quantity_maximuminteger
The maximum quantity an order can contain when purchasing the product.
page_titlestring
>= 0 characters<= 255 charactersCustom title for the product page. If not defined, the product name will be used as the meta title.
meta_keywordsarray[string]
Custom meta keywords for the product page. If not defined, the store's default keywords will be used.
meta_descriptionstring
>= 0 characters<= 65535 charactersCustom meta description for the product page. If not defined, the store's default meta description will be used.
view_countinteger
The number of times the product has been viewed.
preorder_release_datestring
Pre-order release date. See the
availability
field for details on setting a product's availability to accept pre-orders.preorder_messagestring
>= 0 characters<= 255 charactersCustom expected-date message to display on the product page. If undefined, the message defaults to the storewide setting. Can contain the
%%DATE%%
placeholder, which will be substituted for the release date.is_preorder_onlyboolean
If set to true then on the preorder release date the preorder status will automatically be removed. If set to false, then on the release date the preorder status will not be removed. It will need to be changed manually either in the control panel or using the API. Using the API set
availability
toavailable
.is_price_hiddenboolean
False by default, indicating that this product's price should be shown on the product page. If set to
true
, the price is hidden. (NOTE: To successfully setis_price_hidden
totrue
, theavailability
value must bedisabled
.)price_hidden_labelstring
>= 0 characters<= 200 charactersBy default, an empty string. If
is_price_hidden
istrue
, the value ofprice_hidden_label
is displayed instead of the price. (NOTE: To successfully set a non-empty string value withis_price_hidden
set totrue
, theavailability
value must bedisabled
.)custom_urlobject
The custom URL for the product on the storefront.
open_graph_typestring
Type of product, defaults to
product
.Allowed: product | album | book | drink | food | game | movie | song | tv_show
open_graph_titlestring
Title of the product, if not specified the product name will be used instead.
open_graph_descriptionstring
Description to use for the product, if not specified then the meta_description will be used instead.
open_graph_use_meta_descriptionboolean
Flag to determine if product description or open graph description is used.
open_graph_use_product_nameboolean
Flag to determine if product name or open graph name is used.
open_graph_use_imageboolean
Flag to determine if product image or open graph image is used.
brand_name or brand_idstring
The brand can be created during a product PUT or POST request. If the brand already exists then the product will be added. If not the brand will be created and the product added. If using
brand_name
it performs a fuzzy match and adds the brand. eg. "Common Good" and "Common good" are the same. Brand name does not return as part of a product response. Only thebrand_id
.Example: Common Good
gtinstring
Global Trade Item Number
mpnstring
Manufacturer Part Number
reviews_rating_suminteger
The total (cumulative) rating for the product.
Example: 3
reviews_countinteger
The number of times the product has been rated.
Example: 4
total_soldinteger
The total quantity of this product sold.
Example: 80
custom_fieldsarray[object]
bulk_pricing_rulesarray[object]
imagesarray[object]
videosarray[object]
variantsarray[object]
example
{ "name": "Smith Journal 13", "type": "physical", "sku": "SM-13", "description": "<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>", "weight": 9999999999, "width": 9999999999, "depth": 9999999999, "height": 9999999999, "price": 0, "cost_price": 0, "retail_price": 0, "sale_price": 0, "map_price": 0, "tax_class_id": 1000000000, "product_tax_code": "string", "categories": [ 0 ], "brand_id": 1000000000, "inventory_level": 2147483647, "inventory_warning_level": 2147483647, "inventory_tracking": "none", "fixed_cost_shipping_price": 0, "is_free_shipping": true, "is_visible": true, "is_featured": true, "related_products": [ 0 ], "warranty": "string", "bin_picking_number": "string", "layout_file": "string", "upc": "string", "search_keywords": "string", "availability_description": "string", "availability": "available", "gift_wrapping_options_type": "any", "gift_wrapping_options_list": [ 0 ], "sort_order": -2147483648, "condition": "New", "is_condition_shown": true, "order_quantity_minimum": 1000000000, "order_quantity_maximum": 1000000000, "page_title": "string", "meta_keywords": [ "string" ], "meta_description": "string", "view_count": 1000000000, "preorder_release_date": "2019-08-24T14:15:22Z", "preorder_message": "string", "is_preorder_only": true, "is_price_hidden": true, "price_hidden_label": "string", "custom_url": { "url": "string", "is_customized": true }, "open_graph_type": "product", "open_graph_title": "string", "open_graph_description": "string", "open_graph_use_meta_description": true, "open_graph_use_product_name": true, "open_graph_use_image": true, "brand_name or brand_id": "Common Good", "gtin": "string", "mpn": "string", "reviews_rating_sum": 3, "reviews_count": 4, "total_sold": 80, "custom_fields": [ { "id": 6, "name": "ISBN", "value": "1234567890123" } ], "bulk_pricing_rules": [ { "quantity_min": 10, "quantity_max": 50, "type": "price", "amount": 10 } ], "images": [ { "image_file": "string", "is_thumbnail": true, "sort_order": -2147483648, "description": "string", "image_url": "string", "id": 0, "product_id": 0, "date_modified": "2019-08-24T14:15:22Z" } ], "videos": [ { "title": "Writing Great Documentation", "description": "A video about documenation", "sort_order": 1, "type": "youtube", "video_id": "z3fRu9pkuXE", "id": 0, "product_id": 0, "length": "string" } ], "variants": [ { "cost_price": 0, "price": 0, "sale_price": 0, "retail_price": 0, "weight": 0, "width": 0, "height": 0, "depth": 0, "is_free_shipping": true, "fixed_cost_shipping_price": 0, "purchasing_disabled": true, "purchasing_disabled_message": "string", "upc": "string", "inventory_level": 2147483647, "inventory_warning_level": 2147483647, "bin_picking_number": "string", "product_id": 0, "sku": "string" } ] }
Response
Body
data
metaobject
Response metadata.
example
{ "data": { "name": "Smith Journal 13", "type": "physical", "sku": "SM-13", "description": "<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>", "weight": 9999999999, "width": 9999999999, "depth": 9999999999, "height": 9999999999, "price": 0, "cost_price": 0, "retail_price": 0, "sale_price": 0, "map_price": 0, "tax_class_id": 1000000000, "product_tax_code": "string", "categories": [ 0 ], "brand_id": 1000000000, "inventory_level": 2147483647, "inventory_warning_level": 2147483647, "inventory_tracking": "none", "fixed_cost_shipping_price": 0, "is_free_shipping": true, "is_visible": true, "is_featured": true, "related_products": [ 0 ], "warranty": "string", "bin_picking_number": "string", "layout_file": "string", "upc": "string", "search_keywords": "string", "availability_description": "string", "availability": "available", "gift_wrapping_options_type": "any", "gift_wrapping_options_list": [ 0 ], "sort_order": -2147483648, "condition": "New", "is_condition_shown": true, "order_quantity_minimum": 1000000000, "order_quantity_maximum": 1000000000, "page_title": "string", "meta_keywords": [ "string" ], "meta_description": "string", "view_count": 1000000000, "preorder_release_date": "2019-08-24T14:15:22Z", "preorder_message": "string", "is_preorder_only": true, "is_price_hidden": true, "price_hidden_label": "string", "custom_url": { "url": "string", "is_customized": true }, "open_graph_type": "product", "open_graph_title": "string", "open_graph_description": "string", "open_graph_use_meta_description": true, "open_graph_use_product_name": true, "open_graph_use_image": true, "brand_name or brand_id": "Common Good", "gtin": "string", "mpn": "string", "reviews_rating_sum": 3, "reviews_count": 4, "total_sold": 80, "custom_fields": [ { "id": 6, "name": "ISBN", "value": "1234567890123" } ], "bulk_pricing_rules": [ { "quantity_min": 10, "quantity_max": 50, "type": "price", "amount": 10 } ], "images": [ { "image_file": "string", "is_thumbnail": true, "sort_order": -2147483648, "description": "string", "image_url": "string", "id": 0, "product_id": 0, "date_modified": "2019-08-24T14:15:22Z" } ], "videos": [ { "title": "Writing Great Documentation", "description": "A video about documenation", "sort_order": 1, "type": "youtube", "video_id": "z3fRu9pkuXE", "id": 0, "product_id": 0, "length": "string" } ], "date_created": "2018-08-15T14:49:05+00:00", "date_modified": "2018-08-24T14:41:00+00:00", "base_variant_id": 0, "calculated_price": 0, "options": [ { "id": 55, "product_id": 4, "display_name": "Add-a-$5-Donation1535042499-187", "type": "radio_buttons", "config": { "default_value": "string", "checked_by_default": true, "checkbox_label": "string", "date_limited": true, "date_limit_mode": "range", "date_earliest_value": "2019-08-24", "date_latest_value": "2019-08-24", "file_types_mode": "specific", "file_types_supported": [ "images, documents, other" ], "file_types_other": [ "pdf" ], "file_max_size": 5, "text_characters_limited": true, "text_min_length": 1, "text_max_length": 55, "text_lines_limited": true, "text_max_lines": 4, "number_limited": true, "number_limit_mode": "lowest", "number_lowest_value": 100, "number_highest_value": 0, "number_integers_only": false, "product_list_adjusts_inventory": true, "product_list_adjusts_pricing": true, "product_list_shipping_calc": "weight" }, "sort_order": 1, "option_values": [ { "is_default": false, "label": "Green", "sort_order": 0, "value_data": {}, "id": 0 } ] } ], "modifiers": [ { "type": "date", "required": true, "sort_order": 0, "config": { "default_value": "string", "checked_by_default": true, "checkbox_label": "string", "date_limited": true, "date_limit_mode": "range", "date_earliest_value": "2019-08-24", "date_latest_value": "2019-08-24", "file_types_mode": "specific", "file_types_supported": [ "images, documents, other" ], "file_types_other": [ "pdf" ], "file_max_size": 5, "text_characters_limited": true, "text_min_length": 1, "text_max_length": 55, "text_lines_limited": true, "text_max_lines": 4, "number_limited": true, "number_limit_mode": "lowest", "number_lowest_value": 100, "number_highest_value": 0, "number_integers_only": false, "product_list_adjusts_inventory": true, "product_list_adjusts_pricing": true, "product_list_shipping_calc": "weight" }, "display_name": "string", "id": 12, "product_id": 77, "name": "Add-a-$5-Donation1535039590-191", "option_values": [ { "is_default": false, "label": "Green", "sort_order": 0, "value_data": {}, "adjusters": { "price": { "adjuster": "relative", "adjuster_value": 5 }, "weight": { "adjuster": "relative", "adjuster_value": 5 }, "image_url": "https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2", "purchasing_disabled": { "status": true, "message": "string" } }, "id": 0, "option_id": 0 } ] } ], "option_set_id": 0, "option_set_display": "string", "variants": [ { "cost_price": 0, "price": 0, "sale_price": 0, "retail_price": 0, "weight": 0, "width": 0, "height": 0, "depth": 0, "is_free_shipping": true, "fixed_cost_shipping_price": 0, "purchasing_disabled": true, "purchasing_disabled_message": "string", "upc": "string", "inventory_level": 2147483647, "inventory_warning_level": 2147483647, "bin_picking_number": "string", "mpn": "string", "gtin": "012345678905", "id": 0, "product_id": 0, "sku": "string", "sku_id": 0, "option_values": [ { "option_display_name": "Color", "label": "Beige", "id": 146, "option_id": 151 } ], "calculated_price": 0, "calculated_weight": 0 } ] }, "meta": {} }
Delete a Product
DELETE /stores/{store_hash}/v3/catalog/products/{product_id}
Request
Deletes a Product.
Authentication
- X-Auth-Token in header - required
Parameters
- store_hash in path - string
- Accept in header with default of application/json - string - required
The MIME type of the response body.
- product_id in path - integer - required
The ID of the
Product
to which the resource belongs.
example
curl --request DELETE \ --url 'https://api.bigcommerce.com/stores/[store_hash]/v3/catalog/products/[product_id]' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'X-Auth-Token: xxxxxxxxxxxxxxxxx'