This guide will be removed on April 29, 2022. Please use our new, easier-to-use Toast technical documentation site. All updated content is on the new site.

Raw menu JSON versus resolved menu JSON

There are two different logical representations of a menu. The configuration API currently operates on a raw menu structure in which MenuOptionGroups appear at any level as described above, and inheritance flags are present and necessary to determine which options are available for which items.

In a resolved menu structure, inheritance information has been consulted, MenuOptionGroups have been propagated down to each item to which they apply, and inheritance flags are withheld. This is a more usable structure, and will eventually be supported by our APIs. For now, best practice for partners is to derive this resolved structure from the raw configuration API results. If Toast provides you with a JSON Menu export for testing purposes, it will be in this format.

The following example demonstrates a simple raw menu structure. If you need a JSON export of a restaurant menu for testing, contact Toast integration support. Note that these exports will include pricing information, which is not yet available through the API. Actual API responses will also include an additional externalId field, which is omitted here. For more information, see External identifiers.

[
  {
    "entityType":"Menu",
    "name":"Lunch Menu",
    "guid":"a2a0b78a-a480-4adb-bbac-b32a7e0c2a12",
    "groups":[
      {
        "entityType":"MenuGroup",
        "name":"A Twist On Fries",
        "guid":"578c5e48-7d99-438f-be61-f4f972569ce6",
        "subgroups":[],
        "optionGroups": [
          {
            "entityType":"MenuOptionGroup",
            "name":"Size",
            "guid":"f63f8bd3-9764-4b1b-b3c9-40c8c104b42b",
            "items":[
              {
                "entityType":"MenuItem",
                "name":"Half Basket",
                "guid":"3c043245-3b4f-4e87-a6c9-6eeeb073518a",
                "optionGroups":[]
              },
              {
                "entityType":"MenuItem",
                "name":"Full Basket",
                "guid":"68343381-290b-4410-9b8a-c8d63d9c9e1a",
                "optionGroups":[]
              }
            ]
          }
        ]
        "items":[
          {
            "entityType":"MenuItem",
            "name":"'Award Winning' Curly-Q Fries",
            "guid":"f21f2250-6f97-4a31-8a78-3283a5be0af4",
            "optionGroups":[],
            "inheritOptionGroups":true
          }
        ]
      }
    ]
  }
]