API Explorer now renders your store’s hash as a path parameter
Thanks to user feedback, store_hash now appears as a first-class, highlighted input in the API Explorer for the majority of REST endpoints — matching how order_id, product_id, and other resource identifiers already work.
-
Highlighted in the request URL —
{store_hash}renders with the same accent styling as other path parameters in the URL bar at the top of every Explorer page.
store_hash highlighted in the request URL -
Dedicated input field —
store_hashnow appears in the Path parameters section, so you can fill it in like any other parameter. Previously, you had to edit the URL string in the Explorer directly to set your store’s hash.
store_hash in the Path parameters section -
Generated code snippets updated — cURL, JavaScript, and Python snippets on the right rail pick up the value you enter, no manual substitution required.
This update covers every REST endpoint in the API Reference.
For an example, see List Products.
Price Lists Records API: required fields corrected
Thanks to user feedback, we’ve corrected the API reference for the Create or Update Batch of Price Lists Records endpoint (PUT /pricelists/records). Several fields the server enforces as required were previously marked as optional.
price_list_id— now correctly marked Requiredcurrency— now correctly marked Requiredvariant_idorsku— clarified that exactly one of these is required to identify the variant- Operation description — added a note summarizing the required fields
For details, see Create or Update Batch of Price Lists Records.
Product Modifiers spec accuracy improvements
Thanks to user feedback, we’ve improved the accuracy and consistency of the Product Modifiers OpenAPI spec so request and response shapes now match the live API exactly.
- Aligned UPDATE with CREATE —
PUT /catalog/products/{product_id}/modifiers/{modifier_id}and theoption_valuesupdate schema now share the same field set and types as their CREATE counterparts. - Scoped
option_valuerequired fields to POST —labelandsort_orderare required only on create, matching the partial-update behavior of PUT. - Corrected the Create Product Modifier response — the 200 response now refs the modifier schema directly under
data, matching the live API and the GET/UPDATE responses (previously wrapped under a spuriousdata.itemsarray). - Documented
adjusters.image_urlas read-only — sending it on POST/PUT returns HTTP 500. The field is set via the dedicated Create Product Modifier Image endpoint, which is now cross-linked from the relevant operations. - Tightened multipart upload schema — Create Product Modifier Image now declares
image_fileas required at the schema level instead of in prose. - Removed noise from rendered docs — dropped redundant “Required/Read-Only Fields” prose blocks (Fern already renders these inline), and removed meaningless full-int32 min/max bounds on
sort_orderthat were rendering as a confusing range pill.
For details, see the Product Modifiers reference.
GraphQL Schema Updates
New types, fields, and enums across the Storefront and B2B GraphQL schemas.
Storefront GraphQL
- Structured checkout errors — new
CartError,CartLineItemError,CheckoutShippingConsignmentError, andCheckoutTaxErrortypes withCartErrorCode,CheckoutErrorCode, andCheckoutTaxErrorCodeenums, surfaced through theCreateCheckoutErrorunion onCreateCheckoutResult.errors - Extra field values — new
ExtraFieldValueinterface andTextExtraFieldValue,NumberExtraFieldValue,MultilineTextExtraFieldValue, andMultipleChoiceExtraFieldValueimplementations for B2B extra fields - Inventory by location — new
ProductInventoryByLocation,ProductLocationConnection, andbyLocationfield onProductInventorywith location ID, code, type, and distance filtering - Search suggestions — new
SearchProductSuggestionandSearchProductSuggestionResulttypes andsuggestionsfield onSearchProductsfor spelling corrections and autocomplete - Filter item counts — new
displayItemsCountfield onBrandSearchFilter,CategorySearchFilter, andProductAttributeSearchFilter - Metafield description — new
descriptionfield onMetafields - Gift certificate entity ID — new
entityIdfield onCheckoutGiftCertificate - Backorder messaging (alpha) — new
backorderShippingExpectationMessagefield on orders andbackorderMessagefield onOrderPhysicalLineItem
B2B GraphQL
- Catalog quick product inventory — new
inventoryTracking,availableToSell,unlimitedBackorder,totalOnHand, andbackorderMessagefields onCatalogQuickProductType - Order backorder snapshot removed —
backorderSnapshotfield removed fromOrderType
For schema details, browse the Storefront GraphQL API reference and the B2B GraphQL API reference.
B2B sales rep company authorization
Storefront sales reps (Super Admins) can now only access companies they are directly assigned to. Assignments do not traverse the Account Hierarchy — assigning a sales rep to a parent Company does not grant access to its subsidiaries.
- Scoped access — the storefront Companies and Users API enforces sales rep–to–company assignment on requests targeting a specific
companyId - Unassigned company — returns
403 Permission denied; a non-integercompanyIdreturns400 Invalid companyId - Assigning companies — use the Server-to-Server Super Admin API to assign a sales rep to each Company they need to act on, including subsidiaries
For details, see the Super Admin overview.
B2B Storefront — uuid query parameter for Get Quote Details
The B2B Storefront Get Quote Details endpoint now accepts a uuid query parameter.
uuid— the quote’s secondary alphanumeric identifier. Required when the quote has an existinguuidvalue. Sales quotes created before May 3, 2026 do not have auuidvalue by default.
For details, see the Get Quote Details reference.
Archive a B2B quote via the API
The Update a Quote endpoint now supports archiving a quote by sending {"status": "archived"} in the request body.
- Archive a quote — send
PUT /api/v3/io/rfq/{quote_id}with body{"status": "archived"}to hide the quote from the Buyer Portal - Idempotent — re-archiving an already-archived quote returns
200without re-running the archive flow - 404 on missing quote — archive requests for a non-existent
quote_idreturn a404response
For details, see the Quotes overview and the Update a Quote endpoint reference.
BigCommerce MCP Server (Beta)
The BigCommerce MCP server lets AI agents — like Claude, Cursor, and Warp — interact with a BigCommerce storefront using purpose-built commerce tools, available since April 28, 2026.
- B2C Storefront server — guest shopping flow with tools to search the catalog, fetch product details, manage a cart, and generate a checkout URL
- Bring-your-own client — connect from Claude Desktop, Claude Code, Cursor, or Warp using a store-specific MCP server URL
- Coming soon —
customer_loginfor personalized pricing, order history, and account features, plus a B2B storefront server
Enable the server under Settings → Early access in the control panel. For details, see the MCP Server overview and the B2C Storefront server reference.
Storefront Foundations Course Updates: Catalyst 1.6.3 and Next.js 16
Updates to the Storefront Foundations course reflect the Catalyst 1.6.3 release and its upgrade to Next.js 16.
- Minimum Node.js version — raises the prerequisite from Node.js 20 to Node.js 24 in both Catalyst labs
- Install command — updates the Catalyst CLI install command to target
catalyst-makeswift@1.6.3 - Out-of-the-box features — adds product reviews and newsletter subscription to the feature list in the What Is Catalyst lesson
- Proxy convention — renames
middlewarestoproxiesthroughout the Structure and Conventions and Performance Checklist lessons, including directory names, file paths, section headings, and links, reflecting the Next.js 16 naming change
For details, see the Storefront Foundations course.
GraphQL Storefront API Course Updates: Private Token
Updates to the GraphQL Storefront API course reflect the current recommended token types for client-side and server-side usage.
- Standard token — clarifies that standard tokens are for client-side use only; removes the deprecation warning and replaces it with clear, present-tense guidance
- Private token — updates the private token section to describe it as the required token for all server-to-server integrations; simplifies the access scopes section to link to reference docs
- Customer access token — updates code examples to use a Private Token as the Bearer token for server-side customer context requests
- Lab recap sections — renames the
private_tokenPostman variable toprivate_storefront_tokenand removes the optionalstorefront_tokennote - Course overview — updates objectives to distinguish between client-side and server-to-server token use cases
For details, see the GraphQL Storefront API course.