Lightspeed PMS API

The PMS API from Lightspeed — 3 operation(s) for pms.

OpenAPI Specification

lightspeed-pos-pms-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: 1.0.0
  title: Lightspeed Restaurant K Series Account PMS 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: PMS
paths:
  /pms/v1/business-locations/{businessLocationId}/revenue-centers:
    get:
      summary: Lightspeed Get PMS Revenue Centers
      operationId: pms-apiGetRevenueCenters
      description: Returns a list of all POS Configurations which can be mapped to PMS Revenue Centers. For more details on revenue centers, see our [Integration Guide](https://api-portal.lsk.lightspeed.app/guides/integration-guides/property-management-systems/financial-api-endpoints#revenue-centers).
      tags:
      - PMS
      parameters:
      - name: businessLocationId
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/pms-apiBusinessLocationId'
      responses:
        '200':
          description: Found a list of Revenue Centers
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      $ref: '#/components/schemas/pms-apiRevenueCenterId'
                    name:
                      $ref: '#/components/schemas/pms-apiRevenueCenterName'
              examples:
                Pms-apiGetRevenueCenters200Example:
                  summary: Default pms-apiGetRevenueCenters 200 response
                  x-microcks-default: true
                  value:
                  - id: 343243933
                    name: Bar
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/pms-apiErrorResponse'
        '404':
          description: Invalid input business location id
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/pms-apiErrorResponse'
      security:
      - OAuth2:
        - propertymanagement
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pms/v1/providers/{id}:
    get:
      summary: Lightspeed Get a PMS Provider by ID
      operationId: pms-apiGetProvider
      description: 'Returns the details of a specific PMS provider.


        Only PMS providers created by the authenticated OAuth client will be returned.

        '
      tags:
      - PMS
      parameters:
      - in: path
        schema:
          $ref: '#/components/schemas/pms-apiProviderId'
        name: id
        required: true
      responses:
        '200':
          description: Provider found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pms-apiGetProvider'
              examples:
                Pms-apiGetProvider200Example:
                  summary: Default pms-apiGetProvider 200 response
                  x-microcks-default: true
                  value:
                    id: 3012455645
                    name: Sample name
                    apiKey: fake-secret
                    businessLocationId: 45454565682155
                    endpoint: http://integration.com/pms/endpoint
                    features:
                    - MIRRORING
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/pms-apiErrorResponse'
        '404':
          description: Provider not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/pms-apiErrorResponse'
      security:
      - OAuth2:
        - propertymanagement
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      summary: Lightspeed Update a PMS Provider
      operationId: pms-apiUpdateProvider
      description: 'Modifies the values of an existing **PMS** provider.


        Only PMS providers created by the authenticated OAuth client can be updated.

        '
      tags:
      - PMS
      parameters:
      - in: path
        schema:
          $ref: '#/components/schemas/pms-apiProviderId'
        name: id
        required: true
      requestBody:
        content:
          application/json:
            schema:
              required:
              - name
              - endpoint
              - apiKey
              - features
              properties:
                name:
                  $ref: '#/components/schemas/pms-apiProviderName'
                endpoint:
                  $ref: '#/components/schemas/pms-apiProviderEndpoint'
                apiKey:
                  $ref: '#/components/schemas/pms-apiProviderApiKey'
                features:
                  $ref: '#/components/schemas/pms-apiProviderFeatures'
              type: object
            examples:
              Pms-apiUpdateProviderRequestExample:
                summary: Default pms-apiUpdateProvider request
                x-microcks-default: true
                value:
                  name: My PMS Provider
                  endpoint: http://integration.com/pms/endpoint
                  apiKey: fake-secret
                  features:
                  - MIRRORING
        required: true
      responses:
        '200':
          description: Provider updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pms-apiGetProvider'
              examples:
                Pms-apiUpdateProvider200Example:
                  summary: Default pms-apiUpdateProvider 200 response
                  x-microcks-default: true
                  value:
                    id: 3012455645
                    name: Sample name
                    apiKey: fake-secret
                    businessLocationId: 45454565682155
                    endpoint: http://integration.com/pms/endpoint
                    features:
                    - MIRRORING
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/pms-apiErrorResponse'
        '404':
          description: Provider not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/pms-apiErrorResponse'
      security:
      - OAuth2:
        - propertymanagement
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      summary: Lightspeed Delete a PMS Provider
      operationId: pms-apiDeleteProvider
      description: Permanently removes a PMS provider from a businessLocation.
      tags:
      - PMS
      parameters:
      - in: path
        schema:
          $ref: '#/components/schemas/pms-apiProviderId'
        name: id
        required: true
      responses:
        '200':
          description: Provider deleted
          content:
            application/json:
              schema:
                type: integer
                format: int64
              examples:
                Pms-apiDeleteProvider200Example:
                  summary: Default pms-apiDeleteProvider 200 response
                  x-microcks-default: true
                  value: 650
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/pms-apiErrorResponse'
        '404':
          description: Provider not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/pms-apiErrorResponse'
      security:
      - OAuth2:
        - propertymanagement
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pms/v1/providers:
    get:
      summary: Lightspeed Get PMS Providers
      operationId: pms-apiGetProviders
      description: 'Returns a list of PMS providers that have been configured for the business location. Only PMS providers created by the authenticated OAuth client will be returned.

        '
      tags:
      - PMS
      parameters:
      - in: query
        schema:
          $ref: '#/components/schemas/pms-apiBusinessLocationId'
        name: businessLocationId
        required: false
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/pms-apiGetProvider'
              examples:
                Pms-apiGetProviders200Example:
                  summary: Default pms-apiGetProviders 200 response
                  x-microcks-default: true
                  value:
                  - id: 3012455645
                    name: Sample name
                    apiKey: fake-secret
                    businessLocationId: 45454565682155
                    endpoint: http://integration.com/pms/endpoint
                    features:
                    - MIRRORING
      security:
      - OAuth2:
        - propertymanagement
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      summary: Lightspeed Create PMS Provider
      operationId: pms-apiCreateProvider
      description: Creates a new PMS provider for the businessLocation.
      tags:
      - PMS
      requestBody:
        content:
          application/json:
            schema:
              required:
              - name
              - endpoint
              - apiKey
              - features
              - businessLocationId
              properties:
                businessLocationId:
                  $ref: '#/components/schemas/pms-apiBusinessLocationId'
                name:
                  $ref: '#/components/schemas/pms-apiProviderName'
                endpoint:
                  $ref: '#/components/schemas/pms-apiProviderEndpoint'
                apiKey:
                  $ref: '#/components/schemas/pms-apiProviderApiKey'
                features:
                  $ref: '#/components/schemas/pms-apiProviderFeatures'
              type: object
            examples:
              Pms-apiCreateProviderRequestExample:
                summary: Default pms-apiCreateProvider request
                x-microcks-default: true
                value:
                  businessLocationId: 45454565682155
                  name: My PMS Provider
                  endpoint: http://integration.com/pms/endpoint
                  apiKey: fake-secret
                  features:
                  - MIRRORING
        required: true
      responses:
        '200':
          description: Provider created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pms-apiGetProvider'
              examples:
                Pms-apiCreateProvider200Example:
                  summary: Default pms-apiCreateProvider 200 response
                  x-microcks-default: true
                  value:
                    id: 3012455645
                    name: Sample name
                    apiKey: fake-secret
                    businessLocationId: 45454565682155
                    endpoint: http://integration.com/pms/endpoint
                    features:
                    - MIRRORING
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/pms-apiErrorResponse'
        '404':
          description: Provider not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/pms-apiErrorResponse'
      security:
      - OAuth2:
        - propertymanagement
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    pms-apiProviderName:
      description: The name of the PMS provider.
      type: string
      minLength: 1
      maxLength: 255
      example: My PMS Provider
    pms-apiRevenueCenterName:
      example: Bar
      description: The name of the revenue center.
      type: string
    pms-apiBusinessLocationId:
      description: The unique identifier for the business location.
      type: integer
      format: int64
      example: 45454565682155
    pms-apiProviderFeatures:
      type: array
      uniqueItems: true
      description: The optional features that the PMS provider supports. See the [Integration Guide](https://api-portal.lsk.lightspeed.app/category/property-management-systems) for more details.
      items:
        $ref: '#/components/schemas/pms-apiProviderFeature'
    pms-apiProviderFeature:
      type: string
      enum:
      - SEARCH_BY_NAME
      - MIRRORING
      - PARTIAL_PAYMENTS
      - MULTI_PAYMENTS
      - SERVICE_CHARGE
      - ENRICHED_PAYLOAD
      example: MIRRORING
    pms-apiGetProvider:
      properties:
        id:
          description: The unique identifier for the provider.
          type: integer
          format: int64
          example: 3012455645
        name:
          description: The name of the PMS provider.
          type: string
        apiKey:
          description: The API key for the PMS provider.
          type: string
          example: fake-secret
        businessLocationId:
          description: The unique identifier for the business location.
          type: integer
          format: int64
          example: 45454565682155
        endpoint:
          description: The endpoint of the PMS provider. This is where Lightspeed will send PMS requests.
          type: string
          example: http://integration.com/pms/endpoint
        features:
          description: The optional features that the PMS provider supports. See the [Integration Guide](https://api-portal.lsk.lightspeed.app/category/property-management-systems) for more details.
          items:
            $ref: '#/components/schemas/pms-apiProviderFeature'
          type: array
          uniqueItems: true
      type: object
    pms-apiProviderId:
      description: The unique identifier for the provider.
      type: integer
      format: int64
      example: 3012455645
    pms-apiProviderApiKey:
      description: The API key for the PMS provider.
      type: string
      minLength: 1
      maxLength: 255
      example: fake-secret
    pms-apiProviderEndpoint:
      description: The endpoint of the PMS provider. This is where Lightspeed will send PMS requests.
      type: string
      minLength: 1
      maxLength: 255
      example: http://integration.com/pms/endpoint
    pms-apiErrorResponse:
      type: object
      properties:
        status:
          type: string
        timestamp:
          type: string
          format: date-time
        message:
          type: string
        apiSubExceptions:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              rejectedValue:
                type: object
              message:
                type: string
    pms-apiRevenueCenterId:
      example: 343243933
      description: The unique identifier for the revenue center.
      type: integer
      format: int64
  securitySchemes:
    OAuth2:
      description: 'The Lightspeed Restaurant K-Series APIs support OAuth2 authentication using the [authorization code grant flow](https://www.oauth.com/oauth2-servers/server-side-apps/authorization-code/).

        See our [Authorization Quick Start Guide](https://api-portal.lsk.lightspeed.app/quick-start/authentication/authorization-overview) for more details on how to authenticate.

        '
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: /oauth/authorize
          tokenUrl: /oauth/token
          scopes:
            orders-api: 'Read business information, floors, menus, discounts, and production instructions.

              Read and write orders and payments. Read [Rich Item](https://api-docs.lsk.lightspeed.app/prod/group/endpoint-rich-item) data.'
            financial-api: Read financial data
            reservation-***: Platform reservations scope. The `***` will be replaced by the [platform-code](https://api-docs.lsk.lightspeed.app/operation/operation-reservation-servicesetbyplatformcode#operation-reservation-servicesetbyplatformcode-platform-code) of the reservation platform.
            items: Read and write items
            propertymanagement: Read and write Property Management System configurations.
            id-cards: Create and manage ID card batches and cards.
            staff-api: Read shift information, read and write user information.
            reservations-api: 'Configure *legacy* reservation integrations.

              **Note:** This API will eventually be deprecated in favour of the new [Reservations for Platforms](https://api-docs.lsk.lightspeed.app/group/endpoint-reservations-for-platforms) API.

              More information on the new reservations workflows can be found in the [Integration Guide](https://api-portal.lsk.lightspeed.app/category/reservations).'
x-tagGroups:
- name: Rich Item API
  tags:
  - Rich Item
  - Migration
- name: Tax Preview API
  tags:
  - Tax Breakdown
- name: Staff Api
  tags:
  - Staff
  - Internal Staff
- name: Reservation API
  tags:
  - Reservations for Platforms
- name: PMS API
  tags:
  - PMS
- name: Items API
  tags:
  - Items
  - ItemsV2
  - Menus
  - Buttons
  - Production Instructions
  - Inventory
  - Combos
  - Groups
  - MenusV2
  - Accounting Group
  - IntegrationMenu
  - Price Lists
  - Products
  - ItemAppearance
  - Modifiers
  - ModifierGroups
  - Allergens
  - Locales
  - RichItem
- name: id-cards-api API
  tags:
  - ID Cards
- name: Financial API
  tags:
  - Financial
  - FinancialV2
- name: Online Ordering API
  tags:
  - Order and Pay
  - 'Order and Pay: Webhook'