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/: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
- 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/id/:category_id- Get category by ID - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/category-tree/uri/:uri- 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 - 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/categories- Retrieve categories
Collections
- GET
/api/v1/omni/:app_id/:store_group/:market/:locale/collections/uri/:uri- Fetch a collection by URI - 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- Fetch all collections
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/skus/:skus- Fetch all products by skus - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/products/slugs- Fetch all products slugs - 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/slug/:slug- Fetch product by slug - GET
/api/v1/omni/:app_id/:store_group/:market/:locale/products/search- Search products
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/: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