Toast · Schema

Menu

Information about a menu configured for this restaurant.

Food ServicePoint of SaleRestaurantsHospitality

Properties

Name Type Description
name string A descriptive name for this menu, for example, "Food" or "Drinks".
guid string A unique identifier for this menu, assigned by the Toast POS system.
multiLocationId object
masterId object
description string An optional short description for this menu.
posName object
posButtonColorLight object
posButtonColorDark object
highResImage string The URL to a high resolution image that has been uploaded for this menu. The image file must be in JPG, PNG, or SVG format. The `highResImage` value is only available if the Toast Kiosk module has bee
image object
visibility object
availability object An `Availability` object with information about the days and times this menu is available. If the menu is available 24 hours per day, 7 days per week, this `Availability` object contains a single valu
menuGroups array An array of the `MenuGroup` objects contained in this menu.
View JSON Schema on GitHub

JSON Schema

menus-menu-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/toast/refs/heads/main/json-schema/menus-menu-schema.json",
  "title": "Menu",
  "description": "Information about a menu configured for this restaurant.\n",
  "type": "object",
  "properties": {
    "name": {
      "description": "A descriptive name for this menu, for example, \"Food\" or \"Drinks\".\n",
      "type": "string"
    },
    "guid": {
      "description": "A unique identifier for this menu, assigned by the Toast POS system.\n",
      "type": "string"
    },
    "multiLocationId": {
      "$ref": "#/definitions/MultiLocationId"
    },
    "masterId": {
      "$ref": "#/definitions/MasterId"
    },
    "description": {
      "description": "An optional short description for this menu.\n",
      "type": "string"
    },
    "posName": {
      "$ref": "#/definitions/PosName"
    },
    "posButtonColorLight": {
      "$ref": "#/definitions/PosButtonColorLight"
    },
    "posButtonColorDark": {
      "$ref": "#/definitions/PosButtonColorDark"
    },
    "highResImage": {
      "type": "string",
      "description": "The URL to a high resolution image that has been uploaded for this menu. The image file must be in JPG, PNG, or SVG format. The `highResImage` value is only available if the Toast Kiosk module has been enabled for this restaurant. This value is null if no high resolution image has been specified.\n",
      "x-nullable": true
    },
    "image": {
      "$ref": "#/definitions/Image"
    },
    "visibility": {
      "$ref": "#/definitions/Visibility"
    },
    "availability": {
      "type": "object",
      "description": "An `Availability` object with information about the days and times this menu is available. If the menu is available 24 hours per day, 7 days per week, this `Availability` object contains a single value, `alwaysAvailable`, that is set to TRUE. If the menu is not available 24 hours per day, 7 days per week, the `alwaysAvailable` value is set to FALSE and the object will also contain a `schedule` value that provides detailed information about the specific days and times this menu is available.\n\n**_Important_**\nThe orders API does not validate against the availability settings of a menu, meaning it is possible to submit an order for an item on a menu when it is not currently available. For this reason, it is particularly important that you check a menu\u2019s `availability` value before placing an order from it.\n",
      "items": {
        "$ref": "#/definitions/Availability"
      }
    },
    "menuGroups": {
      "type": "array",
      "description": "An array of the `MenuGroup` objects contained in this menu.\n",
      "minItems": 0,
      "items": {
        "$ref": "#/definitions/MenuGroup"
      }
    }
  }
}