> 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 # BulkUpdateModifiers # Package: items # Namespace: ModifiersService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/restaurants/menus/items/item-modifiers/bulk-update-modifiers.md ## Permission Scopes: Manage Restaurants - all permissions: SCOPE.RESTAURANTS.MEGA-SCOPES ## Introduction > **Note:** The Item modifier 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 multiple item modifiers at once. Each time an item modifier is updated, its revision increments by 1. The existing revision must be included when updating the item modifier. This ensures you're working with the latest item modifier information, and prevents unintended overwrites. --- ## REST API ### Schema ``` Method: bulkUpdateModifiers Description: > **Note:** The Item modifier 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 multiple item modifiers at once. Each time an item modifier is updated, its revision increments by 1. The existing revision must be included when updating the item modifier. This ensures you're working with the latest item modifier information, and prevents unintended overwrites. URL: https://www.wixapis.com/restaurants/menus/v1/bulk/modifiers/update Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: modifiers Method parameters: param name: modifiers | type: array | description: List of item modifiers to update. | required: true - name: modifier | type: Modifier | description: Item modifier to update. - name: name | type: string | description: Item modifier display 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: inStock | type: boolean | description: Whether the modifier is in stock. Default: `true`. - name: mask | type: | description: Explicit list of fields to update. param name: returnEntity | type: returnEntity | description: Whether the updated item modifiers are included in the response. Return type: BulkUpdateModifiersResponse - name: results | type: array | description: Information about the updated item modifiers. - name: itemMetadata | type: ItemMetadata | description: Metadata for the update of the item modifer. - name: id | type: string | description: Item GUID. Should always be available, unless it's impossible (for example, when failing to create an item). - name: originalIndex | type: integer | description: Index of the item within the request array. Allows for correlation between request and response items. - name: success | type: boolean | description: Whether the requested action was successful for this item. When `false`, the `error` field is populated. - name: error | type: ApplicationError | description: Details about the error in case of failure. - name: code | type: string | description: Error code. - name: description | type: string | description: Description of the error. - name: data | type: object | description: Data related to the error. - name: modifier | type: Modifier | description: Updated item modifier. - name: id | type: string | description: Item modifier GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the item modifier is updated. To prevent conflicting changes, the current revision must be passed when updating the item modifier.
Ignored when creating an item modifier. - name: createdDate | type: string | description: Date and time the item modifier was created. - name: updatedDate | type: string | description: Date and time the item modifier was updated. - name: name | type: string | description: Item modifier display 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: inStock | type: boolean | description: Whether the modifier is in stock. Default: `true`. - 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 modifiers are available. - name: bulkActionMetadata | type: BulkActionMetadata | description: Metadata for Bulk Update Modifiers API call. - name: totalSuccesses | type: integer | description: Number of items that were successfully processed. - name: totalFailures | type: integer | description: Number of items that couldn't be processed. - name: undetailedFailures | type: integer | description: Number of failures without details because detailed failure threshold was exceeded. ``` ### Examples ### Bulk update item modifiers ```curl curl -X POST https://www.wixapis.com/restaurants/item-modifiers/v1/bulk/modifiers/update \ -H 'Authorization: ' \ --data-binary '{ "modifiers": [ { "modifier": { "id": "02042f01-58ab-441c-33db-55221c855c11", "revision": "1", "name": "Tofu" } }, { "modifier": { "id": "02042f01-58ab-441c-33db-55221c855c12", "revision": "1", "name": "Lettuce" } } ], "returnEntity": false } { "results": [ { "itemMetadata": { "id": "02042f01-58ab-441c-33db-55221c855c11", "originalIndex": 0, "success": true, "error": null }, "modifier": null }, { "itemMetadata": { "id": "02022fe1-58ab-ee1c-33db-45521c855e12", "originalIndex": 1, "success": true, "error": null }, "modifier": null } ], "bulkActionMetadata": { "totalSuccesses": 2, "totalFailures": 0, "undetailedFailures": 0 } } ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.items.ModifiersService.bulkUpdateModifiers(modifiers, options) Description: > **Note:** The Item modifier 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 multiple item modifiers at once. Each time an item modifier is updated, its revision increments by 1. The existing revision must be included when updating the item modifier. This ensures you're working with the latest item modifier information, and 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: modifiers Method parameters: param name: modifiers | type: array | description: List of item modifiers to update. | required: true - name: modifier | type: Modifier | description: Item modifier to update. - name: name | type: string | description: Item modifier display 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: inStock | type: boolean | description: Whether the modifier is in stock. Default: `true`. - name: mask | type: array | description: Explicit list of fields to update. param name: options | type: BulkUpdateModifiersOptions none - name: returnEntity | type: boolean | description: Whether the updated item modifiers are included in the response. Return type: PROMISE - name: results | type: array | description: Information about the updated item modifiers. - name: itemMetadata | type: ItemMetadata | description: Metadata for the update of the item modifer. - name: _id | type: string | description: Item GUID. Should always be available, unless it's impossible (for example, when failing to create an item). - name: originalIndex | type: integer | description: Index of the item within the request array. Allows for correlation between request and response items. - name: success | type: boolean | description: Whether the requested action was successful for this item. When `false`, the `error` field is populated. - name: error | type: ApplicationError | description: Details about the error in case of failure. - name: code | type: string | description: Error code. - name: description | type: string | description: Description of the error. - name: data | type: object | description: Data related to the error. - name: modifier | type: Modifier | description: Updated item modifier. - name: _id | type: string | description: Item modifier GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the item modifier is updated. To prevent conflicting changes, the current revision must be passed when updating the item modifier.
Ignored when creating an item modifier. - name: _createdDate | type: Date | description: Date and time the item modifier was created. - name: _updatedDate | type: Date | description: Date and time the item modifier was updated. - name: name | type: string | description: Item modifier display 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: inStock | type: boolean | description: Whether the modifier is in stock. Default: `true`. - 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 modifiers are available. - name: bulkActionMetadata | type: BulkActionMetadata | description: Metadata for Bulk Update Modifiers API call. - name: totalSuccesses | type: integer | description: Number of items that were successfully processed. - name: totalFailures | type: integer | description: Number of items that couldn't be processed. - name: undetailedFailures | type: integer | description: Number of failures without details because detailed failure threshold was exceeded. ``` ### Examples ### Bulk update item modifiers ```javascript import { itemModifiers } from "@wix/restaurants"; const modifiers = [ { modifier: { _id: "02042f01-58ab-441c-33db-55221c855c11", revision: "1", name: "Tofu" } }, { modifier: { _id: "02042f01-58ab-441c-33db-55221c855c12", revision: "1", name: "Lettuce" } } ]; const options = { returnEntity: false }; async function bulkUpdateModifiers() { const response = await itemModifiers.bulkUpdateModifiers(modifiers, options); } /* Promise resolves to: * { * "results": [ * { * "itemMetadata": { * "_id": "02042f01-58ab-441c-33db-55221c855c11", * "originalIndex": 0, * "success": true * }, * "modifier": { * "_id": "02042f01-58ab-441c-33db-55221c855c11", * "revision": "2", * "name": "Tofu", * "inStock": true * } * }, * { * "itemMetadata": { * "_id": "02042f01-58ab-441c-33db-55221c855c12", * "originalIndex": 1, * "success": true * }, * "modifier": { * "_id": "02042f01-58ab-441c-33db-55221c855c12", * "revision": "2", * "name": "Lettuce", * "inStock": true * } * } * ], * "bulkActionMetadata": { * "totalSuccesses": 2, * "totalFailures": 0 * } * } */ ``` ### bulkUpdateModifiers (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 { itemModifiers } from '@wix/restaurants'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { itemModifiers }, // Include the auth strategy and host as relevant }); async function bulkUpdateModifiers(modifiers,options) { const response = await myWixClient.itemModifiers.bulkUpdateModifiers(modifiers,options); }; ``` ---