Lightspeed Order and Pay API

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

OpenAPI Specification

lightspeed-pos-order-and-pay-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: 1.0.0
  title: Lightspeed Restaurant K Series Account 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
  contact:
    name: Lightspeed Commerce
    url: https://api-portal.lsk.lightspeed.app/
  x-generated-from: documentation
  x-last-validated: '2026-06-02'
  x-source-url: https://api-docs.lsk.lightspeed.app/source.json
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: Lightspeed 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
              examples:
                ApeLookupBusinesses200Example:
                  summary: Default apeLookupBusinesses 200 response
                  x-microcks-default: true
                  value:
                  - name: My Awesome Business
                    id: 454335871
                    businessLocations:
                    - id: 45454565682155
                      name: My Awesome Business - Location 1
      security:
      - OAuth2:
        - orders-api
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /o/op/data/{businessLocationId}/floorplans:
    get:
      summary: Lightspeed 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
              examples:
                ApeLookupFloorPlans200Example:
                  summary: Default apeLookupFloorPlans 200 response
                  x-microcks-default: true
                  value:
                  - id: 141948669132976
                    name: Terrace
                    tables:
                    - number: 1
                      reference: abcdefg123456
                      id: '141948669132977'
                      active: true
                      description: Table 1
                      defaultClientCount: 4
        '404':
          description: 'Not Found


            Indicates that the business location has no floorplans configured.'
      security:
      - OAuth2:
        - orders-api
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /o/op/data/{businessLocationId}/floorplans/{floorPlanId}/tables:
    get:
      summary: Lightspeed 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'
              examples:
                ApeGetTables200Example:
                  summary: Default apeGetTables 200 response
                  x-microcks-default: true
                  value:
                  - number: 1
                    reference: abcdefg123456
                    id: '141948669132977'
                    active: true
                    description: Table 1
                    defaultClientCount: 4
      security:
      - OAuth2:
        - orders-api
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /o/op/data/account-profiles:
    get:
      summary: Lightspeed 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'
              examples:
                ApeAccountProfiles200Example:
                  summary: Default apeAccountProfiles 200 response
                  x-microcks-default: true
                  value:
                    businessLocationId: 45454565682155
                    accountProfileList:
                    - id: 12454575601144
                      code: takeaway
                      name: Takeaway
                      deliveryMode: TAKE_AWAY
      security:
      - OAuth2:
        - orders-api
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /o/op/data/{businessLocationId}/account-profiles/tagcode/{tagCode}:
    get:
      summary: Lightspeed 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'
              examples:
                ApeGetAccountProfile200Example:
                  summary: Default apeGetAccountProfile 200 response
                  x-microcks-default: true
                  value:
                    id: 12454575601144
                    code: takeaway
                    name: Takeaway
                    deliveryMode: TAKE_AWAY
      security:
      - OAuth2:
        - orders-api
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /o/op/1/menu/list:
    get:
      summary: Lightspeed 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
              examples:
                ApeLoadMenus200Example:
                  summary: Default apeLoadMenus 200 response
                  x-microcks-default: true
                  value:
                  - menuName: Lunch Menu
                    ikentooMenuId: 141948669132851
      security:
      - OAuth2:
        - orders-api
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /o/op/1/menu/load/{menuId}:
    get:
      summary: Lightspeed 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'
              examples:
                ApeGetMenuById200Example:
                  summary: Default apeGetMenuById 200 response
                  x-microcks-default: true
                  value:
                    menuName: Main Menu
                    menuEntryGroups:
                    - '@type': group
                      id: '141948669133028'
                      name: Mains
                      color: blue
                      menuEntry: []
                    richDataMissing: false
                    ikentooMenuId: 141948669132851
                    conditionalTaxRules: false
        '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
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /o/op/2/menu/load/{menuId}:
    get:
      summary: Lightspeed 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'
              examples:
                ApeGetMenuByIdV2200Example:
                  summary: Default apeGetMenuByIdV2 200 response
                  x-microcks-default: true
                  value:
                    menuName: Main Menu
                    menuEntryGroups:
                    - '@type': group
                      id: '141948669133028'
                      name: Mains
                      color: blue
                      menuEntry: []
                    richDataMissing: false
                    ikentooMenuId: 141948669132851
                    conditionalTaxRules: false
        '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
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /o/op/1/menu/modifiers:
    get:
      summary: Lightspeed 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
              examples:
                ApeLoadAllModifiers200Example:
                  summary: Default apeLoadAllModifiers 200 response
                  x-microcks-default: true
                  value:
                  - multiSelectionPermitted: true
                    productionInstructionGroupName: Sample productionInstructionGroupName
                    productionIntructionGroupId: 760
                    productionInstructionList:
                    - {}
      security:
      - OAuth2:
        - orders-api
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /o/op/1/menu/discounts:
    get:
      summary: Lightspeed 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
              examples:
                ApeLoadAllDiscounts200Example:
                  summary: Default apeLoadAllDiscounts 200 response
                  x-microcks-default: true
                  value:
                  - name: Staff Discount
                    code: STAFF
                    discountPercentage: 15
                    discountAmount: 5
      security:
      - OAuth2:
        - orders-api
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /o/op/1/order/local:
    post:
      summary: Lightspeed 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'
                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
            examples:
              ApeLocalOrderRequestExample:
                summary: Default apeLocalOrder request
                x-microcks-default: true
                value:
                  businessLocationId: 45454565682155
                  thirdPartyReference: example
                  endpointId: '500123'
                  customerInfo:
                    firstName: Jane
                    lastName: Doe
                    thirdPartyReference: ZEN-7074522d-c71d-403f
                    email: jane.doe@example.com
                    contactNumberAsE164: '+14155552671'
                    notes: Notes about the customer.
                    salutation: Mr.
                    sendEmailReceipts: true
                    emailNotification: DONT_CHANGE
                  orderNote: example
                  maxTimeToAttemptOrderDeliverToPos: 510
                  staffId: 131
                  accountProfileCode: example
                  scheduledTimeForOrderAsIso8601: '2026-03-15T14:30:00Z'
                  payment:
                    paymentMethod: OOPAYMENT
                    paymentAmount: 14.0
                    tipAmount: 2.0
                  accountId: '500123'
                  accountIdentifier: '500123'
                  tableNumber: example
                  clientCount: 776
                  items:
                  - quantity: 1
                    sku: UGG-BB-PUR-06
                    customItemName: My Custom Item Name
                    customItemPrice: 10.0
                    discountAmountOverride: 5.0
                    discountPercentOverride: 10.0
                    modifiers:
                    - {}
            

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