Get all categories
/catalog-apiThe Catalog API manages products, categories, brands, variants, and related entities. V3 is the current standard, offering better pagination, metafields support, and batch operations. V2 is deprecated
<overview> The CatalogAPI manages products, categories, brands, variants, and related entities. V3 is the current standard, offering improved pagination, support for metafields, and batch operations. V2 is deprecated but still supported for legacy integrations. </overview > <apiversions > <v3advantages > -Cursor pagination via the `meta object - Metafields on products, variants, brands, and categories - Batch operations (up to 10 products per request) - Improved performance optimization - Channel assignments for MSF **Always use V3 for new integrations.** </v3_advantages > <v2_legacy > Still available but deprecated. Avoid using it for new work. Migration guide:https://developer.bigcommerce.com/docs/store-operations/catalog/migration </v2_legacy > </api_versions > <products> <base_endpoint > ` GET/POST/PUT/DELETE https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/products </base_endpoint> <create_product> bash POST /v3/catalog/products Content-Type: application/json { "name": "Product Name", "type": "physical", "sku": "PROD-001", "price": 29.99, "weight": 1.5, "categories": [23, 45], "brand_id": 12, "inventory_level": 100, "inventory_tracking": "product", "is_visible": true } **Required fields:** name, type, weight (for physical), price </create_product> <product_types> - physical - Tangible goods requiring shipping - digital - Downloadable products </product_types> <batch_operations> Update up to 10 products per request: bash PUT /v3/catalog/products Content-Type: application/json [ {"id": 111, "price": 24.99}, {"id": 112, "price": 34.99}, {"id": 113, "inventory_level": 50} ] </batch_operations> <filtering_products> GET /v3/catalog/products?sku=PROD-001 GET /v3/catalog/products?brand_id=12 GET /v3/catalog/products?categories:in=23,45 GET /v3/catalog/products?is_visible=true GET /v3/catalog/products?price:min=10&price:max=50 GET /v3/catalog/products?date_modified:min=2024-01-01 </filtering_products> <include_subresources> GET /v3/catalog/products?include=variants,images,custom_fields,bulk_pricing_rules,options,modifiers </include_subresources> </products> <variants> <concept> A variant is a purchasable version of a product with its own SKU. Every purchasable entity is a variant in V3, including the base product itself (base variant). Example: A T-shirt product has variants for each size/color combination. </concept> <create_product_with_variants> bash POST /v3/catalog/products Content-Type: application/json { "name": "T-Shirt", "type": "physical", "weight": 0.5, "price": 25.00, "variants": [ { "sku": "TSHIRT-S-RED", "price": 25.00, "option_values": [ {"option_display_name": "Size", "label": "Small"}, {"option_display_name": "Color", "label": "Red"} ] }, { "sku": "TSHIRT-M-RED", "price": 25.00, "option_values": [ {"option_display_name": "Size", "label": "Medium"}, {"option_display_name": "Color", "label": "Red"} ] } ] } </create_product_with_variants> <variant_endpoints> GET /v3/catalog/products/{product_id}/variants GET /v3/catalog/products/{product_id}/variants/{variant_id} PUT /v3/catalog/products/{product_id}/variants/{variant_id} </variant_endpoints> </variants> <categories> <deprecation_notice> V3 /catalog/categories endpoints are deprecated. Use **Category Trees** endpoints for both single-storefront and MSF stores: GET /v3/catalog/trees/categories POST /v3/catalog/trees/categories PUT /v3/catalog/trees/categories DELETE /v3/catalog/trees/categories </deprecation_notice> <category_tree_operations> bash # Get all categories GET /v3/catalog/trees/categories # Create category POST /v3/catalog/trees/categories { "parent_id": 0, "tree_id": 1, "name": "New Category", "is_visible": true } # Update category PUT /v3/catalog/trees/categories [ {"id": 23, "name": "Updated Name"} ] </category_tree_operations> </categories> <brands> <endpoints> GET /v3/catalog/brands POST /v3/catalog/brands PUT /v3/catalog/brands/{brand_id} DELETE /v3/catalog/brands/{brand_id} `` </endpoints > <create_brand >