Skip to content

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 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”).

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

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 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 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