Lightspeed Item API

Inventory items sold and tracked in Lightspeed Retail.

OpenAPI Specification

lightspeed-pos-item-api-openapi.yml Raw ↑
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'