About Item Modifiers

With the Item Modifiers API you can manage item modifiers. Item modifiers are extra menu items that can be applied additionally to the selected dish. For example, "Almond milk" could be an item modifier that can be applied to a coffee order. Item modifiers can be gathered into groups.

With the Item Modifiers API, you can:

  • Create, update and delete item modifiers.
  • Retrieve the information about the item modifier.

Before you begin

It's important to note the following point before starting to code:

  • The Item Modifiers API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the Wix App Market.

Use cases

Terminology

Menu: A list of food and beverage items available for purchase at a restaurant, café, or other dining establishment.

Did this help?

Menu: Sample Use Cases & Flows

This article presents possible use cases and corresponding sample flows that your app can support. It provides a useful starting point as you plan your app's implementation.

Sync pizza menus across all sites

If you have several pizzeria sites that use your app you might need to sync menu across those sites. For example, if there's a new item modifier called "Anchovies", this change also needs to be reflected on other sites.

To sync the pizza menu across all sites:

  1. Call Query Modifiers by the name field on the site where you created a new item modifier.
  2. Extract the modifiers.id, modifiers.name, and modifiers.type fields.
  3. Call Create Modifier for your other sites and pass the new item modifier to each.
  4. Call Update Section and add the new modifier ID to the section.itemIds array.
Did this help?

Item Modifiers: Supported Filters and Sorting

The following table shows field support for filters and sorting for the item modifier object:

FieldSupported FiltersSortable
id$eq, $ne, $in, $ninSortable
createdDate$eq, $ne, $gt, $lt, $gte, $lteSortable
updatedDate$eq, $ne, $gt, $lt, $gte, $lteSortable
name$eq, $ne, $in, $ninSortable

Related content: API Query Language, Query Modifiers.

Did this help?

Item Modifier Object


An item modifier is a type of menu item that serves as an addition to a menu item. Read more about item modifiers.

Properties
idstringRead-onlyformat GUID

Item modifier ID.


revisionintegerRead-onlyformat int64

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.


createdDatestringRead-onlyformat date-time

Date and time the item modifier was created.


updatedDatestringRead-onlyformat date-time

Date and time the item modifier was updated.


namestringminLength 1maxLength 40

Item modifier display name.


extendedFieldsExtendedFields

Extended fields.


inStockboolean

Whether the modifier is in stock. Default: true.

Did this help?

GET

List Modifiers


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Note: The Item Modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the Wix App Market.

Retrieves a list of up to 100 item modifiers.

Permissions
Manage Bookings Services and Settings
Manage Portfolio
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers

Query Params
modifierIdsArray <string>

IDs of the item modifiers to retrieve.


paging.limitintegerminimum 0maximum 200format int32

Maximum number of items to load.


paging.cursorstring

Pointer to the next or previous page in the list of results.

You can get the relevant cursor token from the pagingMetadata object in the previous call's response. Not relevant for the first request.

Response Object
modifiersArray <Modifier>

Retrieved item modifiers.


metadataMetadata

Metadata of the paginated results.

Retrieve all item modifiers
Request
cURL
curl -X GET https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers \ -H 'Authorization: <AUTH>'
Response
JSON
{ "modifiers": [ { "id": "02042f01-58ab-441c-b5db-55f51c855a62", "revision": "1", "createdDate": "2023-12-03T21:23:33.861Z", "updatedDate": "2023-12-03T21:23:33.861Z", "name": "Tofu", "type": "MODIFIER" }, { "id": "0517e5d4-8fd3-4b28-a743-68cf631e534a", "revision": "1", "createdDate": "2023-12-03T21:23:33.861Z", "updatedDate": "2023-12-03T21:23:33.861Z", "name": "Lettuce", "type": "MODIFIER" }, { "id": "1c1ca051-b460-4064-b7a2-5f9df47f2d3c", "revision": "1", "createdDate": "2023-12-03T21:23:33.861Z", "updatedDate": "2023-12-03T21:23:33.861Z", "name": "Cheese", "type": "MODIFIER" }, { "id": "352a961b-18b9-4f5e-8ec0-c6874f2ab496", "revision": "1", "createdDate": "2023-12-03T21:23:33.861Z", "updatedDate": "2023-12-03T21:23:33.861Z", "name": "Onions", "type": "MODIFIER" }, { "id": "3cf9df4d-580f-4630-b449-60e951405337", "revision": "1", "createdDate": "2023-12-03T21:23:33.861Z", "updatedDate": "2023-12-03T21:23:33.861Z", "name": "Eggs", "type": "MODIFIER" }, { "id": "f6222bdc-1ab2-4cd4-bf6c-8d4fca055d86", "revision": "1", "createdDate": "2023-12-03T21:23:33.861Z", "updatedDate": "2023-12-03T21:23:33.861Z", "name": "Salami", "type": "MODIFIER" } ], "pagingMetadata": { "count": 6, "cursors": {}, "hasNext": false } }
Did this help?

POST

Create Modifier


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Note: The Item Modifiers API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the Wix App Market.

Creates an item modifier.

To create multiple item modifiers at once, use Bulk Create Modifiers.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers

Body Params
modifierModifierRequired

Item modifier to create.

Response Object
modifierModifier

Created item modifier.

Create an item modifier
Request
cURL
curl -X POST https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers \ -H 'Authorization: <AUTH>' \ --data-binary '{ "modifier": { "name": "Tofu", "type": "MODIFIER" } }'
Response
JSON
{ "modifier": { "id": "cbbf4358-292c-4e9e-a820-7e75b4551120", "revision": "1", "createdDate": "2023-12-04T08:27:34.258Z", "updatedDate": "2023-12-04T08:27:34.258Z", "name": "Tofu", "type": "MODIFIER" } }
Event TriggersThis method triggers the following events:
Did this help?

GET

Get Modifier


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Note: The Item Modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the Wix App Market.

Retrieves an item modifier by ID.

Permissions
Manage Bookings Services and Settings
Manage Portfolio
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers/{modifierId}

Path Params
modifierIdstringRequired

ID of the item modifier to retrieve.

Response Object
modifierModifier

Retrieved item modifier.

Retrieve an item modifier
Request
cURL
curl -X GET https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers/02042f01-58ab-441c-b5db-55f51c855a62 \ -H 'Authorization: <AUTH>'
Response
JSON
{ "modifier": { "id": "02042f01-58ab-441c-b5db-55f51c855a62", "revision": "1", "createdDate": "2023-12-03T21:23:33.861Z", "updatedDate": "2023-12-03T21:23:33.861Z", "name": "Tofu", "type": "MODIFIER" } }
Did this help?

DELETE

Delete Modifier


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Note: The Item modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the Wix App Market. Deletes an item modifier.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
DELETE
https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers/{modifierId}

Path Params
modifierIdstringRequired

ID of the item modifier to delete.

Response Object
Returns an empty object.
Delete an item modifier
Request
cURL
curl -X DELETE https://wixapis.com/restaurants/item-modifiers/v1/modifiers/cbbf4358-292c-4e9e-a820-7e75b4551120 \ -H 'Authorization: <AUTH>'
Response
JSON
{}
Event TriggersThis method triggers the following events:
Did this help?

PATCH

Update Modifier


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Note: The Item Modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the Wix App Market.

Updates an item modifier.

To update multiple item modifiers at once, use Bulk Update Item Modifiers.

Each time an item modifier is updated, its revision increments by 1. The existing revision must be included when updating an item modifier. This ensures you're working with the latest item modifier information, and it prevents unintended overwrites.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
PATCH
https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers/{modifier.id}

Path Params
modifier.idstringRequired

Item modifier ID.

Body Params
modifierModifierRequired

Item Modifier with updated properties.

Response Object
modifierModifier

Updated item modifier.

Update an item modifier
Request
cURL
curl -X PATCH "https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers/02042f01-58ab-441c-b5db-55f51c855a11?modifierId=02042f01-58ab-441c-b5db-55f51c855a11" \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' \ --data-raw '{ "modifier": { "id": "02042f01-58ab-441c-b5db-55f51c855a11", "revision": "2", "name": "Tofu", } }'
Response
JSON
{ "modifier": { "id": "02042f01-58ab-441c-b5db-55f51c855a11", "revision": "3", "createdDate": "2023-12-04T08:12:01.896Z", "updatedDate": "2023-12-04T08:38:47.940Z", "name": "Tofu", "type": "MODIFIER" } }
Event TriggersThis method triggers the following events:
Did this help?

POST

Bulk Create Modifiers


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Note: The Item Modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the Wix App Market.

Creates multiple item modifiers.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/restaurants/item-modifiers/v1/bulk/modifiers/create

Body Params
modifiersArray <Modifier>RequiredmaxItems 100

List of item modifiers to create.


returnEntityboolean

Whether the created item modifiers are included in the response.
Default: false.

Response Object
resultsArray <BulkCreateModifierResult>

Information about the created item modifiers.


bulkActionMetadataBulkActionMetadata

Metadata for Bulk Create Modifiers API call.

Bulk create item modifiers
Request
cURL
curl -X POST https://www.wixapis.com/restaurants/item-modifiers/v1/bulk/modifiers/create \ -H 'Authorization: <AUTH>' --data-binary '{ "modifiers": [ { "name": "Tofu", "type": "MODIFIER" }, { "name": "Lettuce", "type": "MODIFIER" } ], "returnEntity": false }'
Response
JSON
{ "results": [ { "itemMetadata": { "id": "02042f01-58ab-441c-33db-55221c855c11", "originalIndex": 0, "success": true } }, { "itemMetadata": { "id": "02022fe1-58ab-ee1c-33db-45521c855e11", "originalIndex": 1, "success": true } } ], "bulkActionMetadata": { "totalSuccesses": 2, "totalFailures": 0, "undetailedFailures": 0 } }
Event TriggersThis method triggers the following events:
Did this help?

POST

Bulk Update Modifiers


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Note: The Item modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the Wix App Market.

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.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/restaurants/item-modifiers/v1/bulk/modifiers/update

Body Params
modifiersArray <MaskedModifier>RequiredminItems 1maxItems 100

List of item modifiers to update.


returnEntityboolean

Whether the updated item modifiers are included in the response.

Response Object
resultsArray <BulkUpdateModifierResult>minItems 1maxItems 100

Information about the updated item modifiers.


bulkActionMetadataBulkActionMetadata

Metadata for Bulk Update Modifiers API call.

Bulk update item modifiers
Request
cURL
curl -X POST https://www.wixapis.com/restaurants/item-modifiers/v1/bulk/modifiers/update \ -H 'Authorization: <AUTH>' \ --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 } }
Response
JSON
{}
Event TriggersThis method triggers the following events:
Did this help?

POST

Query Modifiers


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Note: The Item Modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the Wix App Market.

Retrieves a list of item modifiers given the provided paging, filtering, and sorting. Up to 100 item modifiers can be returned per request. For a detailed list of supported operations, see the Supported Filters and Sorting article. To learn how to query menus, see API Query Language.

Permissions
Manage Bookings Services and Settings
Manage Portfolio
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers/query

Body Params
queryQuery

Query options.

Response Object
modifiersArray <Modifier>

Retrieved item modifiers.


pagingMetadataPagingMetadata

Metadata of the paginated results.

Query item modifiers by name
Request
cURL
curl -X POST https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers/query \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' --data-raw '{ "query": { "sort": [], "filter": { "name": "Tofu" } } }'
Response
JSON
{ "modifiers": [ { "id": "02042f01-58ab-441c-b5db-55f51c855a10", "revision": "1", "createdDate": "2023-12-04T08:12:10.571Z", "updatedDate": "2023-12-04T08:12:10.571Z", "name": "Tofu", "type": "MODIFIER" } ], "pagingMetadata": { "count": 1, "cursors": {}, "hasNext": false } }
Did this help?

POST

Count Modifiers


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Note: The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the Wix App Market.

Retrieves the number of modifiers that match a specified filter.

If a filter isn't passed in the request, the endpoint returns the count of all modifiers.

Permissions
Manage Bookings Services and Settings
Manage Portfolio
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers/count

Body Params
filterstruct

Filter for counting modifiers.

Response Object
countinteger

Counted modifiers.

Errors
428Failed Precondition

There is 1 error with this status code:

See the entire list and learn more about Wix errors.

Did this help?

Item Modifier Created


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Permissions
Manage Bookings Services and Settings
Manage Portfolio
Manage Restaurants - all permissions
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.restaurants.menus.v1.item_modifier.


slugstring

Event name. Expected created.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


createdEventCreatedEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.restaurants.menus.v1.item_modifier_created", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

ItemModifierCreated
JSON
{ "id": "420819d4-80ee-4a15-aa52-5d08ae786fa5", "entityFqdn": "wix.restaurants.menus.v1.item_modifier", "slug": "created", "entityId": "0517e5d4-8fd3-4b28-a743-68cf631e534a", "createdEvent": { "entity": { "id": "0517e5d4-8fd3-4b28-a743-68cf631e534a", "revision": "1", "createdDate": "2024-01-14T12:42:50.267Z", "updatedDate": "2024-01-14T12:42:50.267Z", "name": "Tofu", "type": "MODIFIER" } }, "eventTime": "2024-01-14T12:42:50.316316270Z", "triggeredByAnonymizeRequest": false, "entityEventSequence": "1" }
Did this help?

Item Modifier Deleted


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Permissions
Manage Bookings Services and Settings
Manage Portfolio
Manage Restaurants - all permissions
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.restaurants.menus.v1.item_modifier.


slugstring

Event name. Expected deleted.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


deletedEventstruct

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.restaurants.menus.v1.item_modifier_deleted", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }
Did this help?

Item Modifier Updated


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Permissions
Manage Bookings Services and Settings
Manage Portfolio
Manage Restaurants - all permissions
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.restaurants.menus.v1.item_modifier.


slugstring

Event name. Expected updated.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


updatedEventUpdatedEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.restaurants.menus.v1.item_modifier_updated", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

ItemModifierUpdated
JSON
{ "id": "ce9768c8-5b98-4e66-be70-7b00d49e0c68", "entityFqdn": "wix.restaurants.menus.v1.item_modifier", "slug": "updated", "entityId": "f2409ddd-5408-48d7-bc8d-e1a10750ecfa", "updatedEvent": { "currentEntity": { "id": "f2409ddd-5408-48d7-bc8d-e1a10750ecfa", "revision": "2", "createdDate": "2024-01-14T12:41:35.833Z", "updatedDate": "2024-01-14T12:42:53.067Z", "name": "Tofu", "type": "MODIFIER" } }, "eventTime": "2024-01-14T12:42:53.076984076Z", "triggeredByAnonymizeRequest": false, "entityEventSequence": "2" }
Did this help?