Developer ResourcescatalogBrand
Brand Module API & Integration Guide
HTTP contract reference for catalog brand admin and customer/mobile APIs.
Overview
Brand APIs provide admin management and public brand discovery for the IT Mart storefront.
Routes
| Method | Path | Permission |
|---|---|---|
GET | /api/admin/brands | Brands_READ |
GET | /api/admin/brands/:id | Brands_READ |
POST | /api/admin/brands | Brands_CREATE |
PATCH | /api/admin/brands/:id | Brands_UPDATE |
DELETE | /api/admin/brands/:id | Brands_DELETE |
GET | /api/brands and /api/mobile/brands | Public |
GET | /api/brands/:slug and /api/mobile/brands/:slug | Public |
Core Contract
- Brand fields:
id,name,slug,imageUrl,isVisible,order,productKind,createdAt,updatedAt - Admin list supports
search,pagination,page,size,sort,order,productKind - Public list supports
search,pagination,page,size,sort,order,productKind - Public detail supports historical slug fallback through
brand_slug_history
productKind field
| Value | Meaning |
|---|---|
null | Unconstrained (applies to all product kinds) |
"physical" | Only physical products |
"digital" | Only digital products |
"both" | Explicitly applies to both physical and digital |
Admin list filter behavior
Exact match on productKind. Only brands with the specified value are returned.
Customer list filter behavior
Returns brands matching the specified kind or brands with productKind = "both".
Example: ?productKind=physical returns brands set to "physical" or "both".
Public Behavior
- only visible brands are returned in public/mobile endpoints
- public default sort is
order ASC, thenname ASC
Errors
| HTTP | errorCode | Condition |
|---|---|---|
| 400 | BRAND_INVALID_SORT | Unsupported customer sort field |
| 404 | BRAND_NOT_FOUND | Brand id/slug not found |
| 409 | BRAND_NAME_EXISTS | Duplicate brand name on create/update |