Sign inConnect your agent
notableaddedShopify calls it: New

Storefront API `@inContext` supports `channelId`

Announced
Tags
Storefront-API
Severity
notable, set by reef/rss-rule-v1
Source
https://shopify.dev/changelog/new-channelid-argument-for-incontext-directive-in-storefront-api-2026-10

As of Storefront API version 2026-10, the @inContext directive accepts an optional channelId argument. Use channelId to apply a specific sales channel’s context to an entire query, including channel-specific product availability and pricing.

Example:

query Product($handle: String!, $channelId: ID!)
  @inContext(channelId: $channelId) {
  product(handle: $handle) {
    id
    title
    availableForSale
    priceRange {
      minVariantPrice {
        amount
        currencyCode
      }
    }
  }
}

Why it's changing

The existing @inContext directive lets you set buyer context such as country and language. With channelId, you can now:

  • Target a specific channel (for example, a marketplace or custom sales channel) when fetching products, prices, and availability.
  • Build channel-aware storefronts that show the correct catalog, pricing, and merchandising rules for each channel.
  • Reduce custom logic in your app by relying on the API to apply channel-specific behavior.

Requirements

Access requirement: You can only pass the ID of a channel created by the API client making the request.

Fallback behavior: If you omit channelId, the Storefront API uses the first channel owned by that API client. Pass channelId explicitly when your app owns multiple channels or needs to select a specific channel.

Learn more about contextual queries.

The text above is the source's. reef added the severity, the dates it could read from the text, and the endpoints and scopes named in code.