Skip to main content
GET
List a brand's products (locator catalog)

Path Parameters

brand_id
string<shortuuid>
required

Brand short id (22-char shortuuid).

Required string length: 22
Pattern: ^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$

Query Parameters

gtin
string
default:""

Optional storefront barcode to resolve to one of the brand's products (resolved_product_id).

Maximum string length: 64
Pattern: ^[^\x00]{0,64}$

Response

OK

Top-level payload for the brand catalog endpoint.

brand
BrandSummaryOut · object
required

Identity of the brand whose catalog is being returned.

Example:
products
ProductSummaryOut · object[]
required

Products owned by the brand, ordered by display name. Empty list when the brand has no products.

has_distribution
boolean
required

Whether the brand has at least one product carried by an active in-store offer anywhere, at any distance. false means there is nothing a locator could ever show, so an embedding page should render nothing at all rather than a locator that can only report 'no stores found' (C-1393). This is a different question from an empty stores list on /locator, which only says 'none within this radius' and is a legitimate result the visitor can act on by widening the search.

resolved_product_id
string<shortuuid> | null

URL-safe 22-character shortuuid encoding of the row's UUID primary key. Stable across the row's lifetime; suitable for sharing in URLs, log lines, and external SDK clients. Accepted on input as either the shortuuid form or the canonical UUID form (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).

Required string length: 22
Pattern: ^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$