> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Method name: updateVariantData(productId: string, variantInfo: Array) # Method package: wixStoresBackend # Method menu location: wixStoresBackend --> updateVariantData # Method Link: https://dev.wix.com/docs/velo/apis/wix-stores-backend/update-variant-data.md # Method Description: Updates the data (such as the price and the weight) of an existing product variant in the store. The `updateVariantData()` function returns a Promise that resolves when a product's variant, with the specified choice and corresponding value, has been updated. For example, if my product is a ring, I can update the price of the Gold value of the Metal choice, or the price of the Silver value of the Metal choice. In this example, "price" is the variant's data. When passing parameters to `updateVariantData()`, if the combination of the product ID, choice, or choice value does not match any existing variants, an error is issued. Only the properties passed in the `VariantInfo` object will be updated. All other properties remain the same. > **Note:** The `Manage Variants` field for the product must be set to true to update a variant's data. # Method Code Examples: *** Note: do not assume any prop names or enum values other than the ones in the example. ## Update the data of a variant ```javascript /******************************* * Backend code - products.jsw * *******************************/ import wixStoresBackend from 'wix-stores-backend'; export function updateVariantData(productId, variantInfo) { return wixStoresBackend.updateVariantData(productId, variantInfo); } /************* * Page code * *************/ import { updateVariantData } from 'backend/products'; // ... $w('#myProductPage').getProduct() .then((product) => { let productId = product._id; let productManageVariants = product.manageVariants; // check that variants can be added and updated // for this product if (productManageVariants) { const weight = 10; const price = 15; const variantInfo = [{ weight, price, "choices": { "Color": "Blue", "Size": "Large" } }]; updateVariantData(productId, variantInfo) .then(() => { // product variant data have been updated }) .catch((error) => { // there was an error updating the product variant }); } }) ``` ---