Brands and Categories
We’ve explored the ways you can create, modify, and delete products. We’ve also learned about variants, variant options, and modifier options. Now we want to empower you with the ability to organize the products in ways that stretch your programming prowess.
In this lesson, we’ll discuss brands and categories; namely, how to create a category, update a category by ID, assign a product to different categories, and explore the power of the category tree.
Brands
Brands are a form of catalog taxonomy. A brand is a grouping of products that share a common identity. For example, you might have a brand for your own line of products, or you might have a brand for products that you sell from other manufacturers.
Brands can be associated with products. This means that you can create a brand and then associate it with one or more products. You can upload an image to a brand to use as the brand’s logo. Brands can have metafields. You can use metafields to store additional information about brands, such as the brand’s website address or the brand’s contact information.
Create a Brand
Create a brand by sending a POST request to /catalog/brands
Required Fields:
name
GET a Brand
Returns a single brand.
Create a Brand Image
Creates a brand Image.
Categories
Categories are collections of products organized by the merchant for the primary purpose of merchandising the products on a BigCommerce storefront. The collection of categories for a store determines the navigational menu hierarchy and structure for most storefront themes. All products should be associated with at least one category, and a category needs to contain at least one product.
Categories Trees
If you are developing on a multi-storefront environment, you may need to manage multiple categories across multiple category trees. The API described in the previous example is a legacy API and will not work for multi-storefront. Instead, you should use Categories Trees to manage your categories.
Categories Trees - GET All Categories
Returns a list of categories across multiple category trees. To get a specific category in a tree, provide a category id.
Category Trees - Create Categories
Creates new categories. tree_id or parent_id are required to create a category.
Example Request and Response Bodies
Request
Response
Category Trees - Update Categories
Updates existing categories across multiple channels. To update a specific category in a tree, provide the category id.
Example Request:
A category tree is collection of categories for a store that makes up the navigational menu hierarchy and structure for most storefront themes.
The Category Tree endpoint returns a simple view of the parent > child relationship of all categories in the store. This endpoint can be used to fetch the categories if building out a custom navigation for a store.
GET a Category Tree
Returns a category tree.

GET All Category Trees
Returns a list of all category trees.
Example Response:
UPSERT a Category Tree
Updates or creates a new tree. If a tree object contains an ID, it is processed as an update operation using that ID. If no ID is provided, a new tree is created.
channel_id is required to create a category tree.
Example Request and Response Bodies: