Skip to main content

Brand Management

5 API calls in this section.

List Brands

Storefront & Commerce / Brand Management
GET/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.

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
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

pageOptional
query string

1

Page number (default: 1)

limitOptional
query string

20

Items per page (default: 20)

is_activeOptional
query string

true

Filter by active state (optional)

searchOptional
query string

Search by name/description (optional)

sort_byOptional
query string

products_count

Sort by one of: name, slug, is_active, products_count, created_at

sort_orderOptional
query string

desc

Sort order: asc or desc

column_filtersOptional
query string

{"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

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

Success Response200
Response body
json
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 & Commerce / Brand Management
POST/storefront/brands

Create a new brand in the tenant's market. Required: name (multilingual), slug.

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
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}'
Request body
json
1{2  "name": {3    "en": ""4  },5  "slug": "",6  "description": {},7  "logo_url": "",8  "is_active": true9}

Request body fields

nameExample
object

Example field from the request body.

name.enExample
string

Example field from the request body.

slugExample
string

Example field from the request body.

descriptionExample
object

Example field from the request body.

logo_urlExample
string

Example field from the request body.

is_activeExample
boolean

Example field from the request body.

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Content-TypeOptional
header string

application/json

Responses

No response example is available for this endpoint yet.

Get Brand

Storefront & Commerce / Brand Management
GET/storefront/brands/:brand_id

Fetch a brand by ID.

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request GET "$ONDI_BASE_URL/storefront/brands/:brand_id" \2  --header "Authorization: Bearer {{access_token}}"

Path parameters

brand_idRequired
path string

brand-uuid

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

No response example is available for this endpoint yet.

Update Brand

Storefront & Commerce / Brand Management
PUT/storefront/brands/:brand_id

Update brand fields (all optional).

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
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}'
Request body
json
1{2  "name": {3    "en": ""4  },5  "slug": "",6  "description": {},7  "logo_url": "",8  "is_active": true9}

Path parameters

brand_idRequired
path string

brand-uuid

Request body fields

nameExample
object

Example field from the request body.

name.enExample
string

Example field from the request body.

slugExample
string

Example field from the request body.

descriptionExample
object

Example field from the request body.

logo_urlExample
string

Example field from the request body.

is_activeExample
boolean

Example field from the request body.

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Content-TypeOptional
header string

application/json

Responses

No response example is available for this endpoint yet.

Delete Brand

Storefront & Commerce / Brand Management
DELETE/storefront/brands/:brand_id

Delete a brand by ID.

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request DELETE "$ONDI_BASE_URL/storefront/brands/:brand_id" \2  --header "Authorization: Bearer {{access_token}}"

Path parameters

brand_idRequired
path string

brand-uuid

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

No response example is available for this endpoint yet.