Price Lists Records API: complete error reporting on batch create conflicts

The Create Batch of Price Lists Records endpoint (POST /pricelists/records) now reports the full picture when a batch is rolled back due to a uniqueness conflict. Two cases that were previously invisible in the 422 response now surface as *.uid field errors.

  • SKU-based conflicts now surface correctly — when an item identified by sku collided with an existing record, the response came back as 422 with meta.saved_records: 0 but no *.uid error identifying the conflicting row. The conflict is now reported with "A price record with the same price list, variant, and currency already exists.".
  • Rolled-back items now appear in the response — when an item would have been saved but was rolled back along with another conflicting item in the same batch, it disappeared from the response entirely. These items are now reported with "Batch rejected, fix other errors and retry." so you know exactly which rows to resend after fixing the conflicts.
  • Atomic-rejection semantics are unchanged: any duplicate in the batch causes meta.saved_records to return 0.

For details, see Create Batch of Price Lists Records.


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.