For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dev Portal
DocsAPI ReferenceLearnCommunityChangelog
DocsAPI ReferenceLearnCommunityChangelog
Dev Portal
LogoLogo
On this page
  • May 27, 2026
  • Improved Stencil schemas reference documentation
  • May 22, 2026
  • API Explorer now returns JSON for v2 REST endpoints
  • May 19, 2026
  • API Explorer now renders your store's hash as a path parameter
  • Price Lists Records API: required fields corrected
  • Product Modifiers spec accuracy improvements
  • May 18, 2026
  • GraphQL Schema Updates
  • May 12, 2026
  • B2B sales rep company authorization
  • May 8, 2026
  • B2B Storefront — uuid query parameter for Get Quote Details
  • Catalyst Core Updates: Next.js 16 Proxy Architecture
  • Makeswift Core Updates: Catalyst Structure and Node.js 24

Changelog


May 27, 2026
May 27, 2026

May 22, 2026
May 22, 2026

May 19, 2026
May 19, 2026

May 19, 2026
May 19, 2026

May 19, 2026
May 19, 2026

May 18, 2026
May 18, 2026

May 12, 2026
May 12, 2026

May 8, 2026
May 8, 2026

May 8, 2026
May 8, 2026

May 8, 2026
May 8, 2026

Older posts

Next
Built with

Improved Stencil schemas reference documentation

Thanks to user feedback, the Stencil schemas reference has been rewritten so theme developers can answer the question “what objects can I actually use on this template?” without scanning the whole page.

  • Scannable property docs — every object’s properties are now rendered as ParamField rows with collapsible Expandable sections for nested objects and arrays.
  • Globals-first ordering — the Global objects table (available on every template) appears before the Page-specific context table, so the always-available baseline is the first thing you see.
  • Expanded page-context table — added rows for checkout.html, page-contact-form.html, {{pagination}} on blog.html, and {{faceted_search}} on search.html. A new callout names common routes (auth/login.html, errors.html, etc.) that receive only the globals, so gaps in the table aren’t read as omissions.
  • Runtime inspection tip — a callout at the top links to ?debug=context so you can dump the live context object for any URL instead of guessing from docs.
  • theme_settings rewritten for non-Cornerstone themes — a new warning callout explains that the documented keys are Cornerstone defaults, not a fixed schema, and new subsections show how to access values via dot notation and how to find the real key list for your theme via config.json and ?debug=context.
  • Per-object metadata — every object now leads with a uniform Scope / Available on / Handlebars expression block instead of the previous mix of floating type hints.

Keep the feedback coming — every piece of feedback we receive directly contributes to the improvement of our docs. Use the Was this page helpful? widget at the bottom of any docs page, and we’ll keep iterating.

For details, see the Stencil schemas reference.

API Explorer now returns JSON for v2 REST endpoints

Thanks to user feedback, REST /v2/ endpoints in the API Explorer now return JSON responses instead of XML, matching the Accept: application/json header advertised in the request.

  • Path-level header parameters now inherit correctly — operations defined under a path in the OpenAPI specs pick up Accept and other header parameters declared at the path level, so v2 responses render as JSON in the Explorer.
  • No spec changes required on our side — the fix landed in the Fern platform; existing v2 specs render correctly without edits.

For an example, try List Customers (v2) in the API Explorer.

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 rendered as a highlighted path parameter in the request URL bar
    store_hash highlighted in the request URL
  • Dedicated input field — store_hash now 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 rendered as a dedicated path parameter input field in the API Explorer
    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 Required
  • currency — now correctly marked Required
  • variant_id or sku — 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 the option_values update schema now share the same field set and types as their CREATE counterparts.
  • Scoped option_value required fields to POST — label and sort_order are 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 spurious data.items array).
  • Documented adjusters.image_url as 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_file as 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_order that 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, and CheckoutTaxError types with CartErrorCode, CheckoutErrorCode, and CheckoutTaxErrorCode enums, surfaced through the CreateCheckoutError union on CreateCheckoutResult.errors
  • Extra field values — new ExtraFieldValue interface and TextExtraFieldValue, NumberExtraFieldValue, MultilineTextExtraFieldValue, and MultipleChoiceExtraFieldValue implementations for B2B extra fields
  • Inventory by location — new ProductInventoryByLocation, ProductLocationConnection, and byLocation field on ProductInventory with location ID, code, type, and distance filtering
  • Search suggestions — new SearchProductSuggestion and SearchProductSuggestionResult types and suggestions field on SearchProducts for spelling corrections and autocomplete
  • Filter item counts — new displayItemsCount field on BrandSearchFilter, CategorySearchFilter, and ProductAttributeSearchFilter
  • Metafield description — new description field on Metafields
  • Gift certificate entity ID — new entityId field on CheckoutGiftCertificate
  • Backorder messaging (alpha) — new backorderShippingExpectationMessage field on orders and backorderMessage field on OrderPhysicalLineItem

B2B GraphQL

  • Catalog quick product inventory — new inventoryTracking, availableToSell, unlimitedBackorder, totalOnHand, and backorderMessage fields on CatalogQuickProductType
  • Order backorder snapshot removed — backorderSnapshot field removed from OrderType

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-integer companyId returns 400 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 existing uuid value. Sales quotes created before May 3, 2026 do not have a uuid value by default.

For details, see the Get Quote Details reference.

Catalyst Core Updates: Next.js 16 Proxy Architecture

Updates to the Catalyst Core course bring lesson content in line with Catalyst’s Next.js 16 proxy architecture and Node.js 24 baseline.

  • Proxy terminology — renames “Custom URL Middleware” to “Custom URL Proxy” across the architecture and expanded modules to match Next.js 16 conventions
  • File path references — replaces middlewares/ paths with proxies/ (proxies/with-routes.ts, proxies/with-auth.ts, proxies/with-intl.ts) and updates the middleware.ts entry point reference to compose-proxies.ts
  • Performance lesson — updates the Node.js minimum version to 24 and expands the out-of-the-box features content
  • Documentation links — updates Next.js documentation links from version 15 to version 16 throughout the course
  • Lab updates - updates labs to Catalyst 1.6.3

For details, see the Catalyst Core course.

Makeswift Core Updates: Catalyst Structure and Node.js 24

Updates to the Makeswift Core course align lessons with the current Catalyst component structure and bump the supported Node.js version.

  • Built-in Elements lesson — adds information about “The Wrapper Slot” to document the lib/makeswift/slot shorthand
  • Install lab — updates the minimum Node.js version to 24
  • Lab updates - updates labs to Catalyst 1.6.3

For details, see the Makeswift Core course.