Menu
list_menu read
Section titled “list_menu ”List the restaurant’s menu — categories with their items (name, price, availability, menu number). Use this to see what’s on the menu before editing, or to answer ‘what’s on our menu / what’s 86’d’. For a single dish use find_menu_item.
Required scope: menu.read
| Parameter | Type | Required | Description |
|---|---|---|---|
brand |
string | no | Brand slug. Optional in JWT mode; required in multi-brand API-key mode. |
includeUnavailable |
boolean | no | Include 86’d / unavailable items. Default true. |
find_menu_item read
Section titled “find_menu_item ”Find menu items by name (case-insensitive, partial match). Use to locate a dish before editing, or to disambiguate when a name matches several items. Returns each match’s id, name, price, and availability.
Required scope: menu.read
| Parameter | Type | Required | Description |
|---|---|---|---|
brand |
string | no | Brand slug. Optional in JWT mode. |
query |
string | yes | Dish name or part of it (e.g. “calamari”). |
set_item_availability write
Section titled “set_item_availability ”86 a dish or bring it back — set a menu item available or unavailable. Use when an owner says ‘we’re out of the branzino’ (available:false) or ‘the special is back on’ (available:true). `item` can be the dish NAME or its id; an ambiguous name returns the candidates without changing anything.
Required scope: menu.write
| Parameter | Type | Required | Description |
|---|---|---|---|
brand |
string | no | Brand slug. Optional in JWT mode. |
item |
string | yes | Dish name (e.g. “Calamari”) or 24-char item id. |
available |
boolean | yes | true = on the menu; false = 86’d / unavailable. |
idempotencyKey |
string | no |
set_item_price write
Section titled “set_item_price ”Change a menu item’s price. Use when an owner says ‘make the margherita 18’ or ‘the ribeye is now 46’. `item` is the dish NAME or id; ambiguous names return the candidates without changing anything.
Required scope: menu.write
| Parameter | Type | Required | Description |
|---|---|---|---|
brand |
string | no | Brand slug. Optional in JWT mode. |
item |
string | yes | Dish name or 24-char item id. |
price |
number | yes | New price (same currency as the menu). |
idempotencyKey |
string | no |
set_item_image write
Section titled “set_item_image ”Set a menu item’s photo from a public image URL. Use when an owner gives you a link to a dish photo. We download it, validate + host it on our CDN, and set it on the item. `item` is the dish NAME or id.
Required scope: menu.write
| Parameter | Type | Required | Description |
|---|---|---|---|
brand |
string | no | Brand slug. Optional in JWT mode. |
item |
string | yes | Dish name or 24-char item id. |
imageUrl |
string | yes | Direct, public URL to a JPEG/PNG/WebP image (≤10MB). |
idempotencyKey |
string | no |
add_menu_item write
Section titled “add_menu_item ”Add a new dish to the menu. Use when an owner says ‘add a new dish: Tiramisu, 12, in Desserts’. Requires a name + price. Optionally place it in a category BY NAME (created-if-missing is NOT done — the category must already exist; use list_menu to see categories). Gets the next menu number automatically.
Required scope: menu.write
| Parameter | Type | Required | Description |
|---|---|---|---|
brand |
string | no | Brand slug. Optional in JWT mode. |
name |
string | yes | Dish name. |
price |
number | yes | Price. |
description |
string | no | Optional dish description. |
categoryName |
string | no | Optional category name to file it under (must already exist). |
available |
boolean | no | On the menu now? Default true. |
imageUrl |
string | no | Optional public image URL — hosted on our CDN, same as set_item_image. |
idempotencyKey |
string | no |