Core Types
Dish
The main dish object returned by SmartMenu search and dish queries.DishNutrition
Nutrition facts for a dish, as returned by theDish type.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
This API is currently in Beta
Complete reference for SmartMenu API data types
type Dish {
id: ID!
name: String!
description: String
imageUrl: String
servingSize: String
servingSizeInGrams: Float
createdAt: DateTime
updatedAt: DateTime
chainProductId: String
"""
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
}
| Field | Type | Description |
|---|---|---|
id | ID! | EveryBite unique identifier |
name | String! | Dish name |
description | String | Dish description |
imageUrl | String | URL to dish image |
servingSize | String | Human-readable serving size (e.g., “1 bowl”) |
servingSizeInGrams | Float | Serving size in grams |
createdAt | DateTime | When the dish was created |
updatedAt | DateTime | Last update timestamp |
chainProductId | String | Read-only. OLO global product ID — identical for the same dish across all locations in the chain |
nutrition | DishNutrition | Grouped nutrition information for the dish |
displayOnWidget | Boolean | Whether the dish is visible in the SmartMenu widget |
isCustomizable | Boolean! | Whether the dish supports ingredient-level customization |
cuisines | [Cuisine]! | Cuisines associated with the dish |
allergens | [Allergen]! | Dish-level allergens |
diets | [Diet]! | Diet classifications for the dish |
preparationTypes | [PreparationType]! | How the dish is prepared (grilled, fried, etc.) |
styles | [Style]! | Style tags for the dish |
addedIngredients | [Ingredient]! | Ingredient list used for nutrition and allergens |
menu | Menu | Menu this dish belongs to |
originalCategoryName | String | Original menu category name from the partner system |
Dish type.
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
}
| Field | Type | Unit | Description |
|---|---|---|---|
caloriesTotal | Float | kcal | Total calories |
caloriesFromFat | Float | kcal | Calories from fat |
fatTotal | Float | g | Total fat |
fatSaturated | Float | g | Saturated fat |
fatTrans | Float | g | Trans fat |
cholesterol | Float | mg | Cholesterol |
sodium | Float | mg | Sodium |
carbohydrates | Float | g | Total carbohydrates |
dietaryFiber | Float | g | Dietary fiber |
sugar | Float | g | Sugars |
protein | Float | g | Protein |
vitaminA | Float | IU | Vitamin A |
vitaminC | Float | mg | Vitamin C |
calcium | Float | mg | Calcium |
iron | Float | mg | Iron |
type Allergen {
id: ID!
name: String!
description: String
confidence: Float
}
| Field | Type | Description |
|---|---|---|
id | ID! | Allergen identifier |
name | String! | Allergen name |
description | String | Human-readable description |
confidence | Float | Confidence score (0.0 - 1.0) |
type Diet {
id: ID!
name: String!
description: String
confidence: Float
}
| Field | Type | Description |
|---|---|---|
id | ID! | Diet identifier |
name | String! | Diet name |
description | String | Human-readable description |
confidence | Float | Confidence score (0.0 - 1.0) |
type Ingredient {
id: ID!
name: String!
brand: String
description: String
supplier: String
caloriesTotalPer100g: String
caloriesFromFatPer100g: String
fatTotalPer100g: String
fatSaturatedPer100g: String
fatTransPer100g: String
cholesterolPer100g: String
carbohydratesPer100g: String
sugarPer100g: String
proteinPer100g: String
vitaminAPer100g: String
vitaminCPer100g: String
calciumPer100g: String
ironPer100g: String
containsEgg: Boolean
containsFish: Boolean
containsMilk: Boolean
containsSesame: Boolean
containsShellfish: Boolean
containsWheat: Boolean
containsPeanut: Boolean
containsSoy: Boolean
containsTreeNut: Boolean
isIncluded: Boolean!
isKeyIngredient: Boolean!
quantity: String!
unit: String!
amountGrams: Float!
}
| Field | Type | Description |
|---|---|---|
id | ID! | Ingredient identifier |
name | String! | Ingredient name |
brand | String | Brand name (if available) |
description | String | Ingredient description |
supplier | String | Ingredient supplier |
caloriesTotalPer100g | String | Calories per 100g |
caloriesFromFatPer100g | String | Calories from fat per 100g |
fatTotalPer100g | String | Total fat per 100g |
fatSaturatedPer100g | String | Saturated fat per 100g |
fatTransPer100g | String | Trans fat per 100g |
cholesterolPer100g | String | Cholesterol per 100g |
carbohydratesPer100g | String | Carbohydrates per 100g |
sugarPer100g | String | Sugar per 100g |
proteinPer100g | String | Protein per 100g |
vitaminAPer100g | String | Vitamin A per 100g |
vitaminCPer100g | String | Vitamin C per 100g |
calciumPer100g | String | Calcium per 100g |
ironPer100g | String | Iron per 100g |
containsEgg | Boolean | Whether the ingredient contains egg |
containsFish | Boolean | Whether the ingredient contains fish |
containsMilk | Boolean | Whether the ingredient contains milk |
containsSesame | Boolean | Whether the ingredient contains sesame |
containsShellfish | Boolean | Whether the ingredient contains shellfish |
containsWheat | Boolean | Whether the ingredient contains wheat |
containsPeanut | Boolean | Whether the ingredient contains peanuts |
containsSoy | Boolean | Whether the ingredient contains soy |
containsTreeNut | Boolean | Whether the ingredient contains tree nuts |
isIncluded | Boolean! | Whether this ingredient is included in the base configuration |
isKeyIngredient | Boolean! | Whether this is a featured/key ingredient |
quantity | String! | Quantity (human readable) |
unit | String! | Quantity unit (e.g., “oz”, “g”) |
amountGrams | Float! | Quantity converted to grams |
type WidgetCategory {
name: String!
count: Int
ordinal: Int
}
| Field | Type | Description |
|---|---|---|
name | String! | Category name |
count | Int | Number of dishes in this category |
ordinal | Int | Display order in the UI |
enum AllergenType {
DAIRY
EGG
FISH
SHELLFISH
TREE_NUT
PEANUT
WHEAT
SOY
SESAME
}
| Value | Description |
|---|---|
DAIRY | Milk and milk products |
EGG | Eggs and egg products |
FISH | Fish (cod, salmon, etc.) |
SHELLFISH | Shellfish (shrimp, crab, etc.) |
TREE_NUT | Tree nuts (almonds, walnuts, etc.) |
PEANUT | Peanuts |
WHEAT | Wheat and wheat products |
SOY | Soy and soy products |
SESAME | Sesame seeds |
enum DietType {
VEGAN
VEGETARIAN
PESCATARIAN
}
| Value | Description |
|---|---|
VEGAN | No animal products |
VEGETARIAN | No meat or fish |
PESCATARIAN | Fish but no meat |
enum MatchStatus {
MATCH
ALMOST_MATCH
NOT_MATCH
}
| Value | Description |
|---|---|
MATCH | Fully meets all preferences |
ALMOST_MATCH | Partial match with exceptions |
NOT_MATCH | Does not meet critical preferences |
input PreferencesInput {
diets: [DietType!]
excludeAllergens: [AllergenType!]
excludeIngredients: [String!]
includeIngredients: [String!]
calorieRange: RangeInput
nutrientRanges: NutrientRangesInput
nutrientPreferences: [NutrientPreference!]
}
input RangeInput {
min: Int
max: Int
}
input NutrientRangesInput {
protein: RangeInput
carbohydrates: RangeInput
fatTotal: RangeInput
}
input PaginationInput {
first: Int # Number of results (max 100)
after: String # Cursor from previous page
}
input StartSessionInput {
"""
Partner guest identifier.
"""
guestId: String
"""
EveryBite Passport identifier.
"""
passportId: String
"""
Guest email address.
"""
email: String
}
type SearchResult {
matches: [SearchMatch!]!
almostMatches: [SearchMatch!]!
notMatches: [SearchMatch!]!
counts: SearchCounts!
pageInfo: PageInfo!
}
type SearchMatch {
dish: Dish!
matchStatus: MatchStatus!
matchReasons: [String!]
}
type SearchCounts {
matches: Int!
almostMatches: Int!
notMatches: Int!
total: Int!
}
type PageInfo {
hasNextPage: Boolean!
hasPreviousPage: Boolean!
startCursor: String
endCursor: String
}
type SmartMenuFilterOptions {
diets: [WidgetDietaryPreference!]!
allergens: [WidgetAllergen!]!
nutrients: [SmartMenuNutrientPreference!]!
}
type Session {
"""
Stable, server-generated session identifier.
"""
sessionId: String!
}
"2026-01-19T11:00:00.000Z"
"dish_001"
"nutr_abc123"
Was this page helpful?
