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
  • October 1, 2026
  • More webhook events in the event reference
  • September 30, 2026
  • Custom quote templates
  • Email templates support up to 20 locales per channel
  • GraphQL Schema Updates
  • Fixed a crash in storefront GraphQL product search on deep pagination
  • Updated Optimized One-Page Checkout styling reference
  • September 29, 2026
  • API reference corrections across twenty specs
  • B2B Edition Buyer Portal invoices respect your currency symbol placement
  • B2B quote details now return the last-modified time
  • Catalyst 1.12.2

Changelog


October 1, 2026
October 1, 2026

September 30, 2026
September 30, 2026

September 30, 2026
September 30, 2026

September 30, 2026
September 30, 2026

September 30, 2026
September 30, 2026

September 30, 2026
September 30, 2026

September 29, 2026
September 29, 2026

September 29, 2026
September 29, 2026

September 29, 2026
September 29, 2026

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

More webhook events in the event reference

The webhook event reference now documents several scopes you could already subscribe to, along with their payloads.

  • Customer and store metafields. store/customer/metafield/{created,updated,deleted} and store/store/metafield/{created,updated,deleted} fire when customer-level or store-level metafields change. Both support data filtering on namespace.
  • Redirects. store/redirects/updated fires when you create or update redirects. The data field is an array with one entry per redirect, and id is 0 when the request doesn’t include a redirect ID.
  • Location deleted. store/inventory/location/deleted fires when a location is deleted.
  • Channel settings. store/channel/{channel_id}/settings/search/updated and store/channel/{channel_id}/settings/inventory/updated fire when a channel’s storefront search or inventory settings change.
  • Order notification settings. store/channel/{channel_id}/notifications/order/updated fires when a channel’s order notification settings change.

For details, see the customers, stores, redirects, and locations events, and the channel settings and channel notifications events.

Custom quote templates

B2B Edition merchants can now customize the quote templates that are emailed and attached as PDFs to buyers, so every quote reflects their branding and the details their business and buyers need.

  • Custom templates - create, rename, enable, disable, and delete quote templates from the control panel, with built-in legacy templates still available.
  • Product table control - choose the columns, their order, and per-locale headers for the quote’s product table.
  • Translations - translate every phrase in the template per locale, with fallback to the default locale.
  • Extra fields as variables - surface quote-module extra fields inside the PDF using template variables.
  • Multi-Storefront - assign templates per storefront and set a per-storefront default.
  • Testable - preview a template with sample data, send a test email, and set each template’s default subject.

For details, see Quote Templates.

Email templates support up to 20 locales per channel

Transactional email templates now have a limit of 20 locales per template in each channel.

  • Applies to the translations array — when you create or update an email template with the Email Templates API, the translations array accepts up to 20 locale objects.
  • Counted per channel — the limit applies separately to each template in each channel, including channel-specific overrides.

For details, see Email Templates Overview and Update an email template.

GraphQL Schema Updates

Storefront GraphQL order queries now return the store credit applied to an order, so headless storefronts can show a complete order totals breakdown without deriving the amount from the grand total.

Storefront GraphQL

  • Store credit total on orders: the BaseOrder interface adds a storeCreditTotal field of type Money, which reports the total store credit applied to the order. Because it is defined on the interface, the field is available on both Order and OrderWithPayments, alongside the existing subTotal, discountedSubTotal, wrappingCostTotal, shippingCostTotal, handlingCostTotal, taxTotal, and totalIncTax fields.

For schema details, see the Storefront GraphQL API reference:

  • order field on the site query
  • orders field on the customer query

Fixed a crash in storefront GraphQL product search on deep pagination

Storefront GraphQL product search no longer crashes when a query pages deep enough into results that the search engine can’t return more matches, on a store with semantic (AI-powered) search enabled. The request used to fail outright instead of returning a response.

  • Deep pagination no longer crashes the request: requesting an offset and limit that page past what semantic search can return used to throw an unhandled error and fail the entire GraphQL query. It now returns a response instead of crashing.
  • More error responses are parsed correctly: the fix also hardens how the search engine’s error details are read, so search failures with an unexpected error shape no longer crash the request either.

For details, see Faceted and Textual Search with the GraphQL Storefront API.

Updated Optimized One-Page Checkout styling reference

The Optimized One-Page Checkout styling reference now matches the current optimized-checkout.scss file in Cornerstone, including the style overrides for Enhanced Checkout.

  • Corrected button classes: The primary and secondary button classes are .optimizedCheckout-buttonPrimary and .optimizedCheckout-buttonSecondary, and they cover hover, focus, active, and disabled states.
  • Additional classes documented: The class table now includes focus, body, and link styles, form selects, radio buttons, check boxes, form errors, discount banners, shipping and payment method lists, and the loading toaster.
  • Enhanced Checkout styles: A new section describes the .enhancedThemeV1 overrides that checkout applies when the Enhanced Checkout option is enabled in the control panel.

For details, see Optimized One-Page Checkout.

API reference corrections across twenty specs

Corrected reference pages that did not match live API behavior. The APIs are unchanged; the pages now match what the endpoints accept and return.

  • Response shapes: the four Channel Metafield operations documented the wrong body. They now match the { data, meta } response the gateway returns. Get Deployment Event Stream and Tail Worker Logs now show a field table per event.
  • Error responses: Create Site, Update Site, Delete Multiple Metafields, Update Redirects, and the shipping customs-information operations now document the 422 they return. Shipping also documents 400 and 413.
  • Requests: Create Site documents the optional certificate object, Update Email Template documents the three fields it actually reads, List Subscribers documents sort and direction, and shipping rate requests document rate_options.
  • Types, headers, and scopes: site_id and channel_id are integers, not strings. Tax customer endpoints require Accept, not Content-Type. Promotion Settings requires store_v2_information, not store_v2_marketing.

If you built against any of these pages, recheck your request and response handling:

  • Get Channel Metafields
  • Create a Site
  • Get Tax Customers
  • Get Deployment Event Stream

B2B Edition Buyer Portal invoices respect your currency symbol placement

Invoice pages in the B2B Edition Buyer Portal now display the currency symbol on the side set by your store’s currency settings, instead of always placing it on the left.

  • Invoice amounts: the invoice total, amount due, amount-to-pay field, and payment total now follow your currency’s symbol placement (left or right).
  • Payment views: payment history and payment confirmation amounts use the same placement.

For details, see B2B Edition Buyer Portal.

B2B quote details now return the last-modified time

The B2B Edition Get Quote Details endpoint now returns updatedAt, so you can check whether a quote changed without calling List Quotes first.

  • Last-modified time: GET /api/v3/io/rfq/{quote_id} returns updatedAt as a Unix timestamp integer. It holds the same value that List Quotes returns for the quote.
  • Archive responses: archiving a quote with PUT /api/v3/io/rfq/{quote_id} and {"status": "archived"} returns the quote details, so that response also includes updatedAt.
  • Backward compatible: the field is new, and no existing response fields change.

For details, see the Quotes overview.

Catalyst 1.12.2

Catalyst 1.12.2 keeps a separate cart for each channel, so a cart started on one channel no longer appears or checks out on another. It also adds meta tags that identify how a storefront is hosted and which channel it serves.

  • One cart per channel: the cart cookie used to hold a single cart ID with no channel attached, so the cart page, header count, and checkout all read the same cart after a shopper switched channels. The cookie now maps each channel ID to that channel’s cart, and getCartId, setCartId, and clearCartId act on the current channel. Login sends BigCommerce the cart for the channel the shopper signed in on, and logout sends the cart for the channel they signed out from. Existing single-cart cookies keep working and move to the new format on the shopper’s next cart action.
  • hosting and channel_id meta tags: every page now renders a channel_id meta tag with the storefront’s channel, and a hosting meta tag that reads native on Catalyst Native Hosting, vercel on Vercel, and other everywhere else. They sit alongside the existing platform and store_hash tags, so Support can confirm a storefront’s setup from its page source.

See the full 1.12.2 release notes for migration details and release tags.