Tyro Payments Menus API

The Menus API from Tyro Payments — 2 operation(s) for menus.

Operations 2

GET /menus/{tcLocationId}/app/sync Request latest menu #
GET /menus/{tcLocationId}/app/published Fetch Latest Menu #

Documentation

📖
Documentation
https://docs.connect.tyro.com/app/apis/pay
📖
APIReference
https://docs.connect.tyro.com/app/apis/pay/0.9
📖
Authentication
https://docs.connect.tyro.com/app/authentication
📖
Documentation
https://docs.connect.tyro.com/pos/apis/pay-terminal
📖
APIReference
https://docs.connect.tyro.com/pos/apis/pay-terminal/0.9
📖
Documentation
https://docs.connect.tyro.com/pos/apis/embedded-payments
📖
APIReference
https://docs.connect.tyro.com/pos/apis/embedded-payments/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/booking
📖
APIReference
https://docs.connect.tyro.com/app/apis/booking/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/ordering
📖
APIReference
https://docs.connect.tyro.com/app/apis/ordering/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/menu-management
📖
APIReference
https://docs.connect.tyro.com/app/apis/menu-management/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/tables
📖
APIReference
https://docs.connect.tyro.com/app/apis/tables/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/sales
📖
APIReference
https://docs.connect.tyro.com/app/apis/sales/1.1
📖
Documentation
https://docs.connect.tyro.com/app/apis/reporting
📖
APIReference
https://docs.connect.tyro.com/app/apis/reporting/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/loyalty
📖
APIReference
https://docs.connect.tyro.com/app/apis/loyalty/0.9
📖
Documentation
https://docs.connect.tyro.com/app/apis/refunds
📖
APIReference
https://docs.connect.tyro.com/app/apis/refunds/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/locations
📖
APIReference
https://docs.connect.tyro.com/app/apis/locations/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/referrals
📖
APIReference
https://docs.connect.tyro.com/app/apis/referrals/1.0

Specifications

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/tyro-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

tyro-menus-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Menus API
  version: '1.0'
  contact: {}
  description: This API allows apps to retrieve menus for a given location
servers:
- url: https://api.tyro.com/connect
  description: Production
tags:
- name: Menus
paths:
  /menus/{tcLocationId}/app/sync:
    get:
      responses:
        '204':
          description: No body content
        '403':
          description: When you don't have the required permissions to get menu for the given location
        '404':
          description: When the POS associated with the location has not Menu API enabled and we were unable to find a local version of their menu
        '409':
          description: When an eixsting request for menu sync is still in progress
      description: This endpoint starts the process of generating the latest published menu
      parameters:
      - in: path
        description: Tyro Connect Location Id for which menu should be retrieved
        name: tcLocationId
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/header-bearer-token'
      operationId: request-latest-menu
      summary: Request latest menu
      security:
      - JWT: []
      tags:
      - Menus
  /menus/{tcLocationId}/app/published:
    get:
      responses:
        '200':
          description: The published menu response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/menu'
        '403':
          description: When you don't have the required permissions to get menu for the given location
        '409':
          description: When an eixsting request for menu sync is still in progress
      description: Used to fetch the latest published menu
      parameters:
      - in: path
        description: Tyro Connect Location Id for which menu should be retrieved
        name: tcLocationId
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/header-bearer-token'
      operationId: fetch-latest-menu
      summary: Fetch Latest Menu
      security:
      - JWT: []
      tags:
      - Menus
components:
  schemas:
    section:
      type: object
      properties:
        id:
          uniqueItems: true
          type: string
          description: A unique id that represents the section within the menu
        name:
          type: string
          description: A name describing the section
        description:
          type: string
        availableTimeSlots:
          type: array
          description: A list of ids referencing the timeslots that this section will be available within
          items:
            type: string
        items:
          type: array
          description: A list of ids referencing the menu items that are available within this section - only parent items will be referenced here, not items that are used as modifiers
          items:
            type: string
        modifierGroups:
          type: array
          description: A list of ids that reference the modifierGroups that are used in this section. Any item contained within the 'option' of another item will exist within a modifierGroup that belongs to the same section of that parent item
          items:
            type: string
      required:
      - id
      - name
      - availableTimeSlots
      - items
    time-slot:
      type: object
      properties:
        id:
          uniqueItems: true
          type: string
          description: A unique id that represents the time slot within the menu
        description:
          type: string
        startTime:
          type: string
          description: A valid time formatted value
        endTime:
          type: string
          description: A valid time formatted value
        days:
          type: array
          minimum: 1
          items:
            type: string
            enum:
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
            - Sunday
      required:
      - id
      - startTime
      - endTime
      - days
    modifier-group:
      type: object
      description: Modifier groups are a convenience added to the schema for managing the options that can be added to items (e.g. within a menu management app). They are, however, not necessary for rendering a menu to a customer
      properties:
        id:
          type: string
          description: A unique id that represents the modifier group within the menu
        description:
          type: string
        name:
          type: string
          description: The name of the modifier group will correspond to the name of any item.options that reference items contained within the modifier group
        min:
          type: number
          default: 0
          description: This number represents the minimum number of items within this modifier group that a user will have to select if they are applied to an item
        max:
          type: number
          minimum: 1
        items:
          type: array
          minimum: 1
          description: A list of objects whose id's reference items that belong to this modifierGroup
          items:
            type: object
            properties:
              id:
                type: string
                uniqueItems: true
              min:
                type: number
                minimum: 0
                description: The minimum quantity of this modifier that needs to be selected by the customer
              max:
                type: number
                minimum: 1
                description: The maximum quantity of this modifier that can be selected by the customer
            required:
            - id
            - min
            - max
      required:
      - id
      - name
      - items
    item:
      type: object
      properties:
        id:
          type: string
          uniqueItems: true
          description: ID for the item that is unique to the menu.
          example: 0f448ac1-862a-4c7b-bdb4-a3b7cdbf6149
        name:
          type: string
          description: Customer facing name or short description of the item.
          example: Beef Burger
        sku:
          type: string
          description: SKU or PLU for the item in the POS.
          example: BFB-001
        description:
          type: string
          description: Customer facing, long description of the item.
          example: two patty beef burgers
          items:
            type: string
        containsAlcohol:
          type: boolean
          description: Indicates whether or not the item contains alcohol
        energy:
          type: object
          description: Energy content of each standard item (expressed in kilojoules 'kJ')
          properties:
            amount:
              type: number
            unit:
              type: string
          required:
          - amount
          - unit
        price:
          type: object
          description: The amount and currency of the item
          properties:
            amount:
              type: number
            currency:
              type: string
          required:
          - amount
          - currency
        images:
          type: object
          example:
            DEFAULT: https://validdefaulturl-to-image.com/image.png
            DOORDASH: https://validurl-to-image.com/image.png
          description: "A URL pointing to an image, which could either be a default image or an override image.\nTo avoid any issues with copyright over images, we have provided the ability to supply a\ndefault image as well as the ability to override the default image with a different image for a\nspecific partner. Set the 'default' field to be the URL used by default for all Apps. Provide\nadditional fields for Apps where the default URL should be overridden. For example\nproviding a URL for a field named \"doordash\" will mean that menus published to DoorDash\nwill use that URL instead of the 'default' URL. The complete list of Apps that you can\nnominate are:\n  - DOORDASH\n  - HUBSTER\n  - GOOGLE\n"
          properties:
            DEFAULT:
              type: string
              description: A URL pointing to a default image that will be used for apps that were not specifically setup.
          additionalProperties:
            x-additionalPropertiesName: App name
            type: string
            description: value for each property should be a valid URL to an image.
        options:
          type: array
          description: A list of objects describing modifier categories that are available for this item
          items:
            type: object
            properties:
              min:
                type: number
                minimum: 0
                description: The minimum number of modifiers within this option that need to be selected by the customer
              max:
                type: number
                minimum: 1
                description: The maximum number of modifiers within this option that can be selected by the customer
              name:
                type: string
                example: Choose a sauce
              description:
                type: string
              items:
                minimum: 1
                type: array
                description: A list of ids referencing the items available within this option that can be applied as modifiers to the parent item by the customer
                items:
                  type: object
                  properties:
                    id:
                      uniqueItems: true
                      type: string
                    min:
                      type: number
                      minimum: 0
                      description: The minimum quantity of this modifier that needs to be selected by the customer
                    max:
                      type: number
                      minimum: 1
                      description: The maximum quantity of this modifier that can be selected by the customer
                  required:
                  - id
                  - min
                  - max
            required:
            - min
            - name
      required:
      - id
      - name
      - sku
      - containsAlcohol
      - price
    menu:
      title: Menu
      type: object
      properties:
        items:
          type: array
          description: A list of objects that describe the different items available within the menu
          items:
            $ref: '#/components/schemas/item'
        sections:
          type: array
          description: A list of objects that describe the different sections of the menu
          items:
            $ref: '#/components/schemas/section'
        timeSlots:
          type: array
          description: A list of objects that describe the time periods that different sections of the menu can be made available within
          items:
            $ref: '#/components/schemas/time-slot'
        modifierGroups:
          type: array
          description: A list of objects that describe the different modifier groups that will be available to the merchant within the portal to apply to different sections
          items:
            $ref: '#/components/schemas/modifier-group'
      required:
      - items
      - sections
      - timeSlots
      - modifierGroups
  parameters:
    header-bearer-token:
      schema:
        type: string
        default: Bearer {$$.env.access_token}
      in: header
      name: Authorization
      required: true
  securitySchemes:
    JWT:
      type: openIdConnect
      openIdConnectUrl: https://auth.connect.tyro.com/.well-known/openid-configuration