openapi: 3.1.0 info: version: 1.0.0 title: Lightspeed Restaurant K Series Account Customer 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: Customer description: Customer records and contact details. paths: /Account/{accountID}/Customer.json: get: summary: Lightspeed List Customers operationId: getCustomers description: Returns customer records for the account. tags: - Customer security: - OAuth2: - employee:customers_read parameters: - $ref: '#/components/parameters/accountID' - name: limit in: query schema: type: integer default: 100 responses: '200': description: A page of customers. content: application/json: schema: type: object properties: '@attributes': $ref: '#/components/schemas/Attributes' Customer: type: array items: $ref: '#/components/schemas/Customer' examples: GetCustomers200Example: summary: Default getCustomers 200 response x-microcks-default: true value: '@attributes': count: 739 offset: 994 limit: 647 Customer: - customerID: '500123' firstName: Sample firstName lastName: Sample lastName company: example contactID: '500123' discountID: '500123' taxCategoryID: '500123' Contact: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK post: summary: Lightspeed Create Customer operationId: createCustomer description: Creates a new customer record. tags: - Customer security: - OAuth2: - employee:customers parameters: - $ref: '#/components/parameters/accountID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Customer' examples: CreateCustomerRequestExample: summary: Default createCustomer request x-microcks-default: true value: customerID: '500123' firstName: Sample firstName lastName: Sample lastName company: example contactID: '500123' discountID: '500123' taxCategoryID: '500123' Contact: contactID: '500123' custom: example noEmail: true noPhone: true noMail: true responses: '200': description: Customer created. content: application/json: schema: type: object properties: Customer: $ref: '#/components/schemas/Customer' examples: CreateCustomer200Example: summary: Default createCustomer 200 response x-microcks-default: true value: Customer: customerID: '500123' firstName: Sample firstName lastName: Sample lastName company: example contactID: '500123' discountID: '500123' taxCategoryID: '500123' Contact: contactID: '500123' custom: example noEmail: true noPhone: true noMail: false x-microcks-operation: delay: 0 dispatcher: FALLBACK /Account/{accountID}/Customer/{customerID}.json: get: summary: Lightspeed Get Customer by ID operationId: getCustomerById description: Returns a single customer by its customerID. tags: - Customer security: - OAuth2: - employee:customers_read parameters: - $ref: '#/components/parameters/accountID' - $ref: '#/components/parameters/customerID' responses: '200': description: The customer. content: application/json: schema: type: object properties: Customer: $ref: '#/components/schemas/Customer' examples: GetCustomerById200Example: summary: Default getCustomerById 200 response x-microcks-default: true value: Customer: customerID: '500123' firstName: Sample firstName lastName: Sample lastName company: example contactID: '500123' discountID: '500123' taxCategoryID: '500123' Contact: contactID: '500123' custom: example noEmail: false noPhone: true noMail: true x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: Customer: type: object description: A customer record. properties: customerID: type: string description: Unique customer identifier. firstName: type: string description: Customer first name. lastName: type: string description: Customer last name. company: type: string description: Customer company name. contactID: type: string description: Identifier of the related contact record. discountID: type: string description: Default discount applied to the customer. taxCategoryID: type: string description: Tax category for the customer. Contact: $ref: '#/components/schemas/Contact' Contact: type: object description: Contact details associated with a customer. properties: contactID: type: string description: Unique contact identifier. custom: type: string description: Custom contact field. noEmail: type: boolean description: Whether the contact opted out of email. noPhone: type: boolean description: Whether the contact opted out of phone contact. noMail: type: boolean description: Whether the contact opted out of mail. Attributes: type: object description: Pagination metadata returned in list responses. properties: count: type: integer description: Total number of matching records. offset: type: integer description: Offset of the current page. limit: type: integer description: Page size limit. parameters: accountID: name: accountID in: path required: true description: The numeric Lightspeed Retail account identifier, resolved via GET /Account.json. schema: type: string customerID: name: customerID in: path required: true description: The unique identifier of the customer. schema: type: string 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'