> ## Documentation Index
> Fetch the complete documentation index at: https://docs.everybite.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dishes

> Get detailed dish information including nutrition and allergens

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

```graphql theme={null}
query GetDish {
  dish(id: "DISH_ID") {
    id
    chainProductId
    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
  }
}
```

<Info>
  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.
</Info>

## Parameters

| Parameter | Type | Required | Description                                   |
| --------- | ---- | -------- | --------------------------------------------- |
| `id`      | ID   | Yes      | Opaque EveryBite dish ID returned by the API. |

## Response Types

### Dish

```graphql theme={null}
type Dish {
  id: ID!
  chainProductId: String
  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

```graphql theme={null}
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

```graphql theme={null}
query DishExample {
  dish(id: "DISH_ID") {
    id
    name
    description
    originalCategoryName
    nutrition {
      caloriesTotal
      protein
      fatTotal
    }
    allergens {
      id
      name
      confidence
    }
    diets {
      id
      name
    }
  }
}
```

```json theme={null}
{
  "data": {
    "dish": {
      "id": "dish_001",
      "chainProductId": "olo_prod_78901",
      "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" }
      ]
    }
  }
}
```
