Lightspeed Items API

The Items API from Lightspeed — 2 operation(s) for items.

OpenAPI Specification

lightspeed-pos-items-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: 1.0.0
  title: Lightspeed Restaurant K Series Account Items 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: Items
paths:
  /items/v1/items/{id}:
    get:
      summary: Lightspeed Get Item by ID
      operationId: items-apiGetItemById
      description: Returns the details of a specific item.
      tags:
      - Items
      parameters:
      - in: path
        schema:
          $ref: '#/components/schemas/items-apiItemId'
        name: id
        required: true
      - in: query
        name: businessLocationId
        schema:
          $ref: '#/components/schemas/items-apiBusinessLocationId'
        required: true
      responses:
        '200':
          description: Item found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/items-apiItemDTO'
              examples:
                Items-apiGetItemById200Example:
                  summary: Default items-apiGetItemById 200 response
                  x-microcks-default: true
                  value:
                    id: 3012455645
                    name: Burger
                    docketName: The Burger
                    sku: UGG-BB-PUR-06
                    active: true
                    barcode: '00000001'
                    barcodes:
                    - '10011101100'
                    accountingGroup:
                      id: 40570261078058
                      name: Alcoholic beverages
                    statisticGroups:
                    - category: default
                      value: Food
                    costPrice: 5.0
                    prices:
                    - amount: 10.0
                      name: Tuesday Special
                    sharingType: SHARED
                    priceMode: POSITIVE_OPEN_PRICE
                    inventorySource: PURCHASED
                    disabled: false
                    contentDimension: MASS
                    contentUom: kg
                    contentValue: 1
                    itemType: ITEM
        '404':
          description: Item not found
          content:
            '*/*':
              schema:
                properties:
                  status:
                    enum:
                    - '404'
                    type: string
                  timestamp:
                    type: string
                    format: date-time
                  message:
                    type: string
                  apiSubExceptions:
                    items:
                      properties:
                        field:
                          type: string
                        rejectedValue:
                          type: string
                        message:
                          type: string
                      type: object
                    type: array
                type: object
      security:
      - OAuth2:
        - items
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      summary: Lightspeed Update Item by ID
      description: Modifies the values of an existing item.
      operationId: items-apiPut
      tags:
      - Items
      parameters:
      - in: path
        name: id
        schema:
          $ref: '#/components/schemas/items-apiItemId'
        required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/items-apiUpdateItemDTO'
            examples:
              Items-apiPutRequestExample:
                summary: Default items-apiPut request
                x-microcks-default: true
                value:
                  name: Burger
                  businessLocationId: 45454565682155
                  docketName: The Burger
                  sku: UGG-BB-PUR-06
                  active: true
                  barcode: '10011101100'
                  barcodes:
                  - '10011101100'
                  accountingGroupId: 462478248241
                  costPrice: 5.0
                  defaultPrice: 10
                  priceMode: PERCENT
        required: true
      responses:
        '200':
          description: Item updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/items-apiItemDTO'
              examples:
                Items-apiPut200Example:
                  summary: Default items-apiPut 200 response
                  x-microcks-default: true
                  value:
                    id: 3012455645
                    name: Burger
                    docketName: The Burger
                    sku: UGG-BB-PUR-06
                    active: true
                    barcode: '00000001'
                    barcodes:
                    - '10011101100'
                    accountingGroup:
                      id: 40570261078058
                      name: Alcoholic beverages
                    statisticGroups:
                    - category: default
                      value: Food
                    costPrice: 5.0
                    prices:
                    - amount: 10.0
                      name: Tuesday Special
                    sharingType: SHARED
                    priceMode: POSITIVE_OPEN_PRICE
                    inventorySource: PURCHASED
                    disabled: false
                    contentDimension: MASS
                    contentUom: kg
                    contentValue: 1
                    itemType: ITEM
        '400':
          description: Constraint violation
          content:
            '*/*':
              schema:
                properties:
                  status:
                    enum:
                    - '400'
                    type: string
                  timestamp:
                    type: string
                    format: date-time
                  message:
                    type: string
                  apiSubExceptions:
                    items:
                      properties:
                        field:
                          type: string
                        rejectedValue:
                          type: string
                        message:
                          type: string
                      type: object
                    type: array
                type: object
      security:
      - OAuth2:
        - items
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /items/v1/items:
    get:
      summary: Lightspeed Get All Items
      operationId: items-apiGetItems
      description: Returns the items for a specific business location. Supports searching by [`accountingGroupId`](#operation-getitems-accountinggroupid), [`name`](#operation-getitems-name), [`sku`](#operation-getitems-sku), or [`itemIds`](#operation-getitems-itemids).
      tags:
      - Items
      parameters:
      - in: query
        name: businessLocationId
        schema:
          $ref: '#/components/schemas/items-apiBusinessLocationId'
        required: true
      - in: query
        name: sku
        schema:
          $ref: '#/components/schemas/items-apiSku'
        required: false
      - in: query
        name: name
        schema:
          $ref: '#/components/schemas/items-apiName'
        required: false
      - in: query
        name: accountingGroupId
        schema:
          $ref: '#/components/schemas/items-apiAccountingGroupId'
        required: false
      - in: query
        name: itemIds
        description: Optional list of item IDs to retrieve. When provided, offset and amount are ignored; all matching items are returned.
        required: false
        schema:
          type: array
          items:
            type: integer
            format: int64
          maxItems: 200
      - in: query
        name: offset
        schema:
          $ref: '#/components/schemas/items-apiOffset'
        required: false
      - in: query
        name: amount
        schema:
          $ref: '#/components/schemas/items-apiAmount'
        required: false
      responses:
        '200':
          description: Item found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/items-apiItemDTO'
              examples:
                Items-apiGetItems200Example:
                  summary: Default items-apiGetItems 200 response
                  x-microcks-default: true
                  value:
                    id: 3012455645
                    name: Burger
                    docketName: The Burger
                    sku: UGG-BB-PUR-06
                    active: true
                    barcode: '00000001'
                    barcodes:
                    - '10011101100'
                    accountingGroup:
                      id: 40570261078058
                      name: Alcoholic beverages
                    statisticGroups:
                    - category: default
                      value: Food
                    costPrice: 5.0
                    prices:
                    - amount: 10.0
                      name: Tuesday Special
                    sharingType: SHARED
                    priceMode: POSITIVE_OPEN_PRICE
                    inventorySource: PURCHASED
                    disabled: false
                    contentDimension: MASS
                    contentUom: kg
                    contentValue: 1
                    itemType: ITEM
        '400':
          description: Constraint violation
          content:
            '*/*':
              schema:
                properties:
                  status:
                    enum:
                    - '400'
                    type: string
                  timestamp:
                    type: string
                    format: date-time
                  message:
                    type: string
                  apiSubExceptions:
                    items:
                      properties:
                        field:
                          type: string
                        rejectedValue:
                          type: string
                        message:
                          type: string
                      type: object
                    type: array
                type: object
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                properties:
                  status:
                    enum:
                    - '404'
                    type: string
                  timestamp:
                    type: string
                    format: date-time
                  message:
                    type: string
                  apiSubExceptions:
                    items:
                      properties:
                        field:
                          type: string
                        rejectedValue:
                          type: string
                        message:
                          type: string
                      type: object
                    type: array
                type: object
      security:
      - OAuth2:
        - items
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      summary: Lightspeed Create Item
      operationId: items-apiCreateItem
      description: Create a new item for a specific business location.
      tags:
      - Items
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/items-apiCreateItemDTO'
            examples:
              Items-apiCreateItemRequestExample:
                summary: Default items-apiCreateItem request
                x-microcks-default: true
                value:
                  name: Burger
                  businessLocationId: 45454565682155
                  docketName: The Burger
                  sku: UGG-BB-PUR-06
                  active: true
                  barcode: '10011101100'
                  barcodes:
                  - '10011101100'
                  accountingGroupId: 462478248241
                  costPrice: 5.0
                  defaultPrice: 10
                  priceMode: PERCENT
        required: true
      responses:
        '201':
          description: Item created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/items-apiItemDTO'
              examples:
                Items-apiCreateItem201Example:
                  summary: Default items-apiCreateItem 201 response
                  x-microcks-default: true
                  value:
                    id: 3012455645
                    name: Burger
                    docketName: The Burger
                    sku: UGG-BB-PUR-06
                    active: true
                    barcode: '00000001'
                    barcodes:
                    - '10011101100'
                    accountingGroup:
                      id: 40570261078058
                      name: Alcoholic beverages
                    statisticGroups:
                    - category: default
                      value: Food
                    costPrice: 5.0
                    prices:
                    - amount: 10.0
                      name: Tuesday Special
                    sharingType: SHARED
                    priceMode: POSITIVE_OPEN_PRICE
                    inventorySource: PURCHASED
                    disabled: false
                    contentDimension: MASS
                    contentUom: kg
                    contentValue: 1
                    itemType: ITEM
        '404':
          description: Could not create item
          content:
            '*/*':
              schema:
                properties:
                  status:
                    enum:
                    - '404'
                    type: string
                  timestamp:
                    type: string
                    format: date-time
                  message:
                    type: string
                  apiSubExceptions:
                    items:
                      properties:
                        field:
                          type: string
                        rejectedValue:
                          type: string
                        message:
                          type: string
                      type: object
                    type: array
                type: object
      security:
      - OAuth2:
        - items
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    items-apiItemId:
      description: The unique identifier for the item.
      type: integer
      format: int64
      example: 141948669132862
    items-apiBusinessLocationId:
      description: The unique identifier for the business location.
      type: integer
      format: int64
      example: 45454565682155
    items-apiOffset:
      example: 10
      default: 0
      description: 'Offset allows you to retrieve a subset of records starting from a specified position in the dataset. Offset normally works with [`amount`](#operation-getitems-amount), which designates how many records to retrieve, starting from the offset position.

        '
      type: integer
      format: int64
    items-apiDefaultPrice:
      example: 10
      type: number
      description: The default price of the item.
    items-apiActive:
      type: boolean
      description: Indicates whether or not the item is archived from the menu.
      example: true
    items-apiDocketName:
      example: The Burger
      maxLength: 64
      type: string
      description: The name used in the docket for the item.
    items-apiCostPrice:
      type: number
      description: The cost price of the item.
      example: 5.0
    items-apiPriceMode:
      description: The type of price for the item.
      example: PERCENT
      enum:
      - AMOUNT
      - PERCENT
      - POSITIVE_OPEN_PRICE
      - NEGATIVE_OPEN_PRICE
      default: AMOUNT
      type: string
    items-apiUpdateItemDTO:
      required:
      - name
      - businessLocationId
      - sku
      - defaultPrice
      - accountingGroupId
      type: object
      properties:
        name:
          $ref: '#/components/schemas/items-apiName'
        businessLocationId:
          $ref: '#/components/schemas/items-apiBusinessLocationId'
        docketName:
          $ref: '#/components/schemas/items-apiDocketName'
        sku:
          $ref: '#/components/schemas/items-apiSku'
        active:
          $ref: '#/components/schemas/items-apiActive'
        barcode:
          example: '10011101100'
          maxLength: 64
          type: string
          description: The item barcode.
        barcodes:
          type: array
          description: A list of barcodes associated with the item.
          items:
            type: string
            maxLength: 64
            minLength: 1
            example: '10011101100'
        accountingGroupId:
          example: 462478248241
          description: The unique identifier for the accounting group. Must be an existing `accountingGroupId`.
          type: integer
          format: int64
        costPrice:
          $ref: '#/components/schemas/items-apiCostPrice'
        defaultPrice:
          $ref: '#/components/schemas/items-apiDefaultPrice'
        priceMode:
          $ref: '#/components/schemas/items-apiPriceMode'
    items-apiAmount:
      description: The number of results to return with each request.
      example: 10
      default: 100
      maximum: 1000
      type: integer
      format: int64
    items-apiItemDTO:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: The unique identifier for the item.
          example: 3012455645
        name:
          type: string
          description: The name of the item.
          example: Burger
        docketName:
          $ref: '#/components/schemas/items-apiDocketName'
        sku:
          $ref: '#/components/schemas/items-apiSku'
        active:
          $ref: '#/components/schemas/items-apiActive'
        barcode:
          type: string
          description: The item barcode.
          example: '00000001'
        barcodes:
          type: array
          items:
            type: string
            example: '10011101100'
          description: A list of barcodes associated with the item.
        accountingGroup:
          $ref: '#/components/schemas/items-apiAccountingGroupDTO'
        statisticGroups:
          type: array
          items:
            $ref: '#/components/schemas/items-apiStatisticGroupDTO'
          description: List of statistic groups associated with the item.
        costPrice:
          $ref: '#/components/schemas/items-apiCostPrice'
        prices:
          type: array
          items:
            $ref: '#/components/schemas/items-apiPriceDTO'
          description: List of prices associated with the item.
        sharingType:
          type: string
          enum:
          - GLOBAL_NO_BL
          - GLOBAL
          - LOCAL
          - SHARED
          description: How the item is shared.
          example: SHARED
        priceMode:
          type: string
          enum:
          - AMOUNT
          - PERCENT
          - POSITIVE_OPEN_PRICE
          - NEGATIVE_OPEN_PRICE
          default: AMOUNT
          description: The type of price for the item.
          example: POSITIVE_OPEN_PRICE
        inventorySource:
          type: string
          enum:
          - PURCHASED
          - PRODUCED
          description: Source of inventory for the item.
          example: PURCHASED
        disabled:
          type: boolean
          description: Whether or not stock management is disabled for the item.
          example: false
        contentDimension:
          description: How the item is measured for stock management.
          type: string
          enum:
          - DIMENSION_LESS
          - VOLUME
          - MASS
          example: MASS
        contentUom:
          type: string
          description: The unit of measure of the item for stock management.
          example: kg
        contentValue:
          type: number
          example: 1
          description: The measurement value.
        itemType:
          type: string
          enum:
          - ITEM
          - SEQUENCE
          - GROUP
          - SUB_ITEM
          description: Type of the item.
          example: ITEM
    items-apiPriceDTO:
      properties:
        amount:
          type: number
          example: 10.0
          description: The item price.
        name:
          type: string
          example: Tuesday Special
          description: The name for this item price.
      type: object
    items-apiAccountingGroupDTO:
      description: The accounting group associated with the item.
      properties:
        id:
          format: int64
          type: integer
          description: The unique identifier for the accounting group.
          example: 40570261078058
        name:
          type: string
          description: The name of the accounting group.
          example: Alcoholic beverages
      type: object
    items-apiAccountingGroupId:
      example: 44874545485
      description: The unique identifier for the accounting group.
      type: integer
      format: int64
    items-apiStatisticGroupDTO:
      properties:
        category:
          type: string
          description: The name of the statistic group category.
          example: default
        value:
          type: string
          description: The statistic group value.
          example: Food
      type: object
    items-apiCreateItemDTO:
      required:
      - name
      - accountingGroupId
      - defaultPrice
      - businessLocationId
      type: object
      properties:
        name:
          $ref: '#/components/schemas/items-apiName'
        businessLocationId:
          $ref: '#/components/schemas/items-apiBusinessLocationId'
        docketName:
          $ref: '#/components/schemas/items-apiDocketName'
        sku:
          $ref: '#/components/schemas/items-apiSku'
        active:
          $ref: '#/components/schemas/items-apiActive'
        barcode:
          example: '10011101100'
          maxLength: 64
          type: string
          description: The item barcode.
        barcodes:
          type: array
          description: A list of barcodes associated with the item.
          items:
            type: string
            maxLength: 64
            minLength: 1
            example: '10011101100'
        accountingGroupId:
          example: 462478248241
          description: The unique identifier for the accounting group. Must be an existing `accountingGroupId`.
          type: integer
          format: int64
        costPrice:
          $ref: '#/components/schemas/items-apiCostPrice'
        defaultPrice:
          $ref: '#/components/schemas/items-apiDefaultPrice'
        priceMode:
          $ref: '#/components/schemas/items-apiPriceMode'
    items-apiSku:
      example: UGG-BB-PUR-06
      maxLength: 32
      minLength: 1
      description: A stock keeping unit.
      type: string
    items-apiName:
      example: Burger
      maxLength: 180
      minLength: 1
      description: The name of the item.
      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'