For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
LogoLogo
Dev Portal
DocsAPI ReferenceLearnCommunityChangelog
DocsAPI ReferenceLearnCommunityChangelog
Dev Portal
On this page
  • September 25, 2026
  • B3 containers reference for B2B Edition for Stencil
  • Cascading price lists support up to five fallback layers
  • September 24, 2026
  • Backorder messages now refresh when editing a quote's quantity in Merchant Dashboard
  • Cornerstone 6.22.0
  • Product reviews now trigger the product updated webhook
  • September 23, 2026
  • New Catalog Enrichment section
  • Single active storefront session per customer
  • Clarified how inventory_tracking affects storefront option availability
  • List and revoke storefront API tokens by ID
  • September 22, 2026
  • Complete Checkout Settings reference

Changelog


September 25, 2026
September 25, 2026

September 25, 2026
September 25, 2026

September 24, 2026
September 24, 2026

September 24, 2026
September 24, 2026

September 24, 2026
September 24, 2026

September 23, 2026
September 23, 2026

September 23, 2026
September 23, 2026

September 23, 2026
September 23, 2026

September 23, 2026
September 23, 2026

September 22, 2026
September 22, 2026
Older posts
Next
Built with

B3 containers reference for B2B Edition for Stencil

Thanks to user feedback, B2B Edition for Stencil Themes (Legacy Experience) now lists every B3 container you can reposition with window.b3themeConfig.useContainers. Before this change, the Customizing page containers section pointed to a containers reference that linked back to the same section.

  • Container reference tables — lists all 48 container names and their default mount selectors, grouped into page containers, desktop and mobile navigation buttons, and product, cart, and storefront elements
  • Naming pattern — explains what the .container, .button.container, and .button.container--s suffixes mean, and notes that your overrides merge over the defaults

For details, see Customizing page containers.

Cascading price lists support up to five fallback layers

Cascading price lists, currently in open beta, now support up to five fallback layers per price list, up from one.

  • Ordered resolution — the layers array on a price list is evaluated in order. When a price record is not found in the primary price list, each layer is checked in turn and the first match is used before resolving to the catalog price.
  • Inactive layers — inactive price lists can still be assigned as layers but are skipped during resolution.
  • Existing endpoints — set layers on the create and update Price Lists API endpoints. No new endpoints are introduced.

For details, see the Cascading price lists guide.

Backorder messages now refresh when editing a quote’s quantity in Merchant Dashboard

Fixes an issue in the B2B Edition Merchant Dashboard where increasing a quote line item’s quantity past its backorder threshold did not display the backorder message, showing only the available and backordered quantities.

  • Live backorder message — changing a quote line item’s quantity now re-fetches the product’s current inventory and updates the displayed backorder message when the change crosses the on-hand threshold

For details, see the Quotes overview.

Cornerstone 6.22.0

Cornerstone 6.22.0 adds a semantic search indication to the storefront search bar, introduces style overrides for the enhanced checkout theme, and includes product page fixes for option set rule messages and stock message styling.

Search

  • Semantic search placeholder — Displays “Describe what you’re looking for” as the quick search placeholder, with a matching screen reader label, when semantic search is enabled for the shopper through the semantic_search_enabled context; falls back to the standard placeholder otherwise. The new copy is localized for all supported languages

Checkout

  • Enhanced checkout theme styles — Adds style overrides for the enhanced checkout theme, including updated order summary styling

Product page

  • Option set rule messages — Shows the option set rule message on options that a rule blocks
  • Stock message cursor — Changes the cursor on the stock and backorder message text from pointer to default

Product reviews now trigger the product updated webhook

We’re beginning to roll out a fix so creating, approving, or deleting a product review sends a store/product/updated webhook event when the review changes the product’s rating fields. You may notice changes in this area over the coming weeks.

  • Notifies subscribers on rating changes: a review that changes a product’s rating totals now triggers store/product/updated for that product, matching the behavior you already see from the control panel.
  • Covers create, approve, and delete: the event fires for all three review operations that affect the rating.

For the full list of events this webhook scope covers, see Product events.

New Catalog Enrichment section

Docs now includes a Catalog Enrichment section covering how to get good results from the AI enrichment tool in the control panel.

It complements the Catalog Enrichment support article, which documents the procedure. This section covers the decisions the procedure doesn’t make for you: writing brand guidelines, choosing purpose, keywords, and context, assessing source data, grouping products into batches, reviewing results at scale, and measuring impact.

For details, see What is Catalog Enrichment?.

Single active storefront session per customer

Storefront customer sessions are single-active: signing a customer in again or signing them out invalidates every customer access token previously issued for that account, not just the session that triggered the change.

  • One session per customer account — every sign-in method rotates the underlying session token and ends the customer’s other sessions. This covers a storefront sign-in, the Customer Login API access point URL (/login/token/{token}), the GraphQL Storefront API login and loginWithCustomerLoginJwt mutations, and flows built on them, such as a B2B Edition buyer portal sign-in. Sign-out invalidates the customer access token the same way.
  • expiresAt is a latest-possible expiry, not a guaranteed lifetime — a customer access token can stop working earlier than its expiresAt value because the customer signed in again or signed out.
  • Invalidated tokens do not return errors — a GraphQL request that carries an invalidated customer access token runs as an anonymous shopper: the customer field returns null, and customer-specific values such as customer-group pricing fall back to guest values. To make such requests return an explicit error instead, send the X-BC-Error-On-Invalid-Customer-Access-Token header with a value of true.
  • For headless storefronts and integrations — store at most one customer access token per customer account and replace it with the newest token after each sign-in, consolidate the customer’s sign-in flows on a single method, and treat a null customer response as a signal to prompt the customer to sign in again.

For details, see Customer session behavior.

Clarified how inventory_tracking affects storefront option availability

Thanks to user feedback, the V3 Catalog Products documentation now explains that a product’s inventory_tracking value also controls whether the storefront restricts option selection to combinations that exist as variants.

  • variant tracking gates option-availability filtering — when the store’s out-of-stock option behavior (Settings > Inventory) is set to label or hide unavailable options, the storefront offers only the option combinations that map to a variant with stock greater than zero.
  • none and product keep every combination selectable — regardless of which variants exist, so shoppers can select combinations that have no matching variant.
  • Documented the trade-off — because the availability list is built only from combinations with stock greater than zero, enabling variant tracking to hide non-existent combinations also hides or labels real variants once they sell out.

For details, see the inventory_tracking field.

List and revoke storefront API tokens by ID

You can now list the storefront API tokens your API account has issued and revoke them by ID, without needing the token’s full JWT string. These operations are available for all three token families: storefront, private, and customer impersonation.

  • List tokens - GET /storefront/api-token returns a paginated list of the tokens your API account issued. The JWT string is never returned; each entry includes a jti identifier, is_revoked and is_expired flags, and an optional name label.
  • Revoke a token by ID - DELETE /storefront/api-token/{jti} revokes a single token using only its jti.
  • Revoke all tokens - POST /storefront/api-token/revoke-all revokes every active token your API account issued in that family.
  • Optional name - the token creation endpoints now accept an optional name label to help you identify tokens in the list.

For private and customer impersonation tokens, swap the path segment to /storefront/api-token-private or /storefront/api-token-customer-impersonation. Revocation can take up to approximately 60 seconds to fully propagate.

For details, see Managing and revoking tokens.

Complete Checkout Settings reference

The REST Management API’s Checkout Settings reference now documents every field the API returns, up from seven. The store-level schema covers all 21 fields, and the channel-level schema covers the 18 fields a channel can override.

  • Checkout type and guest checkout — checkout_type, guest_checkout_type, and guest_checkout_for_existing_accounts, with their accepted values.
  • Policy consent and order terms — policy_consent, order_confirmation_contact_email, is_order_terms_and_conditions_enabled, order_terms_and_conditions_type, order_terms_and_conditions_link, and order_terms_and_conditions_textarea.
  • Custom checkout and styling — custom_checkout_supports_data_hydration, should_redirect_to_storefront_for_auth, checkout_style_override, and checkout_style_override_sri_hash.
  • B2B checkout — support_b2b_settings, returned for stores where B2B checkout settings are enabled.
  • Channel-level behavior — the channel endpoints now explain that null means a channel has no override and uses the store-level value, and each endpoint has request and response examples.

For details, see the Checkout Settings reference:

  • Get Checkout Settings
  • Update Checkout Settings
  • Get Channel-Specific Checkout Settings
  • Update Channel-Specific Checkout Settings
Advertisement
Advertisement