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:
It's important to note the following point before starting to code:
Menu: A list of food and beverage items available for purchase at a restaurant, café, or other dining establishment.
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.
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:
name
field on the site where you created a new item modifier.modifiers.id
, modifiers.name
, and modifiers.type
fields.section.itemIds
array.The following table shows field support for filters and sorting for the item modifier object:
Field | Supported Filters | Sortable |
---|---|---|
id | $eq , $ne , $in , $nin | Sortable |
createdDate | $eq , $ne , $gt , $lt , $gte , $lte | Sortable |
updatedDate | $eq , $ne , $gt , $lt , $gte , $lte | Sortable |
name | $eq , $ne , $in , $nin | Sortable |
Related content: API Query Language, Query Modifiers.
An item modifier is a type of menu item that serves as an addition to a menu item. Read more about item modifiers.
Item modifier ID.
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.
Date and time the item modifier was created.
Date and time the item modifier was updated.
Item modifier display name.
Extended fields.
Whether the modifier is in stock.
Default: true
.
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.
IDs of the item modifiers to retrieve.
Maximum number of items to load.
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.
Retrieved item modifiers.
Metadata of the paginated results.
curl -X GET https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers \
-H 'Authorization: <AUTH>'
{
"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
}
}
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.
You can only call this method when authenticated as a Wix app or Wix user identity.
Item modifier to create.
Created item modifier.
curl -X POST https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers \
-H 'Authorization: <AUTH>' \
--data-binary '{
"modifier": {
"name": "Tofu",
"type": "MODIFIER"
}
}'
{
"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"
}
}
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.
ID of the item modifier to retrieve.
Retrieved item modifier.
curl -X GET https://www.wixapis.com/restaurants/item-modifiers/v1/modifiers/02042f01-58ab-441c-b5db-55f51c855a62 \
-H 'Authorization: <AUTH>'
{
"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"
}
}
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.
You can only call this method when authenticated as a Wix app or Wix user identity.
ID of the item modifier to delete.
curl -X DELETE https://wixapis.com/restaurants/item-modifiers/v1/modifiers/cbbf4358-292c-4e9e-a820-7e75b4551120 \
-H 'Authorization: <AUTH>'
{}
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.
You can only call this method when authenticated as a Wix app or Wix user identity.
Item modifier ID.
Item Modifier with updated properties.
Updated item modifier.
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",
}
}'
{
"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"
}
}
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.
You can only call this method when authenticated as a Wix app or Wix user identity.
List of item modifiers to create.
Whether the created item modifiers are included in the response.
Default: false
.
Information about the created item modifiers.
Metadata for Bulk Create Modifiers API call.
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
}'
{
"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
}
}
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.
You can only call this method when authenticated as a Wix app or Wix user identity.
List of item modifiers to update.
Whether the updated item modifiers are included in the response.
Information about the updated item modifiers.
Metadata for Bulk Update Modifiers API call.
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
}
}
{}
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.
Query options.
Retrieved item modifiers.
Metadata of the paginated results.
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"
}
}
}'
{
"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
}
}
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.
Filter for counting modifiers.
Counted modifiers.
There is 1 error with this status code:
See the entire list and learn more about Wix errors.
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.restaurants.menus.v1.item_modifier
.
Event name. Expected created
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"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
}
}
}
{
"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"
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.restaurants.menus.v1.item_modifier
.
Event name. Expected deleted
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"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
}
}
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.restaurants.menus.v1.item_modifier
.
Event name. Expected updated
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"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
}
}
}
{
"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"
}