> 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 # UpdateVariant # Package: items # Namespace: VariantsService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/restaurants/menus/items/item-variants/update-variant.md ## Permission Scopes: Manage Restaurants - all permissions: SCOPE.RESTAURANTS.MEGA-SCOPES ## Introduction > **Note:** The Item Variants API only works with the Wix Restaurants Menus app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new). Updates an item variant. To update multiple item variants at once, use [Bulk Update Variants](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item-variant/bulk-update-variants.md). Each time an item variant is updated, its revision increments by 1. The existing revision must be included when updating the variant. This ensures you're working with the latest variant information, and it prevents unintended overwrites. --- ## REST API ### Schema ``` Method: updateVariant Description: > **Note:** The Item Variants API only works with the Wix Restaurants Menus app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new). Updates an item variant. To update multiple item variants at once, use [Bulk Update Variants](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item-variant/bulk-update-variants.md). Each time an item variant is updated, its revision increments by 1. The existing revision must be included when updating the variant. This ensures you're working with the latest variant information, and it prevents unintended overwrites. URL: https://www.wixapis.com/restaurants/menus/v1/variants/{variant.id} Method: PATCH # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: variant, variant.id, variant.revision Method parameters: param name: variant | type: Variant | required: true - name: id | type: string | description: Item variant GUID. | required: true - name: revision | type: string | description: Revision number, which increments by 1 each time the item variant is updated. To prevent conflicting changes, the current revision must be passed when updating the item variant. Ignored when creating an item variant. | required: true - name: name | type: string | description: Item variant name. - name: extendedFields | type: ExtendedFields | description: Extended fields. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). Return type: UpdateVariantResponse - name: variant | type: Variant | description: Updated item variant. - name: id | type: string | description: Item variant GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the item variant is updated. To prevent conflicting changes, the current revision must be passed when updating the item variant. Ignored when creating an item variant. - name: createdDate | type: string | description: Date and time the item variant was created. - name: updatedDate | type: string | description: Date and time the item variant was updated. - name: name | type: string | description: Item variant name. - name: extendedFields | type: ExtendedFields | description: Extended fields. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). - name: businessLocationIds | type: array | description: IDs of the business locations ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations.md) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations.md)) where these item variants are available. ``` ### Examples ### Update a variant ```curl curl -X PATCH https://www.wixapis.com/restaurants/item-variants/v1/variants/02042f01-58ab-441c-b5db-55f51c855a11?variantId=02042f01-58ab-441c-b5db-55f51c855a11 \ -H 'Authorization: ' \ --data-binary '{ "variant": { "id": "02042f01-58ab-441c-b5db-55f51c855a11", "revision": "1", "name": "Medium" }, "mask": { "paths": [ "name" ] } }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.items.VariantsService.updateVariant(_id, variant) Description: > **Note:** The Item Variants API only works with the Wix Restaurants Menus app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new). Updates an item variant. To update multiple item variants at once, use [Bulk Update Variants](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item-variant/bulk-update-variants.md). Each time an item variant is updated, its revision increments by 1. The existing revision must be included when updating the variant. This ensures you're working with the latest variant information, and it prevents unintended overwrites. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: variant, _id, variant.revision Method parameters: param name: _id | type: string | description: Item variant GUID. | required: true param name: variant | type: UpdateVariant | required: true - name: revision | type: string | description: Revision number, which increments by 1 each time the item variant is updated. To prevent conflicting changes, the current revision must be passed when updating the item variant. Ignored when creating an item variant. | required: true - name: name | type: string | description: Item variant name. - name: extendedFields | type: ExtendedFields | description: Extended fields. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). Return type: PROMISE - name: _id | type: string | description: Item variant GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the item variant is updated. To prevent conflicting changes, the current revision must be passed when updating the item variant. Ignored when creating an item variant. - name: _createdDate | type: Date | description: Date and time the item variant was created. - name: _updatedDate | type: Date | description: Date and time the item variant was updated. - name: name | type: string | description: Item variant name. - name: extendedFields | type: ExtendedFields | description: Extended fields. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). - name: businessLocationIds | type: array | description: IDs of the business locations ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations.md) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations.md)) where these item variants are available. ``` ### Examples ### Update a variant ```javascript import { itemVariants } from "@wix/restaurants"; const variantId = "02042f01-58ab-441c-b5db-55f51c855a11"; const variant = { _id: "02042f01-58ab-441c-b5db-55f51c855a11", revision: "1", name: "Medium" }; async function updateVariant() { const response = await itemVariants.updateVariant(variantId, variant); } /* Promise resolves to: * { * "_id": "02042f01-58ab-441c-b5db-55f51c855a11", * "revision": "2", * "name": "Medium" * } */ ``` ### updateVariant (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { itemVariants } from '@wix/restaurants'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { itemVariants }, // Include the auth strategy and host as relevant }); async function updateVariant(_id,variant) { const response = await myWixClient.itemVariants.updateVariant(_id,variant); }; ``` ---