---
title: Brand API handler
slug: configured-commerce/docs/brand-api-handler
docTags: 
createdAt: 2026-08-13T10:46:19.000Z
---

## GET Brand Alphabet

**HTTP Verb** – GET

**URL** – /api/v1/brandalphabet

**Description** – Get the brand alphabet with counts for each letter

**Base** – `HandlerBase\<GetBrandAlphabetParameter, GetBrandAlphabetResult\>`

**Handlers** –

| Order | Handler                      | Description                                                                                                                      |
| ----- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| 500   | `GetBrandAlphabet`           | Queries the product search provider for brand first-character facets sorted ascending. Sets the raw facet results on the result. |
| 600   | `ProcessBrandAlphabetFacets` | Transforms the raw facets into a list of `GetBrandAlphabetLetterResult` objects, each containing the Letter and Count.           |

## GET Brand By Path

**HTTP Verb** – GET

**URL** – /api/v1/brands/getByPath

**Description** – Get a brand by its URL path

**Base** – `HandlerBase\<GetBrandByPathParameter, GetBrandByPathResult\>`

**Handlers** –

| Order | Handler          | Description                                                                                                                                                                                                                                                                  |
| ----- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 500   | `GetBrandByPath` | Decodes the URL path and extracts the brand URL segment using the catalog path builder. Looks up the brand by URL segment in the `BrandRepository`. If found, calls the `BrandService.GetBrand` to get the full brand result. Returns error if the brand service call fails. |

## GET Brand

**HTTP Verb** – GET

**URL** – /api/v1/brands/

**Description** – Get a single brand by Id

**Base** – `HandlerBase\<GetBrandParameter, GetBrandResult\>`

**Handlers** –

| Order | Handler    | Description                                                                                                                                                                                                                                       |
| ----- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 500   | `GetBrand` | Calls `GetBrandCollection` with the specified `BrandId` and optional parameters (`GetTopSellers`, `GetHtmlContent`, `GetCustomProperties`). Returns error if the collection call fails or if exactly one brand is not found (returns `NotFound`). |

## GET Brand Category Collection

**HTTP Verb** – GET

**URL** – /api/v1/brands//categories

**Description** – Get a collection of categories for a brand

**Base** – `HandlerBase\<GetBrandCategoryCollectionParameter, GetBrandCategoryCollectionResult\>`

**Handlers** –

| Order | Handler                           | Description                                                                                                                                                                                                                                                               |
| ----- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 500   | `GetBrand`                        | Retrieves the Brand entity by Id. Returns `NotFound` error with `Brand_NotFound` message if not found.                                                                                                                                                                    |
| 600   | `FindBrandCategoriesWithSearch`   | Validates the `Sort` parameter (only *name*, *name asc*, *name desc* allowed). Uses the product search provider to get all allowed brand category Ids. If `CategoryId` is specified, filters to that single category. Applies sorting and pagination to the category Ids. |
| 700   | `GetBrandCategoryQuery`           | Creates a query for Category entities filtered by the resolved category Ids from the previous step.                                                                                                                                                                       |
| 800   | `GetBrandCategoryImagesQuery`     | Creates a query for `BrandCategoryImage` entities filtered by the brand Id and resolved category Ids.                                                                                                                                                                     |
| 900   | `ExecuteBrandCategoryQuery`       | Executes the category query and orders the results to match the order from the search provider.                                                                                                                                                                           |
| 1000  | `ExecuteBrandCategoryImagesQuery` | Executes the brand category images query to materialize the image results.                                                                                                                                                                                                |
| 1100  | `CreateGetBrandCategoryResults`   | For each category, creates a `GetBrandCategoryResult` using the brand pipeline, passing the brand, category, optional brand category image, and parameters for HTML content, custom properties, and language.                                                             |
| 1200  | `GetSubCategories`                | Builds sub-category trees for each brand category result using the parent-to-subcategory dictionary. Recursively builds sub-categories up to the specified `MaximumDepth` parameter.                                                                                      |
| 1300  | `GetTopSellers`                   | For brand categories that have sub-categories but no featured image, retrieves the top-selling product to use its image as the featured image. Falls back to the configured `NotFoundMediumImagePath` if no top seller is found.                                          |

## GET Brand Category

**HTTP Verb** – GET

**URL** – /api/v1/brands//categories/

**Description** – Get a single brand category

**Base** – `HandlerBase\<GetBrandCategoryParameter, GetBrandCategoryResult\>`

**Handlers** –

| Order | Handler                 | Description                                                                                                                                                                                        |
| ----- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 500   | `GetBrandCategory`      | Calls `GetBrandCategoryCollection` with the specified `BrandId` and `CategoryId`. Returns error if the collection call fails or if exactly one category is not found (returns `NotFound`).         |
| 600   | `PopulateSubCategories` | If `GetSubCategories` parameter is `true`, retrieves sub-categories for the brand category that have products. For each sub-category, creates a `GetBrandCategoryResult` using the brand pipeline. |

## GET Brand Product Line Collection

**HTTP Verb** – GET

**URL** – /api/v1/brands//productlines

**Description** – Get a collection of product lines for a brand

**Base** – `HandlerBase\<GetBrandProductLineCollectionParameter, GetBrandProductLineCollectionResult\>`

**Handlers** –

| Order | Handler                            | Description                                                                                                                                                                                                                                                                                     |
| ----- | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 100   | `GetBrand`                         | Retrieves the Brand entity by Id. Returns `NotFound` error with `Brand_NotFound` message if not found.                                                                                                                                                                                          |
| 500   | `FindBrandProductLinesWithSearch`  | Validates the `Sort` parameter (only *name*, *name asc*, *name desc* allowed). Uses the product search provider to get product line facets for the brand. If `ProductLineId` is specified and not found, returns `NotFound`. Applies pagination unless a specific `ProductLineId` is requested. |
| 600   | `GetBrandProductLineQuery`         | Creates a query for `ProductLine` entities filtered by the resolved product line Ids.                                                                                                                                                                                                           |
| 800   | `ExecuteQuery`                     | Executes the product line query and orders results to match the order from the search provider.                                                                                                                                                                                                 |
| 1100  | `CreateGetBrandProductLineResults` | For each product line, creates a `GetBrandProductLineResult` using the brand pipeline, passing the brand, product line, and parameters for custom properties and language.                                                                                                                      |

## GET Brand Product Line

**HTTP Verb** – GET

**URL** – /api/v1/brands//productlines/

**Description** – Get a single brand product line

**Base** – `HandlerBase\<GetBrandProductLineParameter, GetBrandProductLineResult\>`

**Handlers** –

| Order | Handler               | Description                                                                                                                                                                                          |
| ----- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 500   | `GetBrandProductLine` | Calls `GetBrandProductLineCollection` with the specified `BrandId` and `ProductLineId`. Returns error if the collection call fails or if exactly one product line is not found (returns `NotFound`). |
