Shopper API contract

Complete HTTP contract for existing public REST storefront read routes.

Updated
Apr 26, 2026

Use this contract when you need exact endpoint paths, methods, parameters, request bodies, responses, schemas, and status codes.

Use the operation pages for implementation guidance and this contract file for exact HTTP details.

Operation identity

When an operation page says the OpenAPI contract does not document an Operation ID, cite the stable operation key instead. Stable operation keys use the API, HTTP method, and path, so they identify an endpoint without pretending the contract publishes an operationId.

Registered routes

Use this API-first route list when you already know the owning API and need to find the exact operation page. Routes are grouped by resource so Management, Shopper, Auth, DAM, and Integrations operations stay distinct.

Brands

  • GET /api/v1/omni/:app_id/:store_group/:market/:locale/brands/:brand_id - Fetch a brand
  • GET /api/v1/omni/:app_id/:store_group/:market/:locale/brands/slug/:slug - Fetch a brand by slug
  • GET /api/v1/omni/:app_id/:store_group/:market/:locale/brands - Fetch all brands

Categories

Collections

Facets

  • GET /api/v1/omni/:app_id/:store_group/:market/:locale/facets/\{facet_keys\} - Fetch facets

Products

Redirects

Series

  • GET /api/v1/omni/:app_id/:store_group/:market/:locale/series/:serie_id - Fetch a serie
  • GET /api/v1/omni/:app_id/:store_group/:market/:locale/series - Fetch all series
  • GET /api/v1/omni/:app_id/:store_group/:market/:locale/series/slug/:slug - Fetch serie by slug

Tags

  • GET /api/v1/omni/:app_id/:store_group/:market/:locale/tags - Fetch all tags
  • GET /api/v1/omni/:app_id/:store_group/:market/:locale/tags/\{tag_id\} - Fetch tag by ID
  • GET /api/v1/omni/:app_id/:store_group/:market/:locale/tags/key/\{tag_key\} - Fetch tag by key

Variants

  • GET /api/v1/omni/:app_id/:store_group/:market/:locale/variants - Fetch all variants
  • GET /api/v1/omni/:app_id/:store_group/:market/:locale/variants/search - Search variants

Shopper API contract

# Shopper API contract Use this contract when you need exact endpoint paths, methods, parameters, request bodies, responses, schemas, and status codes. - Public contract file: /swagger/shopper-api.json Use the operation pages for implementation guidance and this contract file for exact HTTP details. ## Operation identity When an operation page says the OpenAPI contract does not document an Operation ID, cite the stable operation key instead. Stable operation keys use the API, HTTP method, and path, so they identify an endpoint without pretending the contract publishes an operationId. ## Registered routes Use this API-first route list when you already know the owning API and need to find the exact operation page. Routes are grouped by resource so Management, Shopper, Auth, DAM, and Integrations operations stay distinct. ### Brands - GET /api/v1/omni/:app_id/:store_group/:market/:locale/brands/:brand_id - [Fetch a brand](/reference/brands/fetch-a-brand) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/brands/slug/:slug - [Fetch a brand by slug](/reference/brands/fetch-a-brand-by-slug) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/brands - [Fetch all brands](/reference/brands/fetch-all-brands) ### Categories - GET /api/v1/omni/:app_id/:store_group/:market/:locale/category-tree/slugs - [Fetch all categories slugs](/reference/categories/fetch-all-categories-slugs) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/category-tree/id/:category_id - [Get category by ID](/reference/categories/get-category-by-id) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/category-tree/uri/:uri - [Get category by slug](/reference/categories/get-category-by-slug) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/category-tree/:parent_id - [Get category tree from a specific parent](/reference/categories/get-category-tree-from-a-specific-parent) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/category-tree - [Get full category tree for an app](/reference/categories/get-full-category-tree-for-an-app) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/categories - [Retrieve categories](/reference/categories/retrieve-categories) ### Collections - GET /api/v1/omni/:app_id/:store_group/:market/:locale/collections/uri/:uri - [Fetch a collection by URI](/reference/collections/fetch-a-collection-by-uri) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/collections/slugs - [Fetch all collection slugs](/reference/collections/fetch-all-collection-slugs) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/collections - [Fetch all collections](/reference/collections/fetch-all-collections) ### Facets - GET /api/v1/omni/:app_id/:store_group/:market/:locale/facets/{facet_keys} - [Fetch facets](/reference/facets/fetch-facets) ### Products - GET /api/v1/omni/:app_id/:store_group/:market/:locale/products - [Fetch all products](/reference/products/fetch-all-products) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/products/skus/:skus - [Fetch all products by skus](/reference/products/fetch-all-products-by-skus) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/products/slugs - [Fetch all products slugs](/reference/products/fetch-all-products-slugs) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/products/sku/:sku - [Fetch product by sku](/reference/products/fetch-product-by-sku) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/products/slug/:slug - [Fetch product by slug](/reference/products/fetch-product-by-slug) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/products/search - [Search products](/reference/products/search-products) ### Redirects - GET /api/v1/omni/:app_id/:store_group/:market/:locale/redirects - [Fetch redirects](/reference/redirects/fetch-redirects) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/redirects/:item_id - [Fetch redirects by item ID](/reference/redirects/fetch-redirects-by-item-id) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/redirects/old-slug/:old_slug - [Fetch redirects by old slug](/reference/redirects/fetch-redirects-by-old-slug) ### Series - GET /api/v1/omni/:app_id/:store_group/:market/:locale/series/:serie_id - [Fetch a serie](/reference/series/fetch-a-serie) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/series - [Fetch all series](/reference/series/fetch-all-series) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/series/slug/:slug - [Fetch serie by slug](/reference/series/fetch-serie-by-slug) ### Tags - GET /api/v1/omni/:app_id/:store_group/:market/:locale/tags - [Fetch all tags](/reference/tags/fetch-all-tags) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/tags/{tag_id} - [Fetch tag by ID](/reference/tags/fetch-tag-by-id) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/tags/key/{tag_key} - [Fetch tag by key](/reference/tags/fetch-tag-by-key) ### Variants - GET /api/v1/omni/:app_id/:store_group/:market/:locale/variants - [Fetch all variants](/reference/variants/fetch-all-variants) - GET /api/v1/omni/:app_id/:store_group/:market/:locale/variants/search - [Search variants](/reference/variants/search-variants)