Last Week: Editable Configurable Options and Richer Product Identifiers (July 8, 2026)
Change a configurable listing's options after it's been created, richer labeled product identifiers, Select all / Deselect all on state filters, and clearer SKU filter wording.
New Features
- Edit configurable options after a listing exists — the listing edit page now lets you change which configurable options a listing exposes (Color, Size, Material, etc.) and update each variant's option values, even after the listing has been created. Previously this was locked in at creation. Adding a new option prefills each variant with the matching value from the source product variant so you don't have to re-enter data you already have.
Improvements
- Richer product identifier display — the primary identifier on product rows and the product show page now labels what you're looking at (SKU, Barcode, your Group Code caption, integration name + ID, or Osello ID) instead of showing a bare value, and picks the strongest identifier available. Standalone products lead with SKU / Barcode; configurable products lead with the group code.
- Select all / Deselect all on state filters — the state filter menus (product status, listing state, etc.) got Select all and Deselect all shortcuts underneath the dropdown so you can flip the whole set on or off without clicking each option.
- Clearer SKU filter wording — the SKU filter's operator dropdown now reads "Matches" and "Doesn't match" instead of "Is" and "Is not", making it more obvious that the value is a pattern rather than an exact string.
API Updates
Version: 5.13.0
Updated/removed endpoints
PATCH /api/stores/:store_id/channels/:channel_id/listings/:listing_id— now acceptsconfigurable_optionsin the payload to change which configurable options a listing exposes. The value is an object mapping each option key to its metadata (e.g.{"Size": {"label": "Size"}, "Color": {"label": "Color"}}); kept options preserve their existing metadata (likesource_ids) automatically. Only send this field when the option set actually changes — sending an unchanged set marks the listing dirty. Removing every option is rejected with a422.GET /api/stores/:store_id/channels/:channel_id/listings/:listing_id/variants— newinclude_disabledfilter (boolean, defaultfalse). Whentrue, disabled variants are returned even if the parent listing is enabled (which hides them by default).- Listing variant responses — added
source_configurable_options_values, a nullable object holding the underlying source product variant's option values. Useful for prefilling defaults when you add a new configurable option to an existing listing. - Product responses — the top-level
integration_namefield was removed. Read the integration name from the nestedintegrationobject instead (opt in withinclude=integration). (Breaking.)
Notes for API consumers
- Minor api version bump (5.12.0 → 5.13.0). One breaking change:
integration_nameon product responses is gone — switch tointegration.namevia the nestedintegrationinclude. Everything else — the newconfigurable_optionsupdate field, theinclude_disabledvariant filter, andsource_configurable_options_valueson variants — is additive.