Lightspeed Item API
Inventory items sold and tracked in Lightspeed Retail.
Inventory items sold and tracked in Lightspeed Retail.
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'