Fetch all brands

Fetch all distinct brands for a given app and locale. Deprecated. Use https://graphql.enad.io instead.

GET/api/v1/omni/:app_id/:store_group/:market/:locale/brands
API
Shopper
Updated
Apr 26, 2026

shopper-api:GET:/api/v1/omni/:app_id/:store_group/:market/:locale/brands

Fetch all distinct brands for a given app and locale. Deprecated. Use https://graphql.enad.io instead.

API ownership

  • API family: Shopper API
  • Best for: Public storefront catalog reads and shopper-facing product discovery.
  • Prefer Search API for: New product discovery, facets, autocomplete, and other search-heavy storefront flows.
  • Do not use from: Trusted admin integrations that create, update, or delete merchant-owned data.
  • Guide route: /apis/shopper/latest

The OpenAPI contract defines the method, path, parameters, request body, and responses for this operation.

Operation

  • Method: GET
  • Path: /api/v1/omni/:app_id/:store_group/:market/:locale/brands
  • Summary: Fetch all brands
  • Description: Fetch all distinct brands for a given app and locale. Deprecated. Use https://graphql.enad.io instead.
  • OpenAPI contract: shopper-api
  • Operation ID: Not documented in the OpenAPI contract.

Operation key uses API family, method, and path because this OpenAPI contract does not publish an operation ID.

Parameters7 parameters
NameInRequiredTypeDescription
app_idpathYesstringApp ID
store_grouppathYesstringStore group
marketpathYesstringMarket
localepathYesstringLocale
pagequeryNointegerPage number (default: 1)
per_pagequeryNointegerItems per page (default: 20)
idqueryNostring[]Filter by brand ID
Request bodyNo documented body

Not documented in the OpenAPI contract.

Responses3 statuses
StatusDescriptionContent
200Paginated brands responseapplication/json (object)
400Invalid app IDapplication/json (object)
500Internal server errorapplication/json (object)

200 - object

Paginated Brand With Series List

PropertyTypeRequiredDetails
dataobject[]No-
pageintegerNo-
totalintegerNo-
total_pagesintegerNo-
Brand With Series
PropertyTypeRequiredDetails
addressobjectNo-
cover_urlstringNo-
descriptionstringNo-
idstringYes-
logo_urlstringNo-
namestringYes-
seriesobject[]No-
slugstringYes-
Brand Address
PropertyTypeRequiredDetails
citystringNo-
co_addressstringNo-
countrystringNo-
emailstringNo-
house_numberstringNo-
postal_codestringNo-
state_provincestringNo-
street_addressstringNo-
Series
PropertyTypeRequiredDetails
cover_urlstringNo-
descriptionstringNo-
idstringYes-
logo_urlstringNo-
namestringYes-
slugstringYes-

Generated example (synthetic):

{
  "data": [
    {
      "address": {
        "city": "string",
        "co_address": "string",
        "country": "string",
        "email": "string",
        "house_number": "string",
        "postal_code": "string",
        "state_province": "string",
        "street_address": "string"
      },
      "cover_url": "string",
      "description": "string",
      "id": "string",
      "logo_url": "string",
      "name": "string",
      "series": [
        {
          "cover_url": null,
          "description": null,
          "id": null,
          "logo_url": null,
          "name": null,
          "slug": null
        }
      ],
      "slug": "string"
    }
  ],
  "page": 0,
  "total": 0,
  "total_pages": 0
}

400 - object

Error Message

PropertyTypeRequiredDetails
messagestringNo-

Generated example (synthetic):

{
  "message": "string"
}

500 - object

Error Message

PropertyTypeRequiredDetails
messagestringNo-

Generated example (synthetic):

{
  "message": "string"
}

Contract identity

Use these fields to confirm you are implementing the intended endpoint contract.

  • API family: Shopper API
  • Method: GET
  • Path: /api/v1/omni/:app_id/:store_group/:market/:locale/brands
  • Operation ID: Not documented in the OpenAPI contract.
  • OpenAPI tag: Brands
  • OpenAPI summary: Fetch all brands

Fetch all brands

# Fetch all brands Fetch all distinct brands for a given app and locale. Deprecated. Use https://graphql.enad.io instead.
GET /api/v1/omni/:app_id/:store_group/:market/:locale/brands
Purpose

Fetch all distinct brands for a given app and locale.

Required inputs

app_id path store_group path market path locale path

Primary response

200 ยท Paginated brands response

Operation key

shopper-api:GET:/api/v1/omni/:app_id/:store_group/:market/:locale/brands

## API ownership - API family: Shopper API - Best for: Public storefront catalog reads and shopper-facing product discovery. - Prefer Search API for: New product discovery, facets, autocomplete, and other search-heavy storefront flows. - Do not use from: Trusted admin integrations that create, update, or delete merchant-owned data. - Guide route: [/apis/shopper/latest](/apis/shopper/latest) The OpenAPI contract defines the method, path, parameters, request body, and responses for this operation. ## Operation - Method: `GET` - Path: `/api/v1/omni/:app_id/:store_group/:market/:locale/brands` - Summary: Fetch all brands - Description: Fetch all distinct brands for a given app and locale. Deprecated. Use https://graphql.enad.io instead. - OpenAPI contract: shopper-api - Operation ID: Not documented in the OpenAPI contract. - Stable operation key: `shopper-api:GET:/api/v1/omni/:app_id/:store_group/:market/:locale/brands` Operation key uses API family, method, and path because this OpenAPI contract does not publish an operation ID. ## Parameters | Name | In | Required | Type | Description | | --- | --- | --- | --- | --- | | app_id | path | Yes | string | App ID | | store_group | path | Yes | string | Store group | | market | path | Yes | string | Market | | locale | path | Yes | string | Locale | | page | query | No | integer | Page number (default: 1) | | per_page | query | No | integer | Items per page (default: 20) | | id | query | No | string[] | Filter by brand ID | ## Request body Not documented in the OpenAPI contract. ## Responses | Status | Description | Content | | --- | --- | --- | | 200 | Paginated brands response | application/json (object) | | 400 | Invalid app ID | application/json (object) | | 500 | Internal server error | application/json (object) | ### 200 - object #### Paginated Brand With Series List | Property | Type | Required | Details | | --- | --- | --- | --- | | `data` | object[] | No | - | | `page` | integer | No | - | | `total` | integer | No | - | | `total_pages` | integer | No | - | ##### Brand With Series | Property | Type | Required | Details | | --- | --- | --- | --- | | `address` | object | No | - | | `cover_url` | string | No | - | | `description` | string | No | - | | `id` | string | Yes | - | | `logo_url` | string | No | - | | `name` | string | Yes | - | | `series` | object[] | No | - | | `slug` | string | Yes | - | ##### Brand Address | Property | Type | Required | Details | | --- | --- | --- | --- | | `city` | string | No | - | | `co_address` | string | No | - | | `country` | string | No | - | | `email` | string | No | - | | `house_number` | string | No | - | | `postal_code` | string | No | - | | `state_province` | string | No | - | | `street_address` | string | No | - | ##### Series | Property | Type | Required | Details | | --- | --- | --- | --- | | `cover_url` | string | No | - | | `description` | string | No | - | | `id` | string | Yes | - | | `logo_url` | string | No | - | | `name` | string | Yes | - | | `slug` | string | Yes | - | **Generated example (synthetic):** ```json { "data": [ { "address": { "city": "string", "co_address": "string", "country": "string", "email": "string", "house_number": "string", "postal_code": "string", "state_province": "string", "street_address": "string" }, "cover_url": "string", "description": "string", "id": "string", "logo_url": "string", "name": "string", "series": [ { "cover_url": null, "description": null, "id": null, "logo_url": null, "name": null, "slug": null } ], "slug": "string" } ], "page": 0, "total": 0, "total_pages": 0 } ``` ### 400 - object #### Error Message | Property | Type | Required | Details | | --- | --- | --- | --- | | `message` | string | No | - | **Generated example (synthetic):** ```json { "message": "string" } ``` ### 500 - object #### Error Message | Property | Type | Required | Details | | --- | --- | --- | --- | | `message` | string | No | - | **Generated example (synthetic):** ```json { "message": "string" } ``` ## Contract identity Use these fields to confirm you are implementing the intended endpoint contract. - API family: Shopper API - Method: `GET` - Path: `/api/v1/omni/:app_id/:store_group/:market/:locale/brands` - Operation ID: Not documented in the OpenAPI contract. - Stable operation key: `shopper-api:GET:/api/v1/omni/:app_id/:store_group/:market/:locale/brands` - OpenAPI tag: Brands - OpenAPI summary: Fetch all brands