Starting with API version 2026-07, you can create a Market not only by country/region but also per sales channel. You can control product availability, pricing, and currency for each channel directly through the existing Catalog and Market APIs.
Markets could only be split by country/region, retail location, company location, or none. Per-channel differentiation couldn't be expressed with Markets.
MarketType.CHANNEL Create a Market tied to one or more channels. Control assortment, pricing, and currency through the existing Catalog and Markets APIs.
| Category | API / field | Purpose |
|---|---|---|
| Identify | MarketType.CHANNEL / MarketConditionType.CHANNEL |
Identify the channel market |
| Create | MarketCreateInput.conditions.channelsConditionMarketConditionsChannelsInput.channelIds |
Pass a channel ID to create a channel market |
| Update | MarketUpdateInput.conditions |
Add or remove channel conditions |
| Market-side query | Market.channels / Market.channelsCount |
Get the channels linked to a Market |
| Channel-side query | Channel.markets / Channel.marketsCount |
Get the Markets linked to a channel |
| Region check | Channel.activeRegions |
Read the regions where a channel has an active product feed |
| Filtering | markets(type: CHANNEL) |
Filter markets by type |
The channel was added as "another Market type." Code that assumed Markets are region-only needs to be revisited.
Apps that handle Markets or catalogs should update all logic built on the assumption that "markets are only regional / retail / company / none." Add the CHANNEL type to your model.
channelsCondition.channelIds Pass the channel ID to it, and from therethe existing Markets / catalog API assigns the catalog and pricing. There's no new API to learn.
Identify the target sales channel IDs andchannelsCondition.channelIds pass them to marketCreate to run.
Use the existing Markets / catalog API to link the catalog (assortment) with price and currency settings.
Verify that the product feed output satisfies both the catalog settings and the channel's publication settings.
Enabled from API version 2026-07. It won't appear for clients pinned to an older version. To use it, bump your API version.
Market.channels and Channel.markets can be referenced in both directions.channelsCount / marketsCount Fetching just the count gives you a rough estimate before paginating.
Channel.activeRegions returns the regions where a channel "has an active product feed." It's read-only information useful for visualizing channel × region coverage.
Output = channel market catalog configuration AND channel publication controls. When the result isn't what you intended,which gate it was blocked atis what you need to isolate.
Since this is an additive change, it won't break behavior, but any place that enumerates or branches on Market types (type guards, UI label handling, report aggregation,markets(type: ...) filters) tends to miss CHANNEL.Adding tests that handle type with exhaustive enum coverage firstand then implementing the feature is the safer approach.
MarketType.CHANNEL then assign catalogs and price settings. Manage everything in bulk from an app or script.Channel.markets / Channel.marketsCount / Channel.activeRegions to build a channel × market × region matrix....Count)to gauge the scale first, then fetch details via pagination for efficient API calls.MarketType Add an exhaustive enum test → fill in the CHANNEL branch, label, and validation → markets(type: CHANNEL) to verify filtering.MarketType.CHANNEL).