Product update API not updating inventory quantity!

Topic summary

A developer is experiencing issues updating inventory quantities via Shopify’s REST Admin Product API (v2022-04). While all other product fields (price, descriptions, vendor, etc.) update successfully, the inventory_quantity field in product variants remains unchanged despite being included in the PUT request payload.

Key Details:

  • The API request includes variants with specific inventory_quantity values (0 and 1)
  • All other variant properties update correctly
  • The inventory quantity stays at its original value

Resolution Provided:
Shopify support clarified that as of recent API versions, inventory cannot be updated directly through the inventory_quantity field in the ProductVariant resource. Instead, developers must use the dedicated Inventory Level resource with either inventory_quantity_adjustment or similar methods.

This represents a breaking change in how inventory management works in Shopify’s API, requiring migration to the specialized inventory endpoints.

Summarized with AI on November 20. AI used: claude-sonnet-4-5-20250929.

Hi Everybody

We are using REST admin Product APIs (currently v 2022-04), I’m trying to update our product in Shopify for sync it with our inventory.. so we need to update price, descriptions, quantity..etc

The API work fine for all fields and we can update Price, descriptions and other fields except the quantity

( inventory quantity field)

as example: I send PUT request with the following payload :

{
	"product": {
		"images": null,
		"id": "1122654",
		"title": " tshirt ",
		"vendor": "XX",
		"product_type": "clothing",
		"options": [
			{
				"name": "Color",
				"values": ["Grey"]
			},
			{
				"name": "Size",
				"values": [ "XS","S","M","L"]
			}
		],
		"variants": [
			{
				"inventory_quantity": "0",
				"option1": "Grey",
				"id": "123456789112345",
				"option2": "L",
				"price": "200.0",
				"compare_at_price": "250.0",
				"barcode": "0000123456789",
				"sku": "0000123456789",
				"inventory_policy": "deny",
				"inventory_management": "shopify"
			},
			{
				"inventory_quantity": "1",
				"option1": "Grey",
				"id": "123456789112346",
				"option2": "S",
				"price": "200.0",
				"compare_at_price": "250.0",
				"barcode": "0000123456788",
				"sku": "0000123456788",
				"inventory_policy": "deny",
				"inventory_management": "shopify"
			}
		],
		"published_at": "",
		"body_html": " DEscription",
		"tags": "clothing, men"
	}
}

All felds updateed, except the inventory_quantity remain the same as on the Shopify , the example JSON try to update the first variant with quantity 0, and the second with the value 1.

Is there any thing missing here.

Thanks in advance.

1 Like

Hey @tnakhleh ,

Thanks for your post.

As per the ProductVariant dev docs, can no longer set inventory using inventory_quantity or inventory_quantity_adjustment. For more information, refer to the Inventory Level resource.

Hope that helps!