
This has been a common issue that many of you have encountered lately. And it is entirely understandable, as updating product options in product variants as options fields in GraphQL and Rest API are altogether different.
However, you can follow the standard procedure.
1st Step – Log in to your Shopify Admin panel
2nd Step – Go to the products
3rd Step – Click on the product’s name with the variant name you would like to change.
4th Step – Make appropriate changes in the variant details
5th Step – Click to Save
Or else, you can follow this method where;
We are updating product variants using GraphQL. Here, our primary goal is to send three different options (large, blue, and paper) to the product variant to convert it into one single variant with only one [String!] value. Additionally, in REST APIs, it consists of three different options (Option 1, Option 2, and Option 3) with unchanged default titles.
You can consider the following links:
Update Product Variant: https://shopify.dev/docs/api/admin-graphql/latest/mutations/productvariantsbulkupdate
Update Product: https://shopify.dev/docs/api/admin-graphql/latest/mutations/productupdate
Well, it actually takes an array of strings ([String!]), not a single string value. So you need to pass it like that [“Large”, “Blue”, “Paper”], see detailed mutation request below:
Query
mutation productVariantUpdate($input: ProductVariantInput!) { productVariantUpdate(input: $input) {
product {
id
title
handle
}
productVariant {
id,
selectedOptions {
name,
value
}
}
userErrors {
field
message
}
}
}
Variables
{ "input": { "id": "gid://shopify/ProductVariant/12386472609940", "options": ["Small", "Medium", "Large"] } }
AboutManthan Bhavsar
Related Posts
What’s New in Node.js 25? Key Features Updates
The launch of Node.js 25 has set a new standard for speed, security, and developer productivity. The major enhancements are...
Step-by-Step Guide to Using Metaobjects in the Shopify Store!
Shopify is the ultimate boss when it comes to flagship offerings in terms of tools and features. Its inventory has many...

