---
title: Storefront API @inContext supports channelId - Shopify developer changelog
description: >-
  Shopify’s developer changelog documents all changes to Shopify’s platform.
  Find the latest news and learn about new platform opportunities.
source_url:
  html: >-
    https://shopify.dev/changelog/new-channelid-argument-for-incontext-directive-in-storefront-api-2026-10
  md: >-
    https://shopify.dev/changelog/new-channelid-argument-for-incontext-directive-in-storefront-api-2026-10.md
metadata:
  effectiveApiVersion: 2026-10
  affectedApi:
    - displayName: Storefront API
      handle: storefront-graphql
  primaryTag:
    displayName: API
    handle: api
  secondaryTag:
    displayName: New
    handle: new
  indicatesActionRequired: false
  createdAt: '2026-07-14T17:21:15-04:00'
  postedAt: '2026-07-15T12:00:00-04:00'
  updatedAt: '2026-07-15T22:06:49-04:00'
  effectiveAt: '2026-07-15T12:00:00-04:00'
---

# Storefront API `@inContext` supports `channelId`

DateJuly 15, 2026

Version[2026-10](https://shopify.dev/changelog?api_version=2026-10)

FlagsNew

SurfacesAPI

Affected APIs[Storefront API](https://shopify.dev/changelog?api_type=storefront-graphql)

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:

```graphql
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](https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/in-context).
