When a guest taps on a menu item, they expect the full picture: complete nutrition facts, allergen warnings, and dietary badges. The dish query returns a single dish by ID with all the fields you need to build a rich detail view.
Query
query GetDish {
dish(id: "DISH_ID") {
id
name
description
imageUrl
nutrition {
caloriesTotal
caloriesFromFat
fatTotal
fatSaturated
fatTrans
cholesterol
sodium
dietaryFiber
carbohydrates
sugar
protein
vitaminA
vitaminC
calcium
iron
}
servingSize
servingSizeInGrams
createdAt
updatedAt
isCustomizable
cuisines {
id
name
parent {
id
name
}
}
allergens {
id
name
description
confidence
}
diets {
id
name
description
confidence
}
preparationTypes {
id
name
confidence
}
styles {
id
name
description
confidence
}
addedIngredients {
id
name
brand
description
supplier
amountGrams
containsEgg
containsFish
containsMilk
containsSesame
containsShellfish
containsWheat
containsPeanut
containsSoy
containsTreeNut
}
menu {
id
name
}
originalCategoryName
}
}
This query requires an API key scoped to your chain in the Authorization header. Optionally include X-Session-ID for analytics; you do not pass chain or session in the GraphQL query itself.
Parameters
| Parameter | Type | Required | Description |
|---|
id | ID | Yes | Opaque EveryBite dish ID returned by the API. |
Response Types
Dish
type Dish {
id: ID!
name: String!
description: String
imageUrl: String
servingSize: String
servingSizeInGrams: Float
createdAt: DateTime
updatedAt: DateTime
"""
Grouped nutrition information for this dish.
"""
nutrition: DishNutrition
"""
Controls whether this dish should be displayed in the widget.
"""
displayOnWidget: Boolean
"""
Indicates whether the dish has any ingredients and can be customized.
"""
isCustomizable: Boolean!
"""
A list of dish cuisines.
"""
cuisines: [Cuisine]!
"""
A list of dish allergens.
"""
allergens: [Allergen]!
"""
A list of dish diets.
"""
diets: [Diet]!
"""
A list of dish preparation types.
"""
preparationTypes: [PreparationType]!
"""
A list of dish styles.
"""
styles: [Style]!
"""
A list of added ingredients.
"""
addedIngredients: [Ingredient]!
"""
Dish menu.
"""
menu: Menu
"""
Original category name from the menu (denormalized for display/filtering).
"""
originalCategoryName: String
}
DishNutrition
type DishNutrition {
caloriesTotal: Float
caloriesFromFat: Float
fatTotal: Float
fatSaturated: Float
fatTrans: Float
cholesterol: Float
sodium: Float
carbohydrates: Float
dietaryFiber: Float
sugar: Float
protein: Float
vitaminA: Float
vitaminC: Float
calcium: Float
iron: Float
}
Example
query DishExample {
dish(id: "DISH_ID") {
id
name
description
originalCategoryName
nutrition {
caloriesTotal
protein
fatTotal
}
allergens {
id
name
confidence
}
diets {
id
name
}
}
}
{
"data": {
"dish": {
"id": "dish_001",
"name": "Seasonal Harvest Salad",
"description": "Mixed greens, candied pecans, goat cheese, dried cranberries, citrus vinaigrette",
"originalCategoryName": "Salads",
"nutrition": {
"caloriesTotal": 400,
"protein": 25,
"fatTotal": 18
},
"allergens": [
{ "id": "allergen_dairy", "name": "Dairy", "confidence": 1.0 },
{ "id": "allergen_tree_nut", "name": "Tree Nut", "confidence": 1.0 }
],
"diets": [
{ "id": "diet_vegetarian", "name": "Vegetarian" }
]
}
}
}