Lightspeed Item API
Inventory items sold and tracked in Lightspeed Retail.
Inventory items sold and tracked in Lightspeed Retail.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/lightspeed-pos-item-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Lightspeed Retail R-Series Item API
description: 'OpenAPI 3.1 representation of the Lightspeed Retail R-Series REST API
(the original Lightspeed Retail / Retail Pro cloud POS). The R-Series API
is documented at https://developers.lightspeedhq.com/retail/introduction/introduction/
and exposes account-scoped resources under
https://api.lightspeedapp.com/API/V3/Account/{accountID}. It uses OAuth 2.0
with scope-based access control and supports both JSON (`.json`) and XML
response formats. The numeric `accountID` is not the OAuth client_id; it
must be resolved via `GET /API/V3/Account.json` immediately after the token
exchange and is required for every subsequent account-scoped call.
'
version: 3.0.0
contact:
name: Lightspeed Commerce
url: https://developers.lightspeedhq.com/retail/introduction/introduction/
x-generated-from: documentation
x-last-validated: '2026-06-02'
x-source-url: https://developers.lightspeedhq.com/retail/introduction/introduction/
servers:
- url: https://api.lightspeedapp.com/API/V3
description: Lightspeed Retail R-Series API host.
security:
- OAuth2: []
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:
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.
parameters:
accountID:
name: accountID
in: path
required: true
description: The numeric Lightspeed Retail account identifier, resolved via GET /Account.json.
schema:
type: string
itemID:
name: itemID
in: path
required: true
description: The unique identifier of the item.
schema:
type: string
securitySchemes:
OAuth2:
type: oauth2
description: OAuth 2.0 authorization-code flow with scope-based access control.
flows:
authorizationCode:
authorizationUrl: https://cloud.lightspeedapp.com/oauth/authorize.php
tokenUrl: https://cloud.lightspeedapp.com/oauth/access_token.php
scopes:
employee:all: Full access to all account resources.
employee:admin: Manage employees and shops.
employee:inventory: Create and modify inventory items.
employee:inventory_read: Read inventory items and catalog.
employee:register: Create sales at the register.
employee:reports: Read sales and reporting data.
employee:customers: Create and modify customers.
employee:customers_read: Read customers.