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'