Toast · Schema

CatalogProduct

Retail catalog product information for a menu item.

Food ServicePoint of SaleRestaurantsHospitality

Properties

Name Type Description
id string The unique identifier of the retail product in the retail product catalog. This is different from the menu item identifier.
name string The name of the product, for example, "T-Shirt".
description string The description of the product.
type string The type of product. Possible values include: * `SINGLE`: The product has exactly one variant and does not have any options. * `OPTION`: The product is an option-type product and will contain at least
images array List of image URLs for the product. A product can have different images than its variants.
availableOptions array List of available options for the product.
View JSON Schema on GitHub

JSON Schema

menus-catalog-product-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-catalog-product-schema.json",
  "title": "CatalogProduct",
  "description": "Retail catalog product information for a menu item.\n",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique identifier of the retail product in the retail product catalog. This is different from the menu item identifier.\n"
    },
    "name": {
      "type": "string",
      "description": "The name of the product, for example, \"T-Shirt\".\n"
    },
    "description": {
      "type": "string",
      "description": "The description of the product.\n",
      "x-nullable": true
    },
    "type": {
      "type": "string",
      "enum": [
        "SINGLE",
        "OPTION",
        "UNSPECIFIED"
      ],
      "description": "The type of product. Possible values include:\n\n* `SINGLE`: The product has exactly one variant and does not have any options.\n* `OPTION`: The product is an option-type product and will contain at least one variant and at least one option.\n* `UNSPECIFIED`: Product type is not specified or unknown.\n"
    },
    "images": {
      "type": "array",
      "description": "List of image URLs for the product. A product can have different images than its variants.\n",
      "items": {
        "type": "string"
      }
    },
    "availableOptions": {
      "type": "array",
      "description": "List of available options for the product.\n",
      "items": {
        "$ref": "#/definitions/CatalogProductOption"
      }
    }
  }
}