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.
- 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- Fetch all 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
Categories
- GET
/api/v1/omni/:app_id/:store_group/:market/:locale/categories- Retrieve categories - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/category-tree- Get full category tree for an app - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/category-tree/:parent_id- Get category tree from a specific parent - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/category-tree/id/:category_id- Get category by ID - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/category-tree/slugs- Fetch all categories slugs - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/category-tree/uri/:uri- Get category by slug
Collections
- GET
/api/v1/omni/:app_id/:store_group/:market/:locale/collections- Fetch all collections - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/collections/slugs- Fetch all collection slugs - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/collections/uri/:uri- Fetch a collection by URI
Facets
- GET
/api/v1/omni/:app_id/:store_group/:market/:locale/facets/\{facet_keys\}- Fetch facets
Products
- GET
/api/v1/omni/:app_id/:store_group/:market/:locale/products- Fetch all products - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/products/search- Search products - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/products/sku/:sku- Fetch product by sku - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/products/skus/:skus- Fetch all products by skus - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/products/slug/:slug- Fetch product by slug - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/products/slugs- Fetch all products slugs
Redirects
- GET
/api/v1/omni/:app_id/:store_group/:market/:locale/redirects- Fetch redirects - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/redirects/:item_id- 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
Series
- 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/:serie_id- Fetch a serie - 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