Feature Request: Add inventoryPolicy to ProductVariant in Storefront GraphQL API

The Storefront API currently exposes these inventory-related fields on ProductVariant:

  • availableForSale
  • currentlyNotInStock
  • quantityAvailable

However, it’s missing inventoryPolicy, which is available in the Admin API. This field determines whether a variant allows “Continue selling when out of stock” (CONTINUE) or stops at zero inventory (DENY).

Why this is needed:

Without inventoryPolicy, there’s no way to properly fetch available variant quantities on the storefront.

For example, if a variant has quantityAvailable = 3 and a customer tries to add 5 units:

  • If inventoryPolicy = DENY, this should be prevented or at least warned
  • If inventoryPolicy = CONTINUE, this should be allowed

Currently, there is no way to distinguish between these cases. We can see the quantity available, but not whether the variant allows overselling.

Request:

Could you please expose inventoryPolicy on ProductVariant ? Alternatively, exposing a specific boolean flag like continueSellingWhenOutOfStock would achieve the same goal.

Bumping this. We need to validate requested quantities on the storefront, and without knowing the inventory policy we can’t tell whether a variant actually has stock limits or allows overselling. Anyone else running into this?

Hey @Anton- thanks for the Feature Request. I’ve gone ahead and submitted this internally. The more a specific feature is requested by our merchants and partners, the more likely it is to be considered for future development by our product teams so hopefully this is something that can be looked at for future releases.

As a workaround, you could use an App Proxy and fetch inventoryPolicy from the Admin API’s ProductVariant server-side and combine it with your Storefront API data.

Thanks for flagging this!

Hi Donal, thanks for submitting this internally.

I wanted to add some context on why this field would be particularly valuable. We’re building bundle functionality where the storefront needs to validate whether a variant can be added to cart at the requested quantity. Right now we can read quantityAvailable, but without inventoryPolicy we can’t tell if overselling is allowed, so we either block valid purchases or allow invalid ones.

A couple of things that might simplify the case for adding it:

  • The data is already exposed in both the Admin API and Liquid, so the Storefront API is the odd one out
  • It could be gated behind the unauthenticated_read_product_inventory access scope, same as quantityAvailable

Is there any sense of whether this is something that could realistically make it onto the roadmap? Happy to provide more detail on the use case if that would help.

Hey Anton, appreciate the follow-up and the extra detail on the bundle use case. You make a fair point that the Storefront API is the odd one out here, given that inventoryPolicy is already available through both the Admin API and Liquid.

I don’t have a roadmap update to share on this one, but the additional context you’ve provided is genuinely useful. I’ve made sure that’s captured alongside the original request.

In the meantime, the App Proxy approach from my earlier reply is still the most reliable workaround. Fetch inventoryPolicy from the Admin API server-side and combine it with your Storefront API data on the client. Not ideal for a field that arguably belongs on the Storefront variant object, but it gets the job done.