Lightspeed Commerce · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for 2026-07 Products API

9 actions 9 updates phrasing extends openapi/lightspeed-products-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Lightspeed Commerce's API. It is a proposal applied on top of the contract, not a document Lightspeed Commerce publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 9

$.info
$.paths['/products'].get
$.paths['/products'].post
$.paths['/products/{product_id}'].get
$.paths['/products/{product_id}'].put
$.paths['/products/{product_id}'].delete
$.paths['/products/{product_id}/actions/image_upload'].post
$.paths['/products/{product_id}/all'].delete
$.paths['/products/{product_id}/price_book_products'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for 2026-07 Products API
  version: 1.0.0
extends: openapi/lightspeed-products-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 8
- target: $.paths['/products'].get
  update:
    x-apievangelist-phrasing:
      intent: List products in the catalog
      effect: read
      questions:
      - How do I list all products in my retail catalog?
      - Can I filter the product list by SKU or family name?
      - Is it possible to include deleted products in the list?
      instructions:
      - text: List my products, {page_size} per page.
        slots:
          page_size: query.page_size
      - text: List products with SKU {sku}.
        slots:
          sku: query.sku
      - text: List products in family {family_name} including images.
        slots:
          family_name: query.family_name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/products'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new product
      effect: write
      questions:
      - How do I add a new product with a price and SKU?
      - Can I create a product with variants and supplier details in one call?
      instructions:
      - text: Create a product named {name} with SKU {sku} priced at {price_excluding_tax} before tax.
        slots:
          name: requestBody.name
          sku: requestBody.sku
          price_excluding_tax: requestBody.price_excluding_tax
      - text: Add new product {name} from supplier {supplier_id} with supply price {supply_price}.
        slots:
          name: requestBody.name
          supplier_id: requestBody.supplier_id
          supply_price: requestBody.supply_price
      method: generated
      generated: '2026-09-26'
- target: $.paths['/products/{product_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a single product
      effect: read
      questions:
      - How do I fetch the full details of one product by ID?
      - What price and SKU does a specific product have?
      instructions:
      - text: Get product {product_id}.
        slots:
          product_id: path.product_id
      - text: Show the details of product {product_id}.
        slots:
          product_id: path.product_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/products/{product_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing product
      effect: write
      questions:
      - How do I change the details of a product I already created?
      - Can I update shared family fields separately from variant details?
      instructions:
      - text: 'Update product {product_id} with these details: {details}.'
        slots:
          product_id: path.product_id
          details: requestBody.details
      - text: Change the common family fields on product {product_id} to {common}.
        slots:
          product_id: path.product_id
          common: requestBody.common
      method: generated
      generated: '2026-09-26'
- target: $.paths['/products/{product_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a product or single variant
      effect: destructive
      questions:
      - How do I delete one product or just one of its variants?
      - Does deleting a variant ID remove the whole family?
      instructions:
      - text: Delete product {product_id}.
        slots:
          product_id: path.product_id
      - text: Remove the single variant {product_id} from its family.
        slots:
          product_id: path.product_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/products/{product_id}/actions/image_upload'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload an image for a product
      effect: write
      questions:
      - How do I upload a product photo as a file?
      - What encoding does a product image upload need?
      instructions:
      - text: Upload image {image} to product {product_id}.
        slots:
          image: requestBody.image
          product_id: path.product_id
      - text: Attach a new photo file to product {product_id}.
        slots:
          product_id: path.product_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/products/{product_id}/all'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an entire product variant family
      effect: destructive
      questions:
      - How do I delete a product along with all of its variants?
      - Can I remove a whole variant family in one call?
      instructions:
      - text: Delete the entire variant family of product {product_id}.
        slots:
          product_id: path.product_id
      - text: Remove product {product_id} and every variant in its family.
        slots:
          product_id: path.product_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/products/{product_id}/price_book_products'].get
  update:
    x-apievangelist-phrasing:
      intent: List price books a product belongs to
      effect: read
      questions:
      - Which price books include this product?
      - How can I see special pricing entries for one product?
      instructions:
      - text: List the price books product {product_id} is in.
        slots:
          product_id: path.product_id
      - text: Show price book entries for product {product_id}.
        slots:
          product_id: path.product_id
      method: generated
      generated: '2026-09-26'