Lightspeed Commerce Order and Pay API

The Order and Pay API from Lightspeed Commerce — 19 operation(s) for order and pay.

Operations 20

GET /o/op/data/businesses Get Businesses #
GET /o/op/data/{businessLocationId}/floorplans Get All Floorplans #
GET /o/op/data/{businessLocationId}/floorplans/{floorPlanId}/tables Get Floorplan Tables #
GET /o/op/data/account-profiles Get All Order Profiles #
GET /o/op/data/{businessLocationId}/account-profiles/tagcode/{tagCode} Get Single Order Profile #
GET /o/op/1/menu/list Get All Menus #
GET /o/op/1/menu/load/{menuId} Get Single Menu #
GET /o/op/2/menu/load/{menuId} Get Single Menu V2 #
GET /o/op/1/menu/modifiers Get Modifiers #
GET /o/op/1/menu/discounts Get Discounts #
POST /o/op/1/order/local Create Local Order #
POST /o/op/1/order/toGo Create To Go Order #
GET /o/op/1/order/table/getCheck Get All Open Checks #
GET /o/op/1/order/table/{tableNumber}/getCheck Get Open Check by Table #
GET /o/op/1/order/accounts/{accountIdentifier} Get Single Check #
POST /o/op/1/pay Apply a Payment #
POST /o/op/1/printMsg Print Message #
GET /o/op/1/itemAvailability Get Item Availability Information #
POST /o/op/1/itemAvailability Get Item Availability Information by POST #
GET /o/op/1/onlineOrderReadiness Get the readiness status for accepting Online Orders #

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/lightspeed-order-and-pay-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 email required.

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

OpenAPI Specification

lightspeed-order-and-pay-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Lightspeed Restaurant K Series Order and Pay API
  description: '**Lightspeed Restaurant** offers a **REST API** in order to communicate with the data in the system. These APIs are built using the RESTful standards and adhere to the basic verb interactions as defined by the REST standard.

    Detailed developer guides can be found in the [Lightspeed Restaurant API Portal](https://api-portal.lsk.lightspeed.app/).

    These services are in continuous development and subject to change. Please find our versioning policy [here](https://api-portal.lsk.lightspeed.app/quick-start/versioning).

    '
  x-logo:
    altText: Lightspeed Commerce
    url: static/lightspeed@2x.png
servers:
- url: https://api.trial.lsk.lightspeed.app
  description: Demo URL
  x-bump-branch-name: demo
- url: https://api.lsk.lightspeed.app
  description: Production URL
  x-bump-branch-name: prod
tags:
- name: Order and Pay
paths:
  /o/op/data/businesses:
    get:
      summary: Get Businesses
      operationId: apeLookupBusinesses
      description: Returns a list of all businesses and business locations associated with the access token.
      tags:
      - Order and Pay
      responses:
        '200':
          description: Businesses
          content:
            application/json:
              schema:
                items:
                  properties:
                    name:
                      example: My Awesome Business
                      description: The business name.
                      type: string
                    id:
                      example: 454335871
                      description: The unique identifier for the business.
                      type: integer
                      format: int64
                    businessLocations:
                      description: The business locations within this business.
                      items:
                        properties:
                          id:
                            $ref: '#/components/schemas/apeBusinessLocationId'
                          name:
                            example: My Awesome Business - Location 1
                            description: The business location name.
                            type: string
                        type: object
                      type: array
                  type: object
                type: array
      security:
      - OAuth2:
        - orders-api
  /o/op/data/{businessLocationId}/floorplans:
    get:
      summary: Get All Floorplans
      operationId: apeLookupFloorPlans
      description: Returns the floorplans for a specific business location.
      tags:
      - Order and Pay
      parameters:
      - schema:
          $ref: '#/components/schemas/apeBusinessLocationId'
        name: businessLocationId
        in: path
        required: true
      - name: expandTables
        in: query
        required: false
        description: 'If true, the response will include the table details for each floorplan.

          If false, the response will only include the [`name`](https://api-docs.lsk.lightspeed.app/operation/operation-apelookupfloorplans#operation-apelookupfloorplans-200-body-application-json-name) and [`id`](https://api-docs.lsk.lightspeed.app/operation/operation-apelookupfloorplans#operation-apelookupfloorplans-200-body-application-json-id) for the floorplans.'
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: Floorplans
          content:
            application/json:
              schema:
                items:
                  properties:
                    id:
                      example: 141948669132976
                      description: The unique identifier for the floorplan.
                      format: int64
                      type: integer
                    name:
                      description: The name of the floorplan.
                      example: Terrace
                      type: string
                    tables:
                      items:
                        $ref: '#/components/schemas/apeTable'
                      type: array
                  type: object
                type: array
        '404':
          description: 'Not Found


            Indicates that the business location has no floorplans configured.'
      security:
      - OAuth2:
        - orders-api
  /o/op/data/{businessLocationId}/floorplans/{floorPlanId}/tables:
    get:
      summary: Get Floorplan Tables
      operationId: apeGetTables
      description: Returns the tables for a specific floorplan of a business location
      tags:
      - Order and Pay
      parameters:
      - schema:
          $ref: '#/components/schemas/apeBusinessLocationId'
        name: businessLocationId
        in: path
        required: true
      - schema:
          $ref: '#/components/schemas/apeFloorPlanId'
        name: floorPlanId
        in: path
        required: true
      responses:
        '200':
          description: Tables
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/apeTable'
      security:
      - OAuth2:
        - orders-api
  /o/op/data/account-profiles:
    get:
      summary: Get All Order Profiles
      operationId: apeAccountProfiles
      description: 'Returns a list of active [order profiles](https://k-series-support.lightspeedhq.com/hc/en-us/articles/1260804657389-About-order-profiles) for a specific business location.


        The order profile [code](https://api-docs.lsk.lightspeed.app/operation/operation-apeaccountprofiles#operation-apeaccountprofiles-200-body-application-json-accountprofilelist-code) can be used to retrieve a specific price list when [loading a menu](https://api-docs.lsk.lightspeed.app/operation/operation-apegetmenubyid).


        Note: Order Profiles were previously called Account Profiles, and may still be referred to in this way in the API, in some cases.'
      tags:
      - Order and Pay
      parameters:
      - schema:
          $ref: '#/components/schemas/apeBusinessLocationId'
        name: businessLocationId
        in: query
        required: true
      responses:
        '200':
          description: Order profiles
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apeAccountProfiles'
      security:
      - OAuth2:
        - orders-api
  /o/op/data/{businessLocationId}/account-profiles/tagcode/{tagCode}:
    get:
      summary: Get Single Order Profile
      operationId: apeGetAccountProfile
      description: 'Returns details of an active [order profile](https://k-series-support.lightspeedhq.com/hc/en-us/articles/1260804657389-About-order-profiles) based on its [code](https://api-docs.lsk.lightspeed.app/operation/operation-apeaccountprofiles#operation-apeaccountprofiles-200-body-application-json-accountprofilelist-code).


        Note: Order Profiles were previously called Account Profiles, and may still be referred to in this way in the API, in some cases.'
      tags:
      - Order and Pay
      parameters:
      - schema:
          $ref: '#/components/schemas/apeBusinessLocationId'
        name: businessLocationId
        in: path
        required: true
      - schema:
          $ref: '#/components/schemas/apeTagCode'
        name: tagCode
        in: path
        required: true
      responses:
        '200':
          description: Order profile
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apeAccountProfile'
      security:
      - OAuth2:
        - orders-api
  /o/op/1/menu/list:
    get:
      summary: Get All Menus
      operationId: apeLoadMenus
      description: Returns a list of menus for a given business location.
      tags:
      - Order and Pay
      parameters:
      - schema:
          $ref: '#/components/schemas/apeBusinessLocationId'
        name: businessLocationId
        in: query
        required: true
      responses:
        '200':
          description: Load menus
          content:
            application/json:
              schema:
                items:
                  properties:
                    menuName:
                      description: The name of the menu.
                      example: Lunch Menu
                      type: string
                    ikentooMenuId:
                      type: integer
                      description: The unique identifier for the menu.
                      example: 141948669132851
                      format: int64
                  type: object
                type: array
      security:
      - OAuth2:
        - orders-api
  /o/op/1/menu/load/{menuId}:
    get:
      summary: Get Single Menu
      operationId: apeGetMenuById
      deprecated: true
      description: '**Deprecated:** Use [/o/op/2/menu/load/{menuId}](#/Order%20and%20Pay/getMenuByIdV2) instead. V2 includes product modifier groups and product modifiers on menu items and deal items. Returns details of a particular menu based on its unique identifier and other query parameters.'
      tags:
      - Order and Pay
      parameters:
      - name: menuId
        in: path
        required: true
        description: The unique identifier for the menu.
        schema:
          type: integer
          description: The unique identifier for the menu.
          example: 141948669132851
          format: int64
      - name: businessLocationId
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/apeBusinessLocationId'
      - name: accountProfile
        in: query
        required: false
        schema:
          type: string
          description: The order profile [`code`](https://api-docs.lsk.lightspeed.app/operation/operation-apeaccountprofiles#operation-apeaccountprofiles-200-body-application-json-accountprofilelist-code). Item prices returned will be those associated with this order profile, when applicable. See the [order profiles](https://api-portal.lsk.lightspeed.app/guides/definitions/order-profiles) definition for more details.
          example: TAKEAWAY
          default: ''
      - name: richContent
        in: query
        required: false
        schema:
          type: boolean
          description: Query parameter to include rich content of menu items.
          example: true
          default: false
      responses:
        '200':
          description: Successful retrieval of menu details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apeMenu'
        '503':
          description: Service Unavailable
          content:
            '*/*':
              schema:
                properties:
                  status:
                    enum:
                    - '503'
                    type: string
                  timestamp:
                    type: string
                    format: date-time
                  message:
                    type: string
                  apiSubExceptions:
                    items:
                      properties:
                        field:
                          type: string
                        rejectedValue:
                          type: string
                        message:
                          type: string
                      type: object
                    type: array
                type: object
      security:
      - OAuth2:
        - orders-api
  /o/op/2/menu/load/{menuId}:
    get:
      summary: Get Single Menu V2
      operationId: apeGetMenuByIdV2
      description: 'Returns details of a particular menu based on its unique identifier and other query parameters. Product modifier groups and product modifiers are always included in the response.


        **Migration from V1:** The response includes `menuModifierGroups` on each menu item and deal item, containing product modifier details (name, price, extraPrice, sku, rich data). Items with product modifier groups are no longer marked as `asSubItem`.'
      tags:
      - Order and Pay
      parameters:
      - name: menuId
        in: path
        required: true
        description: The unique identifier for the menu.
        schema:
          type: integer
          description: The unique identifier for the menu.
          example: 141948669132851
          format: int64
      - name: businessLocationId
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/apeBusinessLocationId'
      - name: accountProfile
        in: query
        required: false
        schema:
          type: string
          description: The order profile [`code`](https://api-docs.lsk.lightspeed.app/operation/operation-apeaccountprofiles#operation-apeaccountprofiles-200-body-application-json-accountprofilelist-code). Item prices returned will be those associated with this order profile, when applicable. See the [order profiles](https://api-portal.lsk.lightspeed.app/guides/definitions/order-profiles) definition for more details.
          example: TAKEAWAY
          default: ''
      - name: richContent
        in: query
        required: false
        schema:
          type: boolean
          description: Query parameter to include rich content of menu items.
          example: true
          default: false
      responses:
        '200':
          description: Successful retrieval of menu details including product modifiers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apeMenuV2'
        '503':
          description: Service Unavailable
          content:
            '*/*':
              schema:
                properties:
                  status:
                    enum:
                    - '503'
                    type: string
                  timestamp:
                    type: string
                    format: date-time
                  message:
                    type: string
                  apiSubExceptions:
                    items:
                      properties:
                        field:
                          type: string
                        rejectedValue:
                          type: string
                        message:
                          type: string
                      type: object
                    type: array
                type: object
      security:
      - OAuth2:
        - orders-api
  /o/op/1/menu/modifiers:
    get:
      summary: Get Modifiers
      operationId: apeLoadAllModifiers
      description: Returns a list of production instructions for a specific business location.
      tags:
      - Order and Pay
      parameters:
      - schema:
          $ref: '#/components/schemas/apeBusinessLocationId'
        name: businessLocationId
        in: query
        required: true
      responses:
        '200':
          description: Load modifiers
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/apeProductionInstruction'
                type: array
                examples:
                - - multiSelectionPermitted: false
                    productionInstructionGroupName: Meat cooking
                    productionIntructionGroupId: 236025632784487
                    productionInstructionList:
                    - instruction: Bleu
                      ikentooModifierId: 236025632784488
                    - instruction: Rare
                      ikentooModifierId: 236025632784490
                    - instruction: Medium Rare
                      ikentooModifierId: 236025632784492
                    - instruction: Medium
                      ikentooModifierId: 236025632784494
                    - instruction: Medium well
                      ikentooModifierId: 236025632784496
                    - instruction: Well done
                      ikentooModifierId: 236025632784498
                  - multiSelectionPermitted: false
                    productionInstructionGroupName: Fish cooking
                    productionIntructionGroupId: 236025632784501
                    productionInstructionList:
                    - instruction: Seared
                      ikentooModifierId: 236025632784502
                    - instruction: Medium
                      ikentooModifierId: 236025632784504
                    - instruction: Well done
                      ikentooModifierId: 236025632784506
                  - multiSelectionPermitted: false
                    productionInstructionGroupName: Egg cooking
                    productionIntructionGroupId: 236025632784509
                    productionInstructionList:
                    - instruction: Sunny Side
                      ikentooModifierId: 236025632784510
                    - instruction: Over Easy
                      ikentooModifierId: 236025632784512
                    - instruction: Hard
                      ikentooModifierId: 236025632784514
                    - instruction: Scrambled
                      ikentooModifierId: 236025632784516
                  - multiSelectionPermitted: false
                    productionInstructionGroupName: Garnish
                    productionIntructionGroupId: 236025632784519
                    productionInstructionList:
                    - instruction: Fries
                      ikentooModifierId: 236025632784520
                    - instruction: Pasta
                      ikentooModifierId: 236025632784522
                    - instruction: Rice
                      ikentooModifierId: 236025632784524
                    - instruction: Vegetables
                      ikentooModifierId: 236025632784526
                    - instruction: Salad
                      ikentooModifierId: 236025632784528
                  - multiSelectionPermitted: false
                    productionInstructionGroupName: Flavors
                    productionIntructionGroupId: 236025632784531
                    productionInstructionList:
                    - instruction: Vanilla
                      ikentooModifierId: 236025632784532
                    - instruction: Strawberry
                      ikentooModifierId: 236025632784534
                    - instruction: Chocolate
                      ikentooModifierId: 236025632784536
                    - instruction: Coffee
                      ikentooModifierId: 236025632784538
                    - instruction: Caramel
                      ikentooModifierId: 236025632784540
      security:
      - OAuth2:
        - orders-api
  /o/op/1/menu/discounts:
    get:
      summary: Get Discounts
      operationId: apeLoadAllDiscounts
      description: Returns a list of discounts for a specific business location.
      tags:
      - Order and Pay
      parameters:
      - schema:
          $ref: '#/components/schemas/apeBusinessLocationId'
        name: businessLocationId
        in: query
        required: true
      responses:
        '200':
          description: Load discounts
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/apeDiscount'
                type: array
                examples:
                - - name: Free
                    code: FREE
                    discountPercentage: 100.0
                  - name: Ten Euros Off
                    code: TEN_OFF
                    discountAmount: 10.0
      security:
      - OAuth2:
        - orders-api
  /o/op/1/order/local:
    post:
      summary: Create Local Order
      description: 'Creates a new dine-in order for a specific business location. See [Online Ordering Basics](https://api-portal.lsk.lightspeed.app/guides/tutorials/online-ordering-basics) for more details.


        If the [accountIdentifier](https://api-docs.lsk.lightspeed.app/operation/operation-apelocalorder#operation-apelocalorder-body-application-json-accountidentifier) of an existing order is provided in the body of the request, the request will update the existing order.'
      operationId: apeLocalOrder
      requestBody:
        content:
          application/json:
            schema:
              required:
              - businessLocationId
              - thirdPartyReference
              - endpointId
              - customerInfo
              properties:
                businessLocationId:
                  $ref: '#/components/schemas/apeBusinessLocationId'
                thirdPartyReference:
                  description: The external reference provided for this order. Must be unique. This value will be included in the order details sent to the [webhook URL](https://api-docs.lsk.lightspeed.app/operation/operation-apecreatewebhookoo#operation-apecreatewebhookoo-body-application-json-url).
                  type: string
                  minLength: 1
                  maxLength: 48
                  examples:
                  - MyAwesomeThirdPartyReference
                endpointId:
                  description: Endpoint ID for a unique webhook that has been created using [the webhook endpoint](https://api-docs.lsk.lightspeed.app/operation/operation-apecreatewebhookoo).
                  type: string
                  examples:
                  - MY-AWESOME-ENDPOINT-ID
                customerInfo:
                  $ref: '#/components/schemas/apeCustomerInfo'
                orderNote:
                  description: A note added to this order and displayed on the printed dockets.
                  type: string
                  examples:
                  - Sample Order Note
                maxTimeToAttemptOrderDeliverToPos:
                  description: '** Use of this feature is strongly recommended **


                    Maximum time to attempt delivery of this order to the POS. In milliseconds. The minimum value is 60000ms (1 minute).


                    If [`scheduledTimeForOrderAsIso8601`](https://api-docs.lsk.lightspeed.app/operation/operation-apelocalorder#operation-apelocalorder-body-application-json-scheduledtimefororderasiso8601) is used, this value will be added to the scheduled order time.'
                  type: integer
                  format: int32
                  examples:
                  - 60000
                staffId:
                  description: The unique identifier for the staff member.
                  type: integer
                  format: int64
                  examples:
                  - 1234567890
                accountProfileCode:
                  description: A valid order profile [code](https://api-docs.lsk.lightspeed.app/operation/operation-apeaccountprofiles#operation-apeaccountprofiles-200-body-application-json-accountprofilelist-code) to associate with this order. See the [order profiles](https://api-portal.lsk.lightspeed.app/guides/definitions/order-profiles) definition for more details.
                  type: string
                  examples:
                  - LOCALORDER
                scheduledTimeForOrderAsIso8601:
                  description: The time that the order will be sent to the POS. Must be in the future.
                  type: string
                  format: date-time
                  examples:
                  - '2024-04-04T09:42:00.000+00:00'
                payment:
                  $ref: '#/components/schemas/apeOrderPayment'
                collectionCode:
                  maxLength: 8
                  description: Unique collection code for this order. Generated if blank and Account Profile Delivery Mode is not local.
                  type: string
                  examples:
                  - ABC-1234
                orderCollectionTimeAsIso8601:
                  description: The expected collection time of the order. Must be in the future.
                  type: string
                  format: date-time
                  examples:
                  - '2024-04-04T09:42:00.000+00:00'
                accountId:
                  description: The system-generated account identifier for this order (Applies to iKentoo V2). If this is specified, the associated order will be updated.
                  deprecated: true
                  type: string
                  examples:
                  - '1234567890'
                accountIdentifier:
                  description: The system-generated account identifier for this order (Applies to iKentoo V3+). If this is specified, the associated order will be updated.
                  type: string
                  examples:
                  - A1235.89
                tableNumber:
                  description: The table number for this local order. If updating an existing order, (ie.`accountIdentifier` is specified), the `tableNumber` cannot be updated.
                  type: string
                  examples:
                  - '1'
                clientCount:
                  description: The number of customers for this order. If updating an existing order, (ie.`accountIdentifier` is specified), the `clientCount` cannot be updated.
                  type: integer
                  format: int32
                  examples:
                  - 4
                items:
                  description: The items in this order.
                  items:
                    $ref: '#/components/schemas/apeLocalOrderItemLine'
                  type: array
                targetPrinterProfileId:
                  description: The printer profile id to use for printing the receipt for this payment. If not provided, the default active printer profile for the business location will be used.
                  type: integer
                  format: int64
                  examples:
                  - 1773881235
              type: object
        required: true
      tags:
      - Order and Pay
      responses:
        '200':
          description: accepted
          content:
            application/json:
              schema:
                properties:
                  status:
                    description: The response.
                    type: string
                    examples:
                    - ok
                type: object
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                type: object
                description: Response object for error code 400
                properties:
                  timestamp:
                    type: string
                    format: date-time
                    description: The date and time at which the error occurred.
                    examples:
                    - 2023-11-07T19:15:05.043+0000
                  status:
                    type: integer
                    description: The HTTP status code of the error response.
                    examples:
                    - 400
                  error:
                    type: string
                    description: A brief title of the error status.
                    examples:
                    - Bad Request
                  message:
                    type: string
                    description: A message describing the nature of the error in detail.
                    examples:
                    - 'Validation failed for object=''localOrder''. Error count: 1'
                  errors:
                    type: array
                    description: An array of error details, outlining specific issues with the request.
                    items:
                      type: object
                      properties:
                        codes:
                          type: array
                          items:
                            type: string
                          description: A set of code strings that correspond to the validation error.
                          example:
                          - NotNull.localOrder.thirdPartyReference
                          - NotNull.thirdPartyReference
                          - NotNull.java.lang.String
                          - NotNull
                        arguments:
                          type: array
                          items:
                            type: object
                            properties:
                              codes:
                                type: array
                                items:
                                  type: string
                                description: Argument codes that are related to the field in validation.
                                example:
                                - localOrder.thirdPartyReference
                                - thirdPartyReference
                              defaultMessage:
                                type: string
                                description: The default message associated with the failed validation.
                                example: thirdPartyReference
                              code:
                                type: string
                                description: A single code that represents the specific validation rule that was not satisfied.
                                example: thirdPartyReference
                        defaultMessage:
                          type: string
                          description: The default error message provided when the associated field fails validation.
                          example: must not be null
                        objectName:
                          type: string
                          description: The name of the object that failed validation.
                          example: localOrder
                        field:
                          type: string
                          description: The name of the field that failed validation.
                          example: thirdPartyReference
                        bindingFailure:
                          type: boolean
                          description: Indicates whether the error was a result of a binding failure.
                          example: false
                        code:
                          type: string
                          description: A code representing the specific type of validation error.
                          example: NotNull
                  path:
                    type: string
                    description: The path of the failed request.
                    examples:
                    - /o/op/1/order/local
        '409':
          description: Conflict
          content:
            '*/*':
              schema:
                properties:
                  status:
                    description: The request status.
                    type: string
                    examples:
                    - fail
                  msg:
                    description: A message describing the error.
                    type: string
                    examples:
                    - reference has already been used 123456789
                type: object
      security:
      - OAuth2:
        - orders-api
  /o/op/1/order/toGo:
    post:
      summary: Create To Go Order
      operationId: apePlaceToGoOrder
      description: Creates a new takeaway or delivery order for a specific business location. See [Online Ordering Basics](https://api-portal.lsk.lightspeed.app/guides/tutorials/online-ordering-basics) for more details.
      requestBody:
        content:
          application/json:
            schema:
              required:
              - businessLocationId
              - thirdPartyReference
              - endpointId
              - customerInfo
              properties:
                businessLocationId:
                  $ref: '#/components/schemas/apeBusinessLocationId'
                thirdPartyReference:
                  description: The external reference provided for this order. Must be unique. This value will be included in the order details sent to the [webhook URL](https://api-docs.lsk.lightspeed.app/operation/operation-apecreatewebhookoo#operation-apecreatewebhookoo-body-application-json-url).
                  type: string
                  minLength: 1
                  maxLength: 48
                  examples:
                  - MyAwesomeThirdPartyReference
                endpointId:
                  description: Endpoint id for a unique webhook that has been created using [the webhook endpoint](https://api-docs.lsk.lightspeed.app/operation/operation-ape

# --- truncated at 32 KB (134 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lightspeed/refs/heads/main/openapi/lightspeed-order-and-pay-api-openapi.yml