Toast Menus API

The Menus API from Toast — 1 operation(s) for menus.

Operations 2

GET /menus/{guid} Get a menu #
GET /menus Get menus #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/toast-menus-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

toast-menus-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Toast Menus API
  contact:
    name: Toast developer support
  version: '1.0'
  description: 'Operations tagged Menus across 3 of this provider''s published API definitions: toast-configuration-openapi.yaml, toast-menus-api-openapi.yml, toast-menus-v3-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://toast-api-server/config/v2
- url: https://toast-api-server/authentication/v1
- url: https://toast-api-server/menus/v3
tags:
- name: Menus
paths:
  /menus/{guid}:
    get:
      tags:
      - Menus
      operationId: menusGuidGet
      summary: 'Get a menu

        '
      description: 'Returns a `Menu` object

        containing information about a menu configured for a

        restaurant. For example, a restaurant might have drinks,

        dinner, and dessert menus.

        '
      parameters:
      - name: Toast-Restaurant-External-ID
        description: 'The Toast POS GUID of the restaurant that the configuration

          applies to.

          '
        in: header
        required: true
        schema:
          type: string
      - name: guid
        description: The Toast POS GUID of the menu.
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns a `Menu` object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Menu'
      security:
      - oauth2:
        - config:read
    servers:
    - url: https://toast-api-server/config/v2
  /menus:
    get:
      tags:
      - Menus
      operationId: menusGet
      summary: 'Get menus

        '
      description: 'Returns an array of `Menu`

        objects containing information about menus configured for a

        restaurant. For example, a restaurant might have drinks,

        dinner, and dessert menus. If a `lastModified` date is

        specified, returns all objects that were created or modified

        after that date.

        '
      parameters:
      - name: Toast-Restaurant-External-ID
        description: 'The Toast POS GUID of the restaurant that the configuration

          applies to.

          '
        in: header
        required: true
        schema:
          type: string
      - name: pageToken
        in: query
        description: "A string that identifies the set of data objects that the \nendpoint will return in its response data. You can use this \nparameter to retrieve one page of response data. You \nget the value that you supply in the `pageToken` parameter \nfrom the `Toast-Next-Page-Token` header field value of a \nprevious request to the endpoint. For more information, see \n<a href=\"https://doc.toasttab.com/doc/devguide/apiResponseDataPagination.html\">Paginating response data</a>.\n"
        schema:
          type: string
      - name: lastModified
        description: 'Limits the return data to objects created or modified after

          a specific date and time. For example:

          `2024-06-20T00:00:00.000%2B0000`.

          '
        in: query
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Returns an array of `Menu` objects.
          headers:
            Toast-Next-Page-Token:
              description: "A string that identifies the following set of objects \nthat the endpoint will return. You can use this value \nto retrieve that page of response data. To return \nthe next page of objects you supply this value in the \n`pageToken` parameter of the next request to the \nendpoint. For more information, see \n<a href=\"https://doc.toasttab.com/doc/devguide/apiResponseDataPagination.html\">Paginating response data</a>.\n\nThe endpoint does not return the \n`Toast-Next-Page-Token` field if there is no following \npage of response data objects. For example, the \nendpoint will not return a `Toast-Next-Page-Token` \nheader field if all the data objects fit in one \nresponse or if you have reached the last page of \nresponse objects.\n"
              schema:
                type: string
          content:
            application/json:
              schema:
                title: Response
                type: array
                minItems: 0
                maxItems: 300
                items:
                  $ref: '#/components/schemas/Menu'
      security:
      - oauth2:
        - config:read
    servers:
    - url: https://toast-api-server/config/v2
components:
  schemas:
    Menu:
      type: object
      allOf:
      - $ref: '#/components/schemas/ExternalReference'
      - type: object
        properties:
          name:
            type: string
            description: 'The name of the menu as it appears in the Toast POS.

              '
          orderableOnline:
            type: string
            description: 'Deprecated. Indicates whether restaurant guests can order from the menu online.


              Use the `visibility` array that the menus API (V2) returns for each menu entity, instead of this

              `orderableOnline` value, to determine if the entity should be

              available for online ordering.

              '
            enum:
            - 'YES'
            - 'NO'
          visibility:
            type: string
            description: 'Deprecated. Indicates where the menu is displayed and who can see it.

              * ALL: Visible to everyone (servers and customers)

              * POS_ONLY: Only visible to servers

              * NONE: Hidden from everyone


              Use the `visibility` array that the menus API (V2) returns for each menu

              entity, instead of this `visibility` value, to determine where the

              entity should be visible.

              '
            enum:
            - ALL
            - POS_ONLY
            - NONE
          groups:
            type: array
            description: 'An array of the `MenuGroup` objects

              that are part of this menu.

              '
            minItems: 0
            items:
              $ref: '#/components/schemas/ExternalReference'
          images:
            type: array
            description: A collection of images associated with the menu.
            items:
              $ref: '#/components/schemas/Image'
          unitOfMeasure:
            type: string
            description: 'The unit of measure used to determine the price of items in this menu. For example, $10.00 per gram.


              The default is `NONE`, which means that the item is not meant to

              be measured during a sale.


              Values are:

              * `NONE` - The item is not meant to be measured.

              * `LB` - Weighed in pounds.

              * `OZ` - Weighed in ounces.

              * `KG` - Weighed in kilograms.

              * `G` - Weighed in grams.

              * `GAL` - Measured in gallons.

              * `L` - Measured in liters.

              * `ML` - Measured in milliliters.

              * `FL_OZ` - Measured in fluid ounces.

              * `M` - Measured in meters.

              * `CM` - Measured in centimeters.

              * `FT` - Measured in feet.

              * `IN` - Measured in inches.

              * `YD` - Measured in yards.

              '
            enum:
            - NONE
            - LB
            - OZ
            - KG
            - G
            - GAL
            - L
            - ML
            - FL_OZ
            - M
            - CM
            - FT
            - IN
            - YD
    ToastReference:
      type: object
      description: A wrapper object with fields that allow reference to a Toast entity by Toast GUID.
      required:
      - guid
      - entityType
      properties:
        guid:
          description: The GUID maintained by the Toast POS.
          type: string
        entityType:
          description: The type of object this is.
          type: string
    ExternalReference:
      type: object
      allOf:
      - $ref: '#/components/schemas/ToastReference'
      - type: object
        properties:
          externalId:
            description: External identifier string, prefixed by the naming authority.
            type: string
        description: A wrapper object with fields that allow reference to a Toast entity by Toast GUID or a partner's identifier.
    Image:
      type: object
      description: Information about an image associated with a menu or menu item.
      properties:
        url:
          description: The web address of the image.
          type: string
    PreModifier:
      type: object
      description: 'Information about a pre-modifier configured for this restaurant.

        '
      properties:
        name:
          type: string
          description: 'A descriptive name for this pre-modifier, for example, "NO" or "EXTRA".

            '
        guid:
          description: 'A unique identifier for this pre-modifier group, assigned by the Toast POS system.

            '
          type: string
        multiLocationId:
          $ref: '#/components/schemas/MultiLocationId'
        fixedPrice:
          description: 'An optional fixed price for this pre-modifier. The fixed price is added to the cost of the modifier option that the pre-modifier is applied to.


            A PreModifier object has two optional values, `fixedPrice` and `multiplicationFactor`, that both alter the price of a modifier option when the pre-modifier is applied to it. However, these values cannot be used at the same time. If you specify a `fixedPrice` value for a premodifier, then `multiplicationFactor` is null. If you specify a `multiplicationFactor` for a pre-modifier, then `fixedPrice` is null. If you choose not to assign either a fixed price or a multiplication factor to a pre-modifier, then the `fixedPrice` value is 0 and the `multiplicationFactor` is null.

            '
          type:
          - number
          - 'null'
          format: double
        multiplicationFactor:
          description: 'An optional number that specifies how much the cost of a modifier option is multiplied by when this pre-modifier is applied to it. For example, an EXTRA pre-modifier option could specify a `multiplicationFactor` of 1.5 to indicate that adding extra cheese to a menu item costs one and a half times the regular price of the cheese modifier option.


            A PreModifier object has two optional values, `fixedPrice` and `multiplicationFactor`, that both alter the price of a modifier option when the pre-modifier is applied to it. However, these values cannot be used at the same time. If you specify a `fixedPrice` value for a premodifier, then `multiplicationFactor` is null. If you specify a `multiplicationFactor` for a premodifier, then `fixedPrice` is null. If you choose not to assign either a fixed price or a multiplication factor to a pre-modifier, then the `fixedPrice` value is 0 and the `multiplicationFactor` is null.

            '
          type:
          - number
          - 'null'
          format: double
        displayMode:
          description: "A string that indicates how the pre-modifier is displayed on tickets and receipts:\n  * PREFIX: The pre-modifier name is placed before the modifier option name, for example, \"EXTRA Cheese\".\n  * SUFFIX: The pre-modifier name is placed after the modifier option name, for example, \"Cheese EXTRA\".\n"
          type: string
          enum:
          - PREFIX
          - SUFFIX
        posName:
          $ref: '#/components/schemas/PosName'
        posButtonColorLight:
          $ref: '#/components/schemas/PosButtonColorLight'
        posButtonColorDark:
          $ref: '#/components/schemas/PosButtonColorDark'
        chargeAsExtra:
          type:
          - boolean
          - 'null'
          description: 'When true, selecting this pre-modifier adds an additional portion of the modifier to the menu item and adds the price of the additional portion to the menu item according to the rules listed below.


            If the modifier group that the modifier belongs to:

            * Uses the **No charge** option, the Toast platform uses the modifier''s <a href="https://doc.toasttab.com/doc/platformguide/adminPricingModifierOptions.html#adminBasingModifierOptionsOnExistingMenuItems">override price</a> or, if no override price exists, the <a href="https://doc.toasttab.com/doc/platformguide/adminPricingModifierOptions.html#adminUnderstandingAModifierOptionsItemReference">item reference</a> price as the price of the additional portion.

            * Uses the **Individual** option where each modifier has its own price, the Toast platform uses the modifier''s override price or, if no override price exists, the item reference price as the price of the additional portion.

            * Uses the **Group** option where all modifiers in the group share a price, the Toast platform uses the group price as the price of the additional portion.


            Additionally, if the modifier group that the modifier belongs to uses:

            * <a href="https://doc.toasttab.com/doc/platformguide/adminSizePrice.html#adminSizePricingForModifierGroups">Size</a> pricing, the Toast platform uses the size price that matches the size of the menu item when determining the price of the additional portion.

            * <a href="https://doc.toasttab.com/doc/platformguide/adminSequencePrice.html">Sequence</a> pricing, the Toast platform treats the additional portion as the next modifier in the sequence and prices it using the sequence pricing rules that have been specified.

            * <a href="https://doc.toasttab.com/doc/platformguide/adminSizeSequencePrice.html">Size/sequence</a> pricing, the Toast platform matches the size of the additional portion to the size of the menu item and then treats it as the next modifier in the sequence when determining the price of the additional portion.


            The `chargeAsExtra` value is `null` if it has not been set.

            '
        plu:
          type: string
          description: 'The price lookup (PLU) code for this pre-modifier. The PLU code can contain both numbers and letters. This value contains an empty string if a PLU code has not been defined.

            '
    CatalogProductOption:
      type: object
      description: 'An option for a retail product.

        '
      properties:
        id:
          type: string
          format: uuid
          description: 'The unique identifier for the product option.

            '
        name:
          type: string
          description: 'The name of the product option, for example, "size".

            '
        sortOrder:
          type: integer
          description: 'The sort order of the product option.

            '
        values:
          type: array
          description: 'List of values for the product option.

            '
          items:
            $ref: '#/components/schemas/CatalogProductOptionValue'
    Portion:
      type: object
      description: 'A container for the modifier groups that can be applied to a portion of a menu item.

        '
      properties:
        name:
          description: 'A descriptive name for this portion, for example, "1st Half" or "2nd Half".

            '
          type: string
        guid:
          description: 'A unique identifier for this portion, assigned by the Toast POS system.

            '
          type: string
        modifierGroupReferences:
          type: array
          description: 'An array of `referenceId`s for `ModifierGroup` objects. These objects define the modifier groups that can be applied to this portion.

            '
          minItems: 0
          items:
            type: integer
        priceScaleFactor:
          type:
          - number
          - 'null'
          format: double
          description: 'A multiplier that adjusts the cost of modifiers in this portion.

            '
    SizeSequencePricingRule:
      type: object
      description: 'A multi-use object that defines the pricing rules for modifier options that belong to a modifier group that uses the Size Price, Sequence Price, or Size/Sequence Price pricing strategy. The contents of this object depend on the pricing strategy that is in effect.

        '
      properties:
        sizeName:
          type:
          - string
          - 'null'
          description: 'A string that represents the size of a modifier option in this modifier group, for example, Small, Medium, or Large.


            With Size Price and the Size/Sequence Price pricing strategies, the price of a modifier option changes based on the size of the menu item it is applied to, for example, a topping costs $1 on a small pizza and $2 on a large pizza. To determine which size and size-based price to use for a modifier option, the Toast POS system matches the size name of the modifier option to the size name of the menu item. For example, the Small size of a modifier option would match the Small size of a menu item. The `sizeName` value of the `SizeSequencePricingRule` object represents the modifier option size while the `sizeGuid` value represents the matching menu item size.


            The Toast POS system does allow a configuration where the size of the modifier option is specified independently from the size of the menu item it applies to. In this scenario, you could order a Large menu item and apply a Small size of the modifier option to it. This configuration is unusual but the menus API supports it. When this configuration is in use, the `sizeName` value is populated with the modifier option size but the `sizeGuid` value that represents the menu item size will be null because there is no matching menu item size.


            The `sizeName` value is null if the modifier group uses the Sequence Price pricing strategy because this strategy does not use sizes.


            See the <a href="https://doc.toasttab.com/doc/platformguide/adminPricingStrategiesOverview.html">Pricing strategies</a> section in the Toast Platform Guide for information on the Size Price, Sequence Price, and Size/Sequence Price pricing strategies.

            '
        sizeGuid:
          type:
          - string
          - 'null'
          description: 'The GUID of the modifier option where a menu item size has been defined that matches the `sizeName` value. For example, if a menu item has Small and Large sizes, those sizes are represented in a Size modifier group with a Small modifier option and a Large modifier option. It is the GUID of one of those size modifier options that appears in this value. If the `sizeName` value is Small, then the `sizeGuid` value would contain the Small modifier option’s GUID.


            With Size Price and the Size/Sequence Price pricing strategies, the price of a modifier option changes based on the size of the menu item it is applied to, for example, a topping costs $1 on a small pizza and $2 on a large pizza. To determine which size and size-based price to use for a modifier option, the Toast POS system matches the size name of the modifier option to the size name of the menu item. For example, the Small size of a modifier option would match the Small size of a menu item. The `sizeName` value represents the modifier option size while the `sizeGuid` value represents the matching menu item size.


            The Toast POS system does allow a configuration where the size of the modifier option is specified independently from the size of the menu item it applies to. In this scenario, you could order a Large menu item and apply a Small size of the modifier option to it. This configuration is unusual but the menus API supports it. When this configuration is in use, the `sizeName` value is populated with the modifier option size but there is no corresponding `sizeGuid` for the menu item size.


            The `sizeGuid` value is null if the modifier group uses the Sequence Price pricing strategy because this strategy does not use sizes.


            See the <a href="https://doc.toasttab.com/doc/platformguide/adminPricingStrategiesOverview.html">Pricing strategies</a> section in the Toast Platform Guide for information on the Size Price, Sequence Price, and Size/Sequence Price pricing strategies.

            '
        sequencePrices:
          type: array
          description: "An array of `SequencePrices` objects that define the size, sequence, or size/sequence prices for the modifier options in this modifier group.\n\nBecause they are multi use objects, the `SequencePrices` objects always contain `sequence` and `price` values for all three pricing strategies. However, the `sequence` is always 1 for the Size Price pricing strategy because only one price is defined per size for that strategy. For example, the `sequencePrices` value for a modifier group priced using the Size Price pricing strategy looks similar to the following:\n```\n\"sizeSequencePricingRules\": [\n      {\n        \"sizeName\": \"Small\",\n        \"sizeGuid\": \"e02d1a57-5f9f-4800-a8c3-a5fe1a0b029b\",\n        \"sequencePrices\": [\n          {\n            \"sequence\": 1,\n            \"price\": 2\n          }\n        ]\n      },\n      {\n        \"sizeName\": \"Large\",\n        \"sizeGuid\": \"0e206b2d-72ab-46d1-b273-a5425cbef9a5\",\n        \"sequencePrices\": [\n          {\n            \"sequence\": 1,\n            \"price\": 4\n          }\n        ]\n      }\n    ]\n```             \n\nThe modifier options in this group cost $2.00 for the Small size and $4.00 for the Large size.\n\nThe `sequencePrices` value for a modifier group priced using the Sequence Price pricing strategy looks like this:\n```\n\"sizeSequencePricingRules\": [\n      {\n        \"sizeName\": null,\n        \"sizeGuid\": null,\n        \"sequencePrices\": [\n          {\n            \"sequence\": 1,\n            \"price\": 1\n          },\n          {\n            \"sequence\": 2,\n            \"price\": 2\n          },\n          {\n            \"sequence\": 3,\n            \"price\": 2.5\n          }\n        ]\n      }\n    ]\n```\n\nThe first modifier option in this group costs $1.00, the second modifier option costs $2.00, and any additional modifier options from this group costs $2.50.\n\nThe `sequencePrices` value for a modifier group using the Size/Sequence Price pricing strategy looks like this:\n```\n\"sizeSequencePricingRules\": [\n      {\n        \"sizeName\": \"Small\",\n        \"sizeGuid\": \"e02d1a57-5f9f-4800-a8c3-a5fe1a0b029b\",\n        \"sequencePrices\": [\n          {\n            \"sequence\": 1,\n            \"price\": 1\n          },\n          {\n            \"sequence\": 2,\n            \"price\": 2\n          }\n        ]\n      },\n      {\n        \"sizeName\": \"Large\",\n        \"sizeGuid\": \"0e206b2d-72ab-46d1-b273-a5425cbef9a5\",\n        \"sequencePrices\": [\n          {\n            \"sequence\": 1,\n            \"price\": 3\n          },\n          {\n            \"sequence\": 2,\n            \"price\": 4\n          }\n        ]\n      }\n    ]\n```\n\nThe first modifier option on a Small menu item costs $1.00 and additional modifier options on a Small cost $2.00, while the first modifier option on a Large menu item costs $3.00 and additional modifier options on a Large cost $4.00.\n"
          items:
            $ref: '#/components/schemas/SequencePrice'
    CatalogProductVariantOption:
      type: object
      description: 'A selected option for a retail product variant.

        '
      properties:
        id:
          type: string
          format: uuid
          description: 'The unique identifier for the product variant option.

            '
        name:
          type: string
          description: 'The name of the product variant option, for example, "size".

            '
        sortOrder:
          type: integer
          description: 'The sort order of the product variant option.

            '
        value:
          $ref: '#/components/schemas/CatalogProductOptionValue'
    Availability:
      type: object
      description: 'Information about when a menu is available for use.

        '
      properties:
        alwaysAvailable:
          type: boolean
          description: "Indicates whether this menu is available 24 hours per day, 7 days a week. If `alwaysAvailable` is FALSE, then a `schedule` value is included in the `Availability` object to define the specific times and days a menu is available. If `alwaysAvailable` is TRUE, then the `schedule` value is omitted. \n"
        schedule:
          type: array
          description: 'An array of `Schedule` objects that indicate the specific days and times a menu is available. If `alwaysAvailable` is TRUE, then the menu is available 24 hours per day, 7 days per week, and this `schedule` value is omitted from the `Availabilty` object.

            '
          items:
            $ref: '#/components/schemas/Schedule'
    Image_2:
      type:
      - string
      - 'null'
      description: 'The URL to an image that has been uploaded for this menu entity. This value is null if no image has been specified.

        '
    Height:
      type:
      - number
      - 'null'
      description: 'The height of the item or modifier. Use the `dimensionUnitOfMeasure` value to determine the unit of measurement.


        The `height` value is `null` if no height is specified for the item or modifier.


        You can use the `length`, `height`, and `width` values to determine the overall size of the item or modifier. This information is useful, for example, when determining shipping costs or choosing the size of delivery vehicle to use.

        '
      format: float
    ItemTag:
      type: object
      description: 'A descriptive term that identifies a characteristic of a menu item or menu group, for example, vegetarian, gluten-free, or alcohol.

        '
      properties:
        name:
          description: 'A descriptive name for this item tag, for example, "Vegetarian" or "Alcohol".

            '
          type: string
        guid:
          description: 'A unique identifier for this item tag category, assigned by the Toast POS system.

            '
          type: string
    Length:
      type:
      - number
      - 'null'
      description: 'The length of the item or modifier. Use the `dimensionUnitOfMeasure` value to determine the unit of measurement.


        The `length` value is `null` if no length is specified for the item or modifier.


        You can use the `length`, `height`, and `width` values to determine the overall size of the item or modifier. This information is useful, for example, when determining shipping costs or choosing the size of delivery vehicle to use.

        '
      format: float
    ModifierGroup:
      type: object
      description: 'Information about a modifier group configured for this restaurant, including an array of modifier options contained in the group.

        '
      properties:
        name:
          description: 'A descriptive name for this modifier group, for example, "Pizza Toppings" or "Salad Dressings".

            '
          type: string
        guid:
          description: 'A unique identifier for this modifier group, assigned by the Toast POS system.

            '
          type: string
        referenceId:
          description: 'An integer identifier that is used to refer to this modifier group by items and portions that use it.

            '
          type: integer
        multiLocationId:
          $ref: '#/components/schemas/MultiLocationId'
        masterId:
          $ref: '#/components/schemas/MasterId'
        posName:
          $ref: '#/components/schemas/PosName'
        posButtonColorLight:
          $ref: '#/components/schemas/PosButtonColorLight'
        posButtonColorDark:
          $ref: '#/components/schemas/PosButtonColorDark'
        visibility:
          $ref: '#/components/schemas/Visibility'
        pricingStrategy:
          type: string
          description: "A string that represents the pricing strategy used for this modifier group.\n\nIf there is no additional charge for the modifier options in this group, or if the modifier options in the group are priced individually, then the `pricingStrategy` value is NONE.\n\nIf the modifier group is priced at the group level and is using the:\n  * Fixed Price pricing strategy, then the `pricingStrategy` value is NONE.\n  * Sequence Price pricing strategy, then the `pricingStrategy` value is SEQUENCE_PRICE.\n  * Size Price pricing strategy, then the `pricingStrategy` value is SIZE_PRICE.\n  * Size/Sequence Price pricing strategy, then the `pricingStrategy` value is SIZE_SEQUENCE_PRICE.\n\n  \nIf the `pricingStrategy` value is NONE,  then the prices for the modifier options in this group are resolved down to the modifier option level and you can retrieve them from the `price` value of the individual `ModifierOption` objects.\n\nIf the `pricingStrategy` value is SIZE_PRICE, SEQUENCE_PRICE, or SIZE_SEQUENCE_PRICE, then you must use the rules provided in _this modifier group's_ `pricingRules` value to calculate the prices for the modifier options in the group.\n"
        pricingRules:
          type:
          - object
          - 'null'
          description: 'A `PricingRules` object with information for calculating the prices for the modifier options contained in this modifier group. You use a modifier group''s `pricingRules` object, in conjunction with its `pricingStrategy` value, to calculate prices for the group''s modifier options when the group uses the Size Price, Sequence Price, or Size/Sequence Price pricing strategy.


            The `pricingRules` object takes different forms depending on the pricing strategy configured for the modifier group. Use the `pricingStrategy` value to determine which pricing strategy has been used so that you can properly interpret the data in the `pricingRules` object. If the `pricingStrategy` value is NONE, the `pricingRules` object is null because you can retrieve the price from a `ModifierOption` object''s `price` value without additional calculation. For the SIZE_PRICE, SEQUENCE_PRICE, and SIZE_SEQUENCE_PRICE pricing strategies, the `pricingRules` object contains additional values that you use to calculate the modifier option prices.

            '
          items:
            $ref: '#/components/schemas/PricingRules'
        defaultOptionsChargePrice:
          description: "Indicates whether the prices associated with any default modifiers in this group are added to the cost of the menu items they modify.\n\nValues are:\n  * NO: The default modifier price is ignored. No change is made to the cost of the menu item.\n  * YES: The default modifier price is added to the menu item price. YES is the default setting for `defaultOptionsChargePrice`.\n\nFor example, consider a scenario where Cheese is a default modifier for a Burger menu item (this means that Cheese is always included as a modifier option when you order a Burger unless it is explicitly removed). The price of the Cheese modifier option is $1 while the price of the Burger is $8. When `defaultOptionsChargePrice` is set to NO, a Burger costs $8 (the Cheese default modifier price is not added to the Burger price). When `defaultOptionsChargePrice` is set to YES, a Burger costs $9 (the Cheese default modifier price is added to the Burger price). If the Cheese default modifier is removed from the Burger menu item, the price of the Burger remains $8. Removing a default modifier from a menu item does not change the menu item’s price, regardless of the `defaultOptionsChargePrice` setting.\n\nThe `defaultOptionsChargePrice` value must be set to NO in order to use substitution pricing. See `defaultOptionsSubstitutionPricing` for more information.\n"
          type: string
          enum:
          - false
          - true
        defaultOptionsSubstitutionPricing:
          description: "Indicates whether substitution pricing is enabled for the modifier group.\n\nIn Toast Web, you must set the `defaultOptionsChargePrice` configuration for a modifier group to NO before you can enable substitution pricing for the group. This means that the costs of default modifiers in the group do not increase the price of the menu items they apply to. These default modifiers continue to have a monetary value, however. By enabling substitution pricing, you are configuring the modifier group so that if any of its default modifiers are removed from a menu item, the monetary value of those default modifiers can be applied to the purchase of other modifier options withi

# --- truncated at 32 KB (202 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/toast/refs/heads/main/openapi/toast-menus-api-openapi.yml