Brand Management
5 API calls in this section.
List Brands
/storefront/brands?page=1&limit=20&is_active=true&search=&sort_by=products_count&sort_order=desc&column_filters={"name":"adi","is_active":"true","created_at":"2025-01-01..2025-12-31"}List brands for the tenant's market with pagination, AdvancedDataGrid sorting/filtering, per-brand products_count, and market-wide stats.
1curl --request GET "$ONDI_BASE_URL/storefront/brands?page=1&limit=20&is_active=true&search=&sort_by=products_count&sort_order=desc&column_filters={"name":"adi","is_active":"true","created_at":"2025-01-01..2025-12-31"}" \2 --header "Authorization: Bearer {{access_token}}"Query parameters
pageOptional1
Page number (default: 1)
limitOptional20
Items per page (default: 20)
is_activeOptionaltrue
Filter by active state (optional)
searchOptionalSearch by name/description (optional)
sort_byOptionalproducts_count
Sort by one of: name, slug, is_active, products_count, created_at
sort_orderOptionaldesc
Sort order: asc or desc
column_filtersOptional{"name":"adi","is_active":"true","created_at":"2025-01-01..2025-12-31"}
JSON-encoded column filters for AdvancedDataGrid. Supported keys: name, is_active, created_at
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
1{2 "success": true,3 "brands": [4 {5 "id": "24b931dc-0000-0000-0000-000000000001",6 "market_id": "market-uuid",7 "name": {8 "en": "adidas"9 },10 "slug": "adidas",11 "description": {},12 "logo_url": "https://example.com/logo.png",13 "is_active": true,14 "products_count": 452,15 "created_at": "2026-04-01T10:00:00Z",16 "updated_at": "2026-04-05T10:00:00Z"17 }18 ],19 "pagination": {20 "page": 1,21 "limit": 20,22 "total": 1284,23 "totalPages": 6524 },25 "stats": {26 "totalBrands": 1284,27 "activeBrands": 1202,28 "topBrand": {29 "name": "Lumina Global",30 "productsCount": 45231 },32 "recentlyAdded": [33 {34 "name": "BrandA",35 "logo_url": "https://example.com/a.png"36 },37 {38 "name": "BrandB",39 "logo_url": "https://example.com/b.png"40 },41 {42 "name": "BrandC",43 "logo_url": "https://example.com/c.png"44 }45 ]46 }47}Create Brand
/storefront/brandsCreate a new brand in the tenant's market. Required: name (multilingual), slug.
1curl --request POST "$ONDI_BASE_URL/storefront/brands" \2 --header "Authorization: Bearer {{access_token}}" \3 --header "Content-Type: application/json" \4 --header "Content-Type: application/json" \5 --data '{6 "name": {7 "en": ""8 },9 "slug": "",10 "description": {},11 "logo_url": "",12 "is_active": true13}'1{2 "name": {3 "en": ""4 },5 "slug": "",6 "description": {},7 "logo_url": "",8 "is_active": true9}Request body fields
nameExampleExample field from the request body.
name.enExampleExample field from the request body.
slugExampleExample field from the request body.
descriptionExampleExample field from the request body.
logo_urlExampleExample field from the request body.
is_activeExampleExample field from the request body.
Headers
AuthorizationOptionalBearer {{access_token}}
Content-TypeOptionalapplication/json
Responses
No response example is available for this endpoint yet.
Get Brand
/storefront/brands/:brand_idFetch a brand by ID.
1curl --request GET "$ONDI_BASE_URL/storefront/brands/:brand_id" \2 --header "Authorization: Bearer {{access_token}}"Path parameters
brand_idRequiredbrand-uuid
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
Update Brand
/storefront/brands/:brand_idUpdate brand fields (all optional).
1curl --request PUT "$ONDI_BASE_URL/storefront/brands/:brand_id" \2 --header "Authorization: Bearer {{access_token}}" \3 --header "Content-Type: application/json" \4 --header "Content-Type: application/json" \5 --data '{6 "name": {7 "en": ""8 },9 "slug": "",10 "description": {},11 "logo_url": "",12 "is_active": true13}'1{2 "name": {3 "en": ""4 },5 "slug": "",6 "description": {},7 "logo_url": "",8 "is_active": true9}Path parameters
brand_idRequiredbrand-uuid
Request body fields
nameExampleExample field from the request body.
name.enExampleExample field from the request body.
slugExampleExample field from the request body.
descriptionExampleExample field from the request body.
logo_urlExampleExample field from the request body.
is_activeExampleExample field from the request body.
Headers
AuthorizationOptionalBearer {{access_token}}
Content-TypeOptionalapplication/json
Responses
No response example is available for this endpoint yet.
Delete Brand
/storefront/brands/:brand_idDelete a brand by ID.
1curl --request DELETE "$ONDI_BASE_URL/storefront/brands/:brand_id" \2 --header "Authorization: Bearer {{access_token}}"Path parameters
brand_idRequiredbrand-uuid
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.