Get the live menu
GET /items/getFullMenu
The restaurant's whole menu as customers see it now: categories, items, sizes, option groups and options, with what is sold out. Everything you need to build an order is here: an item's id, its sizes' id, and each option group's linkageID with its options' id.
Read it at the start of a session and again when an order is refused for an unknown item; it can be large (a few MB for a big menu).
Parameters
Your key's restaurant.
Always 1.
Responses
- 200
The menu.
{ "response": MenuFeed } - 401
The API user or token is missing or wrong.
{ "response": string }Example
{"response":"Unauthorized"} - 403
The key may not make this call, or not for this restaurant or order.
{ "response": string } - 429
Over the rate limit. Wait
Retry-Afterseconds.{ "response": string }Header
Retry-Afterinteger Seconds to wait.
Operation ID getMenuFeed
Example request
curl -G "https://apiv2.blizzfull.com/items/getFullMenu" \
-d "restaurantID=$RESTAURANT_ID" \
-d "locationID=1" \
-H "X-Blizzfull-API-User: $BLIZZFULL_API_USER" \
-H "X-Blizzfull-API-Token: $BLIZZFULL_API_TOKEN"const query = new URLSearchParams({
restaurantID: process.env.RESTAURANT_ID,
locationID: '1',
});
const res = await fetch(`https://apiv2.blizzfull.com/items/getFullMenu?${query}`, {
headers: {
'X-Blizzfull-API-User': process.env.BLIZZFULL_API_USER,
'X-Blizzfull-API-Token': process.env.BLIZZFULL_API_TOKEN,
},
});
if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`);
const { response } = await res.json();import os
import requests
res = requests.get(
"https://apiv2.blizzfull.com/items/getFullMenu",
headers={
"X-Blizzfull-API-User": os.environ["BLIZZFULL_API_USER"],
"X-Blizzfull-API-Token": os.environ["BLIZZFULL_API_TOKEN"],
},
params={"restaurantID": os.environ["RESTAURANT_ID"], "locationID": 1},
timeout=30,
)
res.raise_for_status()
response = res.json()["response"]{
"response": [
{
"id": "26900",
"name": "Combos",
"shortName": "combos",
"description": "",
"parent": "0",
"position": "0",
"specialType": null,
"active": true,
"displayOnly": false,
"secret": false,
"isMenu": false,
"availableTimeData": null,
"availableFrom": null,
"availableUntil": null,
"media": null,
"children": null,
"items": [
{
"id": 166519,
"name": "Hungry Combo",
"description": "Tenders or wings, a flavor, a side and a drink.",
"category": "26900",
"categoryName": "Combos",
"categoryShortName": "combos",
"price": "16.50",
"inactive": false,
"inactiveEnds": null,
"sizeable": false,
"sizes": null,
"media": null,
"spicy": false,
"vegetarian": false,
"gf": false,
"keto": false,
"alcoholic": false,
"taxExempt": false,
"orderTypeRestriction": "",
"options": [],
"fooditems": [
{
"id": 221801,
"name": "Hungry Combo",
"description": "",
"options": [
{
"linkageID": "216385",
"id": "97001",
"componentID": "221801",
"title": "Choose a style",
"phrase": "",
"kitchenname": "",
"type": "TYPE_SINGLE_SELECT",
"required": true,
"position": "1",
"defaultIndex": 0,
"extraProps": null,
"sizeEffects": null,
"items": [
{
"id": "441415",
"name": "6 Tenders",
"cost": 0,
"default": 0,
"unavailableUntil": "0",
"position": 1,
"media": null,
"subOptions": null
},
{
"id": "441416",
"name": "8 Wings",
"cost": 0,
"default": 0,
"unavailableUntil": "0",
"position": 2,
"media": null,
"subOptions": null
}
]
},
{
"linkageID": "216386",
"id": "97002",
"componentID": "221801",
"title": "Choose a flavor",
"phrase": "",
"kitchenname": "",
"type": "TYPE_SINGLE_SELECT",
"required": true,
"position": "2",
"defaultIndex": 0,
"extraProps": null,
"sizeEffects": null,
"items": [
{
"id": "441417",
"name": "Lemon Pepper",
"cost": 0,
"default": 0,
"unavailableUntil": "0",
"position": 1,
"media": null,
"subOptions": null
},
{
"id": "441418",
"name": "Mango Habanero",
"cost": 0.5,
"default": 0,
"unavailableUntil": "0",
"position": 2,
"media": null,
"subOptions": null
}
]
}
]
}
]
}
]
}
]
}









