Get a menu item
Try itReturns one menu item with its add-ons.
https:/ / tablebuddy.radioworkflow.com/ api/ v1/ menu/ items/ {item_id}One item with its add-on groups and the add-ons in each, as the POS offers them. No cost price and no recipe: those are the stockroom's.
Authentication
Authorization: Bearer <key>, or the same key in x-api-key. A key acts as the person who made it, cut down to this endpoint’s scope, and never as an owner. How keys workpos.use) or Edit the menu (menu.manage)Request headers
AuthorizationrequiredBearer <key>. x-api-key: <key> works too; Authorization wins when both are sent.Idempotency-KeyignoredPath parameters
item_idstringidrequiredQuery parameters
None. A query string is answered 422 invalid_request.
Response
Only the add-ons in use are listed; one switched off is left out.
Text in this answer can be typed in another system the restaurant uses (Toast) and synced in.
currencystringISO 4217minor_digitsinteger0–3menu_itemobjectmenu_item.idstringidmenu_item.category_idstringidmenu_item.namestringmenu_item.descriptionstringnullablemenu_item.codestringnullablemenu_item.priceintegerminor unitsmenu_item.is_availablebooleanmenu_item.is_activebooleanmenu_item.food_typestringnullablemenu_item.stationstringnullablemenu_item.prep_minutesintegernullablemenu_item.addon_groupsarray of objectmenu_item.addon_groups[].groupobjectmenu_item.addon_groups[].group.idstringidmenu_item.addon_groups[].group.namestringmenu_item.addon_groups[].group.min_selectintegermenu_item.addon_groups[].group.max_selectintegermenu_item.addon_groups[].group.addonsarray of objectmenu_item.addon_groups[].group.addons[].idstringidaddon_ids.menu_item.addon_groups[].group.addons[].namestringmenu_item.addon_groups[].group.addons[].priceintegerminor unitsAn answer may gain fields within v1: ignore the ones you do not know. Versioning
Response headers
request-idalwaysCache-Controlalwaysno-store: an answer is never cached.RateLimit-Limit, RateLimit-Remaining, RateLimit-Resetonce the key is knownx-error-codeon an errorerror.code in the body.Retry-Afteron a 429WWW-Authenticateon a 401, and a 403 insufficient_scopeErrors
insufficient_scopeFix: Scopes are fixed when a key is made: make a new key with the scope.
issuer_access_endedFix: Make a new key from an active account.
issuer_permission_changedFix: Ask an owner to restore the permission, or make a new key from an account that holds it.
permission_requiredFix: Use a key with the named scope, from a creator who holds the named permission.
not_foundFix: Find it with list-menu-items.
invalid_requestFix: Fix the named fields. Nothing was done, and an Idempotency-Key is not used up.
missing_api_keyNo Authorization: Bearer header and no x-api-key header.invalid_api_keyThe key is unknown, revoked or expired (answered alike).rate_limitedOver the key's 60 units a minute, or over 30 unknown keys a minute from one network (an address; an IPv6 caller's /64).internal_errorSomething failed on our side. Nothing kept the Idempotency-Key.curl -X GET "$TABLEBUDDY_URL/api/v1/menu/items/MENU_ITEM_ID" \ -H "Authorization: Bearer $TABLEBUDDY_API_KEY"
{
"currency": "USD",
"minor_digits": 2,
"menu_item": {
"id": "cmg5x2b4f0002tb2jd8k1q7wz",
"category_id": "cmg5x2b4f0001tb2jx0v5n3ps",
"name": "Cedar-plank salmon",
"description": "Maple glaze, charred lemon",
"code": "E7",
"price": 2600,
"is_available": true,
"is_active": true,
"food_type": null,
"station": "Grill",
"prep_minutes": 18,
"addon_groups": [
{
"group": {
"id": "cmg5x2b4f0003tb2jm6c2r9ua",
"name": "Sides",
"min_select": 0,
"max_select": 2,
"addons": [
{
"id": "cmg5x2b4f0004tb2jf1s8t0yb",
"name": "Garlic mash",
"price": 400
}
]
}
}
]
}
}