Publish and unpublish product variants independently from product
ProductVariant is now a Publishable. Variants can be published or unpublished per publication (channel or catalog) in API version 2026-07, giving merchants — and your apps — fine-grained control over where each variant is visible without deleting variants, duplicating products, or hiding them via storefront code.
This is a non-breaking, additive change:
- Product-level publishing is unchanged and still takes precedence. A product must be active and published to a channel for any of its variants to render there.
- Variants default to published (opt-out model). Existing apps that publish at the product level continue to work without modification.
- Variants can be created in an unpublished state in order to prevent early exposure to buyers.
What's new in the Admin GraphQL API
publishablePublishandpublishableUnpublishnow acceptProductVariantIDs.ProductVariantnow adheres to thePublishableinterface, similar toProductandCollection, which includesresourcePublicationv2andpublishedOnPublication- Product feed webhooks fire with a product update for variant added and deleted when variants are published to the feed’s channel.
variant_publication/create/update/deletewebhooks are still under development and will be shipped imminently.
What this means for your app
- Channel apps using product feeds should not require any changes to work - the product feed adds and removes variants to the product and an incremental sync webhook is triggered.
- Channels or pseudo channels that do not use product feeds and rely on reading publication state via the admin graphql API should implement support by reading the respective publication state of variants via
ProductVariant.resourcePublicationsv2. - Apps that create variants after product publication occurs: new variants default to published in all of the parent product's publications. If your app plans to create variants in an unpublished state,
productSetandproductVariantBulkCreateboth include avariant.published: falsefield to create variants as unpublished. - Apps that publish products: no changes required. Continue calling publishablePublish on products as before. Consider implementing variant publishing support if unpublishing variants is relevant to your apps workflows.
Fetched May 26, 2026

