Create Complex Rule now documents conditions as required

Thanks to user feedback, the Create Complex Rule endpoint reference now marks conditions as a required field.

  • conditions is required — the request body schema and the operation’s Required Fields list now include conditions. The live API rejects requests without it with 422 "Please provide a conditions.", so the reference previously showed the field as optional in error.
APIEnhancement

Complex rule condition schema clarifies nullable variant_id

The Catalog Products reference now marks variant_id as nullable in complex rule condition responses, matching what the API actually returns.

  • Nullable variant_id: complex rules created through the v2 API or the control panel can return conditions without a variant_id, so the field may be null in GET and PUT responses.
APIEnhancement

GraphQL Schema Updates

The Storefront GraphQL API adds a vault access token mutation for stored payment instruments and a way to list the company members who have placed orders. Both additions are alpha and marked deprecated in the schema: do not use them in production.

GraphQLStorefront

Clarified what updates a product's date_modified

The product documentation now explains exactly which changes update the date_modified timestamp on a product, so you can avoid a common pitfall when detecting changes.

  • Product record changes update date_modified — editing a product’s name, description, pricing, categories, custom fields, images, options, modifiers, or variants updates the timestamp.
  • Inventory changes do not always update date_modified — because inventory is a separate entity, stock updates processed by the Inventory API (including stock edits from the control panel Products list) leave date_modified unchanged. Inventory updates processed by the Catalog API, such as a PUT that sets inventory_level, do update it.
  • Use webhooks instead of polling — subscribe to the store/product/updated and store/product/inventory/updated webhooks to reliably detect product and stock changes.
APIAnnouncement

Storefront Foundations Updates

Updates the Storefront Foundations course to cover Stencil’s new multi-language storefront support and to keep a hands-on lab in sync with its underlying code.

  • About Stencil now mentions that a single Stencil storefront can present multiple languages, with catalog and checkout data translated using the Translations Admin GraphQL API or the control panel’s Localization tab.
  • Add a Subcategory Listing in Stencil lab syncs its code snippets with the current lab source, including the full category page markup and the component partial filename.
StencilLearning ContentEnhancement

Catalyst Core Updates

Updates the Catalyst Core course to reflect current Catalyst CLI (v2.x) behavior, fixing setup and lab instructions that no longer matched the tool.

  • Lab setup now uses degit instead of pnpm dlx create-next-app to provision lab starter code.
  • Reconnecting a project to a storefront channel now uses pnpm catalyst channel link, replacing the removed init command.
  • Documents CATALYST_ACCESS_TOKEN, the CLI-only credential that replaced the .catalyst file, including that it should be excluded from deployment environment variables.
  • Adds a brief introduction to the Catalyst CLI as a tool distinct from the initial installer, with a link to the full CLI reference.
  • Removes outdated references to a core/ project subdirectory, since the CLI no longer scaffolds a monorepo clone.
CatalystLearning ContentBug Fix

Makeswift Core Updates

Updates the Makeswift Core course to reflect current Catalyst CLI (v2.x) behavior, fixing setup and lab instructions that no longer matched the tool.

  • Lab setup and hands-on labs now use degit instead of pnpm dlx create-next-app to provision lab starter code.
  • Reconnecting a project to a storefront channel now uses pnpm catalyst channel link, replacing the removed init command.
  • Documents CATALYST_ACCESS_TOKEN, the CLI-only credential that replaced the .catalyst file.
  • Corrects component-registration import paths in the Image Compare Slider, Team Members, and Product FAQs labs.
  • Removes outdated references to a core/ project subdirectory, since the CLI no longer scaffolds a monorepo clone.
CatalystLearning ContentBug Fix

Storefront Foundations Updates

Updates the Storefront Foundations course’s Catalyst setup lab to reflect current Catalyst CLI (v2.x) requirements.

  • Adds a required pnpm approve-builds --all step after installation, needed on recent pnpm versions to approve dependency build scripts.
  • Documents CATALYST_ACCESS_TOKEN, the CLI-only credential that replaced the .catalyst file.
  • Adds a brief introduction to the Catalyst CLI in the “What Is Catalyst?” lesson, with a link to the full CLI reference.
  • Removes outdated references to a core/ project subdirectory, since the CLI no longer scaffolds a monorepo clone.
CatalystLearning ContentBug Fix

Category URL translations documentation

The Translations Admin GraphQL API documentation now covers category URL path translations for multilingual Stencil storefronts.

  • Category URLs — a new page documents the CATEGORY_URL_PATHS resource type, the bc/store/categoryUrlPath/{category_id} resource ID format, and the queries and mutations for listing, updating, and deleting url_path translations.
  • Translations overview — the resource type list now links to both the Category URLs and Product URLs pages.
GraphQLAnnouncement

GraphQL Account API rate limits clarified

The documented rate limit for the GraphQL Account API and other /accounts endpoints is now accurate, so you can throttle requests correctly and avoid unexpected 429 Too Many Requests responses.

  • Corrected quota — the limit is 2,000 requests per hour (approximately 30 per minute), not the previously documented 70 per hour.
  • Sliding-window enforcement — the per-minute allowance is spread evenly over time, so bursts can trigger a 429 even when you’re under the hourly limit. Keep requests to roughly 2–3 every 5 seconds.
  • No rate limit headers/accounts endpoints don’t return rate limit response headers, so pace requests proactively and back off on 429.
APIAnnouncement

GraphQL Schema Updates

The Account GraphQL schema drops the deprecated createUserWithPassword mutation, completing the security change announced in August 2025 that removed the ability to create a control panel user with a password.

GraphQLWarning

Stencil Core: Multi-Language Lesson

The Stencil Core course now includes a Multi-Language lesson covering Cornerstone’s support for multiple languages on a single storefront channel.

  • New lesson — “Multi-Language” is added to Module 2: Customize the Stencil Theme, covering available locales, locale detection via the URL’s locale segment, and the Cornerstone language selector.
  • Language selector coverage — introduces the language_selector Stencil object and the Cornerstone templates that render it, alongside the existing currency_selector.
  • BigCommerce Data translations — covers the translatable content types and methods (GraphQL Admin API and control panel) for localizing catalog and other BigCommerce data.
Learning ContentEnhancement

Catalyst CLI resource commands are now plural

The Catalyst CLI standardizes its resource commands on plural names, so projects, channels, domains, and logs all read the same way. Existing scripts keep working — the singular form of each command remains as an alias.

  • catalyst project is now catalyst projectsprojects create, projects link, projects list, and projects delete
  • catalyst channel is now catalyst channelschannels create, channels link, and channels update
  • Singular aliases still resolveproject, channel, domain, and log continue to work, so no existing command breaks
CatalystEnhancement

Custom domain setup for Native Hosting

New documentation covers attaching your own domain to a Catalyst Native Hosting project with catalyst domains add, including setup for stores that already serve their domain through their own Cloudflare account.

  • Standard setup — publish a CNAME to your worker URL for a subdomain, or an A record to your store IP for an apex domain
  • Cloudflare (Orange-to-Orange) setup — publish a proxied CNAME to shops.mybigcommerce.com, so your own Cloudflare rules keep applying to storefront traffic, along with the Cloudflare products that do and don’t take effect on that traffic
  • SSL/TLS — custom certificates are supported in the Orange-to-Orange setup, where your own Cloudflare zone terminates TLS; in the standard setup, your domain serves the certificate BigCommerce provisions for it
  • Domain management — ownership verification for a domain in use on another store, transfers between projects, removal, and troubleshooting
CatalystAnnouncement

Stencil Utils country resource namespace correction

Thanks to user feedback, the Stencil Utils reference now documents the correct namespace for the country resource.

  • utils.api.country — the getById and getByName examples now use the singular country namespace exposed by stencil-utils, replacing the incorrect plural utils.api.countries.

For details, see the Countries Resource reference.

StencilBug Fix

B2B Edition payment method support documentation

The B2B Edition Payments API overview now documents which payment methods B2B Edition supports and why some payment providers don’t sync reliably.

  • Sync mechanism explained: B2B Edition syncs its available payment methods from BigCommerce’s Get All Payment Methods endpoint, which only returns gateways with checkout module representation.
  • Supported and unsupported gateway tables: added reference tables listing which gateways have checkout module representation (and are therefore supported by B2B Edition) and which are BigPay-only integrations that aren’t returned by the sync endpoint.
  • Troubleshooting guidance: added guidance for when a configured payment method doesn’t appear in, or disappears from, Company payment settings.
B2BEnhancement

Featured promotion callouts in Promotions API and Stencil context

The Promotions API now supports featured promotion callouts, letting you highlight promotions on storefront product pages with a short customer-facing message.

  • is_featured_promotion — new boolean field on automatic promotions that marks a promotion as featured. Featured promotions evaluate at the highest priority within their category. A store can have a maximum of 5 featured promotions.
  • featured_promotion_callout_message — a short message (up to 80 characters) displayed alongside targeted products on the storefront.
  • promotion_category — read-only field indicating whether a promotion is categorized as cart or shipping, based on its discount type.
  • is_featured query parameter — filter the Get Promotions endpoint by featured status.
  • Stencil featured_promotions context — a new featured_promotions array on the Product object provides the promotion ID, callout text, priority, and category for rendering featured promotion badges on product detail pages, category listings, brand pages, and search results.
APIStencilEnhancement

Stripe Adaptive Pricing in custom checkouts

A new guide shows how to surface Stripe Adaptive Pricing in a custom checkout built on checkout-sdk-js, letting shoppers pay in their local currency while the store settles in its default currency.

  • Currency selector — render a host container and pass currencySelectorContainerId when initializing the Stripe OCS Checkout Session method; the SDK mounts Stripe’s currency selector and styles it through the Stripe Appearance API.
  • Reacting to currency changes — subscribe to checkout state and read paymentProviderCustomer.isCustomerCurrencySelected to know when a shopper switches to a currency other than the store’s default.
  • Payment method filtering — narrow the payment methods list to only the Stripe OCS Checkout Session method while a presentment currency is active, because other gateways can’t settle in it.
  • Testing and troubleshooting — verify the integration with Stripe test currencies and resolve common issues such as a missing selector or a NotInitializedError.
Payment ProvidersEnhancement

GraphQL Schema Updates

Authenticated customers can now access their active B2B company context through the Storefront GraphQL API.

GraphQLStorefront

OpenAPI specification downloads

Since moving to our new documentation platform, we’ve received a number of requests for access to our OpenAPI specification files. Now you can get them.

The OpenAPI specification index listing the available BigCommerce APIs
The specification index lists every available API. Select one to view its OpenAPI specification.
  • Browse the index: open one of the following to see the available API references:
    • https://docs.bigcommerce.com/openapi.json
    • https://docs.bigcommerce.com/openapi.yml
    • https://docs.bigcommerce.com/openapi.yaml
  • Open and save a spec: select an API from the index to open its OpenAPI specification in the browser, then save it with your browser’s Save As option or download it with curl.
Docs PlatformAPIEnhancement