openapi: 3.1.0 info: version: 1.0.0 title: Lightspeed Restaurant K Series Account Item 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: Item description: Inventory items sold and tracked in Lightspeed Retail. paths: /Account/{accountID}/Item.json: get: summary: Lightspeed List Items operationId: getItems description: Returns all active (unarchived) inventory items for the account. Supports filtering by query parameters such as upc, systemSku, and description. tags: - Item security: - OAuth2: - employee:inventory_read parameters: - $ref: '#/components/parameters/accountID' - name: limit in: query description: Maximum number of records to return per page. schema: type: integer default: 100 - name: offset in: query description: Number of records to skip for pagination. schema: type: integer default: 0 - name: upc in: query description: Filter items by Universal Product Code. schema: type: string responses: '200': description: A page of items. content: application/json: schema: type: object properties: '@attributes': $ref: '#/components/schemas/Attributes' Item: type: array items: $ref: '#/components/schemas/Item' examples: GetItems200Example: summary: Default getItems 200 response x-microcks-default: true value: '@attributes': count: 951 offset: 976 limit: 118 Item: - itemID: '500123' systemSku: SKU-1001 defaultCost: '12.50' avgCost: '12.50' description: example upc: example ean: example customSku: SKU-1001 manufacturerSku: SKU-1001 categoryID: '500123' manufacturerID: '500123' archived: false Prices: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK post: summary: Lightspeed Create Item operationId: createItem description: Creates a new inventory item in the account. tags: - Item security: - OAuth2: - employee:inventory parameters: - $ref: '#/components/parameters/accountID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Item' examples: CreateItemRequestExample: summary: Default createItem request x-microcks-default: true value: itemID: '500123' systemSku: SKU-1001 defaultCost: '12.50' avgCost: '12.50' description: example upc: example ean: example customSku: SKU-1001 manufacturerSku: SKU-1001 categoryID: '500123' manufacturerID: '500123' archived: false Prices: {} responses: '200': description: Item created. content: application/json: schema: type: object properties: Item: $ref: '#/components/schemas/Item' examples: CreateItem200Example: summary: Default createItem 200 response x-microcks-default: true value: Item: itemID: '500123' systemSku: SKU-1001 defaultCost: '12.50' avgCost: '12.50' description: example upc: example ean: example customSku: SKU-1001 manufacturerSku: SKU-1001 categoryID: '500123' manufacturerID: '500123' archived: true Prices: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /Account/{accountID}/Item/{itemID}.json: get: summary: Lightspeed Get Item by ID operationId: getItemById description: Returns a single inventory item by its itemID. tags: - Item security: - OAuth2: - employee:inventory_read parameters: - $ref: '#/components/parameters/accountID' - $ref: '#/components/parameters/itemID' responses: '200': description: The item. content: application/json: schema: type: object properties: Item: $ref: '#/components/schemas/Item' examples: GetItemById200Example: summary: Default getItemById 200 response x-microcks-default: true value: Item: itemID: '500123' systemSku: SKU-1001 defaultCost: '12.50' avgCost: '12.50' description: example upc: example ean: example customSku: SKU-1001 manufacturerSku: SKU-1001 categoryID: '500123' manufacturerID: '500123' archived: true Prices: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK put: summary: Lightspeed Update Item operationId: updateItem description: Updates an existing inventory item. tags: - Item security: - OAuth2: - employee:inventory parameters: - $ref: '#/components/parameters/accountID' - $ref: '#/components/parameters/itemID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Item' examples: UpdateItemRequestExample: summary: Default updateItem request x-microcks-default: true value: itemID: '500123' systemSku: SKU-1001 defaultCost: '12.50' avgCost: '12.50' description: example upc: example ean: example customSku: SKU-1001 manufacturerSku: SKU-1001 categoryID: '500123' manufacturerID: '500123' archived: true Prices: {} responses: '200': description: Item updated. content: application/json: schema: type: object properties: Item: $ref: '#/components/schemas/Item' examples: UpdateItem200Example: summary: Default updateItem 200 response x-microcks-default: true value: Item: itemID: '500123' systemSku: SKU-1001 defaultCost: '12.50' avgCost: '12.50' description: example upc: example ean: example customSku: SKU-1001 manufacturerSku: SKU-1001 categoryID: '500123' manufacturerID: '500123' archived: false Prices: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: summary: Lightspeed Delete Item operationId: deleteItem description: Archives (deletes) an inventory item. tags: - Item security: - OAuth2: - employee:inventory parameters: - $ref: '#/components/parameters/accountID' - $ref: '#/components/parameters/itemID' responses: '204': description: Item archived. x-microcks-operation: delay: 0 dispatcher: FALLBACK components: parameters: itemID: name: itemID in: path required: true description: The unique identifier of the item. schema: type: string accountID: name: accountID in: path required: true description: The numeric Lightspeed Retail account identifier, resolved via GET /Account.json. schema: type: string schemas: Item: type: object description: An inventory item sold and tracked in Lightspeed Retail. properties: itemID: type: string description: Unique item identifier. systemSku: type: string description: System-assigned SKU. defaultCost: type: string description: Default cost of the item. avgCost: type: string description: Weighted average cost. description: type: string description: Item description / name. upc: type: string description: Universal Product Code. ean: type: string description: International Article Number. customSku: type: string description: Merchant-defined SKU. manufacturerSku: type: string description: Manufacturer SKU. categoryID: type: string description: Identifier of the owning category. manufacturerID: type: string description: Identifier of the manufacturer. archived: type: boolean description: Whether the item has been archived. Prices: type: object description: Item pricing levels. 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. 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'