Categories
Get All Categories
GET https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/trees/categoriesRequest
Returns a list of categories.
To get a specific category in a tree, provide a category ID.
Authentication
- X-Auth-Token in header
Parameters
- store_hash in path - string
- Accept in header with default of application/json - stringrequiredThe MIME type of the response body.
- category_uuid:in in query - arrayFilter using a comma-separated list of one or more category UUIDs. To use category IDs, use the
category_id:in
parameter.Type: array[string] - category_uuid:not_in in query - arrayFilter using a comma-separated list to exclude one or more category UUIDs. To exclude using category IDs, use the
category_id:not_in
parameter.Type: array[string] - category_id:in in query - arrayFilter using a comma-separated list of one or more category IDs. To use category UUIDs, use the
category_uuid:in
parameter.Type: array[integer] - category_id:not_in in query - arrayFilter using a comma-separated list to exclude one or more category IDs. To exclude using category UUIDs, use the
category_uuid:not_in
parameter.Type: array[integer] - tree_id:in in query - arrayFilter using a comma-separated list of one or more category tree IDs.Type: array[integer]
- tree_id:not_in in query - arrayFilter using a comma-separated list to exclude one or more category tree IDs.Type: array[integer]
- parent_id:in in query - arrayType: array[integer]
- parent_id:not_in in query - arrayType: array[integer]
- page_title in query - string
Filter items by page_title.
- page_title:like in query - stringFilter items by substring in the page title property.
page_title:like=oil
returns bothSoil and mulch
andOil pastels
. - name in query - string
Filter items by name.
- name:like in query - stringFilter items by substring in the name property.
name:like=stick
returns bothStickers
andLipstick colors
. - keyword in query - stringFilter items by keywords found in the
name
,description
, orsku
fields, or in the brand name. - is_visible in query - booleanFilter items based on whether the product is currently visible on the storefront.
- include_fields in query - arrayFields to include, in a comma-separated list. The ID and the specified fields will be returned.Type: array[string]
- exclude_fields in query - arrayFields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.Type: array[string]
- page in query - integer
Specifies the page number in a limited (paginated) list of products.
- limit in query with default of 50 - integer
Controls the number of items per page in a limited (paginated) list of products.
example
Response
Body
dataarray[object]
Get Category 12
Create Categories
POST https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/trees/categoriesRequest
Creates new categories.
Limits:
- 16,000 categories per store limit.
- 1,000 categories per product limit.
- 50 characters category name length.
- 8 levels of child categories depth limit.
- 65,535 characters category description length limit.
Creating a category requires:
name
tree_id
orparent_id
Authentication
- X-Auth-Token in header
Parameters
- store_hash in path - string
- Accept in header with default of application/json - stringrequiredThe MIME type of the response body.
- Content-Type in header with default of application/json - stringrequiredThe MIME type of the request body.
Body
namestring
required>= 1 characters<= 50 charactersThe name displayed for the category. Name is unique with respect to the categoryʼs siblings. Required in a POST.
Example: Bathurlobject
If not provided in POST request, the URL is autogenerated from the category name.
parent_idinteger
The unique numeric ID of the category parent. To create a top-level category, specify thetree_id
. Otherwise, you can specify theparent_id
. Required in a POST if creating a child category.tree_idinteger
The ID of the category tree. To create a top-level category, specify thetree_id
. Otherwise, you can specify theparent_id
.Example: 1descriptionstring
The product description, which can include HTML formatting.
Example: <p>We offer a wide variety of products perfect for relaxing</p>viewsinteger
Number of views the category has on the storefront.
Example: 1050sort_orderinteger
Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be.
Min: -2147483648Max: 2147483647Example: 3page_titlestring
Custom title for the category page. If not defined, the category name will be used as the meta title.
Example: Bathlayout_filestring
>= 0 characters<= 50 charactersA valid layout file. (Please refer to this article on creating category files.) This field is writable only for stores with a Blueprint theme applied.
Example: category.htmlimage_urlstring
Image URL used for this category on the storefront. Images can be uploaded via form file post to
/categories/{categoryId}/image
, or by providing a publicly accessible URL in this field. Must be either a full-qualified URL or an empty string.Example: https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.pngis_visibleboolean
Flag to determine whether the product should be displayed to customers browsing the store. If
true
, the category will be displayed. Iffalse
, the category will be hidden from view.search_keywordsstring
>= 0 characters<= 255 charactersA comma-separated list of keywords that can be used to locate the category when searching the store.
default_product_sortstring
Determines how the products are sorted on category page load.
Allowed: use_store_settings | featured | newest | best_selling | alpha_asc | alpha_desc | avg_customer_review | price_asc | price_desc
example
Response
Body
dataarray[object]
Create Category 36
Update Categories
PUT https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/trees/categoriesRequest
Updates existing categories.
To update a specific category in a tree, provide a category id
.
Authentication
- X-Auth-Token in header
Parameters
- store_hash in path - string
- Accept in header with default of application/json - stringrequiredThe MIME type of the response body.
- Content-Type in header with default of application/json - stringrequiredThe MIME type of the request body.
Body
category_idinteger
requiredUnique ID of the Category. Increments sequentially.Example: 36namestring
>= 1 characters<= 50 charactersThe name displayed for the category. Name is unique with respect to the categoryʼs siblings. Required in a POST.
Example: Bathtree_idinteger
The ID of the category tree. To create a top-level category, specify thetree_id
. Otherwise, you can specify theparent_id
.Example: 1parent_idinteger
The unique numeric ID of the category parent. To create a top-level category, specify thetree_id
. Otherwise, you can specify theparent_id
. Required in a POST if creating a child category.descriptionstring
The product description, which can include HTML formatting.
Example: <p>We offer a wide variety of products perfect for relaxing</p>viewsinteger
Number of views the category has on the storefront.
Example: 1050sort_orderinteger
Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be.
Min: -2147483648Max: 2147483647Example: 3page_titlestring
Custom title for the category page. If not defined, the category name will be used as the meta title.
Example: Bathlayout_filestring
>= 0 characters<= 50 charactersA valid layout file. (Please refer to this article on creating category files.) This field is writable only for stores with a Blueprint theme applied.
Example: category.htmlimage_urlstring
Image URL used for this category on the storefront. Images can be uploaded via form file post to
/categories/{categoryId}/image
, or by providing a publicly accessible URL in this field. Must be either a full-qualified URL or an empty string.Example: https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.pngis_visibleboolean
Flag to determine whether the product should be displayed to customers browsing the store. If
true
, the category will be displayed. Iffalse
, the category will be hidden from view.search_keywordsstring
>= 0 characters<= 255 charactersA comma-separated list of keywords that can be used to locate the category when searching the store.
default_product_sortstring
Determines how the products are sorted on category page load.
Allowed: use_store_settings | featured | newest | best_selling | alpha_asc | alpha_desc | avg_customer_review | price_asc | price_desc
urlobject
If not provided in POST request, the URL is autogenerated from the category name.
example
Response
Body
example
Delete categories
DELETE https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/trees/categoriesRequest
Deletes categories.
To delete a specific category in a tree, provide a category ID.
Authentication
- X-Auth-Token in header
Parameters
- store_hash in path - string
- Accept in header with default of application/json - stringrequiredThe MIME type of the response body.
- category_uuid:in in query - arrayFilter using a comma-separated list of one or more category UUIDs. To use category IDs, use the
category_id:in
parameter.Type: array[string] - category_id:in in query - arrayFilter using a comma-separated list of one or more category IDs. To use category UUIDs, use the
category_uuid:in
parameter.Type: array[integer] - tree_id:in in query - arrayFilter using a comma-separated list of one or more category tree IDs.Type: array[integer]
- parent_id:in in query - arrayType: array[integer]