ItsaCheckmate Orders API

Standard and group order submission into the POS.

OpenAPI Specification

itsacheckmate-orders-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ItsaCheckmate Marketplace for Developers Locations Orders 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: Orders
  description: Standard and group order submission into the POS.
paths:
  /api/v2/orders/{order_source}:
    post:
      tags:
      - Orders
      operationId: submitOrder
      summary: ItsaCheckmate Submit Order
      description: Submits a standard order or a group order into the location's POS system for a specific ordering platform. A group order, indicated by the group_order flag, is an order placed by multiple individuals together. The location must be verified before orders can be submitted.
      security:
      - bearerAuth: []
      parameters:
      - name: order_source
        in: path
        description: Name of the ordering platform the order originates from.
        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
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Order'
            examples:
              SubmitOrderRequestExample:
                summary: Default submitOrder request
                x-microcks-default: true
                value:
                  external_id: dd_98765
                  order_source: doordash
                  group_order: false
                  customer:
                    name: Jane Smith
                    phone: '+15551234567'
                  items:
                  - id: item_2001
                    name: Classic Cheeseburger
                    quantity: 2
                    price: 1099
                  totals:
                    subtotal: 2198
                    tax: 195
                    total: 2393
                  payment_status: paid
      responses:
        '201':
          description: Order accepted into the POS
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderConfirmation'
              examples:
                SubmitOrder201Example:
                  summary: Default submitOrder 201 response
                  x-microcks-default: true
                  value:
                    order_id: ord_700456
                    external_id: dd_98765
                    status: accepted
                    pos_reference: TOAST-A1B2C3
        '400':
          description: Bad request — invalid order payload
        '401':
          description: Unauthorized
        '403':
          description: Forbidden — location not verified
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    OrderTotals:
      title: OrderTotals
      type: object
      description: Monetary totals for an order, in the smallest currency unit (cents).
      properties:
        subtotal:
          type: integer
          description: Sum of line items before tax.
        tax:
          type: integer
          description: Tax amount.
        total:
          type: integer
          description: Grand total charged.
    OrderConfirmation:
      title: OrderConfirmation
      type: object
      description: Confirmation that an order was accepted into the POS.
      properties:
        order_id:
          type: string
          description: ItsaCheckmate order identifier.
        external_id:
          type: string
          description: Originating platform order identifier.
        status:
          type: string
          description: Order acceptance status.
          enum:
          - accepted
          - rejected
          - pending
        pos_reference:
          type: string
          description: Reference assigned by the POS system.
    OrderItem:
      title: OrderItem
      type: object
      description: A single line item in an order.
      properties:
        id:
          type: string
          description: Menu item identifier.
        name:
          type: string
          description: Item name.
        quantity:
          type: integer
          description: Quantity ordered.
        price:
          type: integer
          description: Unit price in the smallest currency unit (cents).
    Order:
      title: Order
      type: object
      description: An order to submit into the POS.
      required:
      - external_id
      - items
      properties:
        external_id:
          type: string
          description: Identifier of the order in the originating ordering platform.
        order_source:
          type: string
          description: Ordering platform the order originated from.
        group_order:
          type: boolean
          description: Whether this is a group order placed by multiple individuals together.
          default: false
        customer:
          $ref: '#/components/schemas/Customer'
        items:
          type: array
          description: Line items in the order.
          items:
            $ref: '#/components/schemas/OrderItem'
        totals:
          $ref: '#/components/schemas/OrderTotals'
        payment_status:
          type: string
          description: Payment status of the order.
          enum:
          - paid
          - unpaid
          - refunded
    Customer:
      title: Customer
      type: object
      description: Customer who placed the order.
      properties:
        name:
          type: string
          description: Customer name.
        phone:
          type: string
          description: Customer phone number in E.164 format.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth-style scoped access token issued by /oauth/token.