> For the complete documentation index, see [llms.txt](https://docs.spurtcommerce.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spurtcommerce.com/api-reference/store/product-discovery/categories.md).

# Categories

Browse storefront product categories and category filters.

## Get category information for the Store.

> Get category information for the Store.\
> \
> \*\*Authentication:\*\* Public storefront request.\
> \
> \*\*Feature area:\*\* Product discovery\
> \
> \*\*Implementation source:\*\* \`src/api/store/controllers/ProductController.ts\`\
> \
> \*\*Request example provenance:\*\* Source success example is the basis; field values are illustrative.\
> \
> \*\*Response example provenance:\*\* Source success example is the basis; field values are illustrative.\
> \
> \> \*\*Example status: Illustrative.\*\* The example is included to demonstrate request/response shape in the reference UI; verify the owning controller and request DTO before using it as a contract.

```json
{"openapi":"3.0.3","info":{"title":"SpurtCommerce Store API","version":"6.0.0"},"tags":[{"name":"Categories","description":"Browse storefront product categories and category filters."}],"servers":[{"url":"https://api.example.com","description":"Replace with your SpurtCommerce API host. Paths include the /api prefix."}],"paths":{"/api/product-store/Category":{"get":{"operationId":"getApiProductStoreCategory","summary":"Get category information for the Store.","description":"Get category information for the Store.\n\n**Authentication:** Public storefront request.\n\n**Feature area:** Product discovery\n\n**Implementation source:** `src/api/store/controllers/ProductController.ts`\n\n**Request example provenance:** Source success example is the basis; field values are illustrative.\n\n**Response example provenance:** Source success example is the basis; field values are illustrative.\n\n> **Example status: Illustrative.** The example is included to demonstrate request/response shape in the reference UI; verify the owning controller and request DTO before using it as a contract.","tags":["Categories"],"responses":{"200":{"description":"Successful response. Source success example is the basis; field values are illustrative. Example is illustrative and does not guarantee a stable response contract.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"data":{"type":"object","properties":{"categoryId":{"type":"integer"},"name":{"type":"string"},"parentInt":{"type":"integer"},"sortOrder":{"type":"integer"}},"additionalProperties":true}},"additionalProperties":true}}}}}}}}}
```

## Get dynamic filter sections for a category.

> Get dynamic filter sections for a category.\
> \
> \*\*Authentication:\*\* Public storefront request.\
> \
> \*\*Feature area:\*\* Product discovery\
> \
> \*\*Implementation source:\*\* \`src/api/store/controllers/SiteFilterController.ts\`\
> \
> \*\*Request example provenance:\*\* Response and invalid-category message are returned by the current handler.\
> \
> \*\*Response example provenance:\*\* Response and invalid-category message are returned by the current handler.\
> \
> \> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.

```json
{"openapi":"3.0.3","info":{"title":"SpurtCommerce Store API","version":"6.0.0"},"tags":[{"name":"Categories","description":"Browse storefront product categories and category filters."}],"servers":[{"url":"https://api.example.com","description":"Replace with your SpurtCommerce API host. Paths include the /api prefix."}],"paths":{"/api/site-filter/{categorySlug}":{"get":{"operationId":"getApiSiteFilterCategoryslug","summary":"Get dynamic filter sections for a category.","description":"Get dynamic filter sections for a category.\n\n**Authentication:** Public storefront request.\n\n**Feature area:** Product discovery\n\n**Implementation source:** `src/api/store/controllers/SiteFilterController.ts`\n\n**Request example provenance:** Response and invalid-category message are returned by the current handler.\n\n**Response example provenance:** Response and invalid-category message are returned by the current handler.\n\n> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.","tags":["Categories"],"parameters":[{"name":"categorySlug","in":"path","required":true,"schema":{"type":"string"},"description":"Value for categorySlug."}],"responses":{"200":{"description":"Successful response. Response and invalid-category message are returned by the current handler.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"sectionId":{"type":"integer"},"sectionName":{"type":"string"},"sectionType":{"type":"string"},"sectionSlug":{"type":"string"},"sequence":{"type":"integer"},"sectionItem":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"filterSectionId":{"type":"integer"},"itemName":{"type":"string"},"itemSlug":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"Error response example. Response and invalid-category message are returned by the current handler.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}},"additionalProperties":true}}}}}}}}}
```

## Get the hierarchical Store category list.

> Get the hierarchical Store category list.\
> \
> \*\*Authentication:\*\* Public storefront request.\
> \
> \*\*Feature area:\*\* Store content\
> \
> \*\*Implementation source:\*\* \`src/api/store/controllers/CommonListController.ts\`\
> \
> \*\*Request example provenance:\*\* Shape abbreviated from category list tree handler.\
> \
> \*\*Response example provenance:\*\* Shape abbreviated from category list tree handler.\
> \
> \> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.

```json
{"openapi":"3.0.3","info":{"title":"SpurtCommerce Store API","version":"6.0.0"},"tags":[{"name":"Categories","description":"Browse storefront product categories and category filters."}],"servers":[{"url":"https://api.example.com","description":"Replace with your SpurtCommerce API host. Paths include the /api prefix."}],"paths":{"/api/store-list/category":{"get":{"operationId":"getApiStoreListCategory","summary":"Get the hierarchical Store category list.","description":"Get the hierarchical Store category list.\n\n**Authentication:** Public storefront request.\n\n**Feature area:** Store content\n\n**Implementation source:** `src/api/store/controllers/CommonListController.ts`\n\n**Request example provenance:** Shape abbreviated from category list tree handler.\n\n**Response example provenance:** Shape abbreviated from category list tree handler.\n\n> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.","tags":["Categories"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Query parameter limit."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer"},"description":"Query parameter offset."},{"name":"count","in":"query","required":false,"schema":{"type":"boolean"},"description":"Query parameter count."}],"responses":{"200":{"description":"Successful response. Shape abbreviated from category list tree handler.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"categoryId":{"type":"integer"},"name":{"type":"string"},"categorySlug":{"type":"string"},"parentInt":{"type":"integer"},"children":{"type":"array","items":{}}},"additionalProperties":true}}},"additionalProperties":true}}}}}}}}}
```
