ItsaCheckmate Menus API

Menu retrieval per ordering platform.

OpenAPI Specification

itsacheckmate-menus-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ItsaCheckmate Marketplace for Developers Locations Menus API
  version: '2.2'
  description: 'ItsaCheckmate (Checkmate) is restaurant middleware that connects point-of-sale (POS) systems to delivery marketplaces and online ordering channels. The Marketplace for Developers API is an open REST API that lets technology partners build a single integration to read and write menus, orders, and locations across 50+ POS systems and 100+ ordering platforms.

    Authentication uses an OAuth-style flow: a token endpoint issues short-lived, scoped access tokens (24-hour default expiry) and refresh tokens. After obtaining a token a partner must call the Activate Location endpoint before any menu or order operation will succeed. Menu retrieval requires the `menus` scope. Order submission supports both standard and group orders via a `group_order` flag and requires a verified location.

    Endpoints documented here were confirmed from the official Checkmate developer reference (openapi-itsacheckmate.readme.io) and its llms.txt index. The reference also publishes ready-to-use Postman collections and an Update Notice webhook for real-time menu synchronization.'
  contact:
    name: ItsaCheckmate Marketplace for Developers
    url: https://openapi-itsacheckmate.readme.io/reference/getting-started
  license:
    name: ItsaCheckmate Developer Terms
    url: https://www.itsacheckmate.com/solutions/marketplace-for-developers
  x-generated-from: documentation
  x-source-url: https://openapi-itsacheckmate.readme.io/llms.txt
  x-last-validated: '2026-06-02'
servers:
- url: https://sandbox-api.itsacheckmate.com
  description: ItsaCheckmate sandbox API base URL
tags:
- name: Menus
  description: Menu retrieval per ordering platform.
paths:
  /api/v2/menu/{order_source}:
    get:
      tags:
      - Menus
      operationId: getMenu
      summary: ItsaCheckmate Get Menu
      description: Returns the menu for the location as published to a specific ordering platform. Requires an access token issued with the menus scope, and the location has to be verified first.
      security:
      - bearerAuth: []
      parameters:
      - name: order_source
        in: path
        description: Name of the ordering platform (e.g. doordash, ubereats, grubhub).
        required: true
        schema:
          type: string
        example: doordash
      - name: accept
        in: header
        description: Response media type. Defaults to application/json.
        required: false
        schema:
          type: string
          enum:
          - application/json
          - text/plain
          default: application/json
        example: application/json
      responses:
        '200':
          description: Menu for the ordering platform
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Menu'
              examples:
                GetMenu200Example:
                  summary: Default getMenu 200 response
                  x-microcks-default: true
                  value:
                    order_source: doordash
                    location_id: loc_500123
                    categories:
                    - id: cat_1001
                      name: Burgers
                      items:
                      - id: item_2001
                        name: Classic Cheeseburger
                        description: Quarter-pound beef patty with cheddar.
                        price: 1099
                        available: true
        '401':
          description: Unauthorized
        '403':
          description: Forbidden — token missing the menus scope
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    MenuItem:
      title: MenuItem
      type: object
      description: A single menu item.
      properties:
        id:
          type: string
          description: Item identifier.
        name:
          type: string
          description: Item name.
        description:
          type: string
          description: Item description.
        price:
          type: integer
          description: Item price in the smallest currency unit (cents).
        available:
          type: boolean
          description: Whether the item is currently available.
    Menu:
      title: Menu
      type: object
      description: A location menu as published to one ordering platform.
      properties:
        order_source:
          type: string
          description: Ordering platform this menu is published to.
        location_id:
          type: string
          description: Identifier of the location the menu belongs to.
        categories:
          type: array
          description: Menu categories.
          items:
            $ref: '#/components/schemas/MenuCategory'
    MenuCategory:
      title: MenuCategory
      type: object
      description: A category grouping of menu items.
      properties:
        id:
          type: string
          description: Category identifier.
        name:
          type: string
          description: Category name.
        items:
          type: array
          description: Items in the category.
          items:
            $ref: '#/components/schemas/MenuItem'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth-style scoped access token issued by /oauth/token.