Product

CommercePoint-of-SaleRetailRestaurantInventoryLoyaltyPaymentsE-CommerceOmnichannelCanada

Properties

Name Type Description
account_code_purchase string The code used to attribute the purchase of the product to a specific account for the Xero integration.
account_code_sale string The code used to attribute the sales of the product to a specific account for the Xero integration.
all_outlets_tax object Only used for tax inclusive stores.
attributes object
brand_id string The brand ID.
composite array A list of composite components.
description string A detailed description of the Product. **Note** Can contain HTML.
dimensions_unit string Unit of measurement for product dimensions. These are used to calculate variable shipping rates for stores using Lightspeed eCom.
handle string Product handle.
height number Product height. These are used to calculate variable shipping rates for stores using Lightspeed eCom.
images array A list of image objects.
inventory array
is_active boolean Indicated whether the Product is active.
length number Product length. These are used to calculate variable shipping rates for stores using Lightspeed eCom.
loyalty_amount number The amount of loyalty the customer receives buying this item.
name string Product name. **Note:** Variants share the same name.
outlet_taxes array Only used for tax exclusive stores.
price_excluding_tax number The price before tax is added.
price_including_tax number The price including all the relevant taxes.
product_category_id string The product category.
product_codes array
product_suppliers array
product_type_id string The product category. **Note** Product types are now product categories.
sku string Product sku. **Note:** Should be unique.
source string Indicates the origin of the product. Can be USER, SHOPIFY.
source_id string External reference ID.
source_variant_id string Secondary external reference ID.
supplier_code string Supplier code.
supplier_id string The supplier ID.
supply_price number Default supply price.
tag_ids array An array of tag IDs associated with this product.
variants array
weight number Product weight. These are used to calculate variable shipping rates for stores using Lightspeed eCom.
weight_unit string Unit of measurement for product weight. These are used to calculate variable shipping rates for stores using Lightspeed eCom.
width number Product width. These are used to calculate variable shipping rates for stores using Lightspeed eCom.
View JSON Schema on GitHub

JSON Schema

lightspeed-product-create-body-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/lightspeed/main/json-schema/lightspeed-product-create-body-schema.json",
  "title": "Product",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/lightspeed-products-api-openapi.yml#/components/schemas/ProductCreateBody",
  "properties": {
    "account_code_purchase": {
      "description": "The code used to attribute the purchase of the product to a specific account for the Xero integration.",
      "type": "string"
    },
    "account_code_sale": {
      "description": "The code used to attribute the sales of the product to a specific account for the Xero integration.",
      "type": "string"
    },
    "all_outlets_tax": {
      "description": "Only used for tax inclusive stores.",
      "properties": {
        "is_default": {
          "description": "Is this the default tax.",
          "type": "boolean"
        },
        "tax_id": {
          "description": "The tax id associated with this product.",
          "format": "UUID",
          "type": "string"
        }
      },
      "type": "object"
    },
    "attributes": {
      "$ref": "#/$defs/Attribute"
    },
    "brand_id": {
      "description": "The brand ID.",
      "format": "UUID",
      "type": "string"
    },
    "composite": {
      "description": "A list of composite components.",
      "items": {
        "$ref": "#/$defs/Composite"
      },
      "type": "array"
    },
    "description": {
      "description": "A detailed description of the Product. **Note** Can contain HTML.",
      "type": "string"
    },
    "dimensions_unit": {
      "description": "Unit of measurement for product dimensions. These are used to calculate variable shipping rates for stores using Lightspeed eCom.",
      "enum": [
        "IN",
        "CM",
        "MM",
        "YD"
      ],
      "type": "string"
    },
    "handle": {
      "description": "Product handle.",
      "type": "string"
    },
    "height": {
      "description": "Product height. These are used to calculate variable shipping rates for stores using Lightspeed eCom.",
      "type": "number"
    },
    "images": {
      "description": "A list of image objects.",
      "items": {
        "$ref": "#/$defs/ProductAddImage"
      },
      "type": "array"
    },
    "inventory": {
      "items": {
        "$ref": "#/$defs/ProductAddInventoryPayload"
      },
      "type": "array"
    },
    "is_active": {
      "description": "Indicated whether the Product is active.",
      "type": "boolean"
    },
    "length": {
      "description": "Product length. These are used to calculate variable shipping rates for stores using Lightspeed eCom.",
      "type": "number"
    },
    "loyalty_amount": {
      "description": "The amount of loyalty the customer receives buying this item.",
      "type": "number"
    },
    "name": {
      "description": "Product name. **Note:** Variants share the same name.",
      "type": "string"
    },
    "outlet_taxes": {
      "description": "Only used for tax exclusive stores.",
      "items": {
        "$ref": "#/$defs/ProductAddOutletTax"
      },
      "type": "array"
    },
    "price_excluding_tax": {
      "description": "The price before tax is added.",
      "type": "number"
    },
    "price_including_tax": {
      "description": "The price including all the relevant taxes.",
      "type": "number"
    },
    "product_category_id": {
      "description": "The product category.",
      "format": "UUID",
      "type": "string"
    },
    "product_codes": {
      "items": {
        "$ref": "#/$defs/ProductCode"
      },
      "type": "array"
    },
    "product_suppliers": {
      "items": {
        "$ref": "#/$defs/ProductSupplier"
      },
      "type": "array"
    },
    "product_type_id": {
      "description": "The product category. **Note** Product types are now product categories.",
      "format": "UUID",
      "type": "string"
    },
    "sku": {
      "description": "Product sku. **Note:** Should be unique.",
      "type": "string"
    },
    "source": {
      "description": "Indicates the origin of the product. Can be USER, SHOPIFY.",
      "type": "string"
    },
    "source_id": {
      "description": "External reference ID.",
      "type": "string"
    },
    "source_variant_id": {
      "description": "Secondary external reference ID.",
      "type": "string"
    },
    "supplier_code": {
      "description": "Supplier code.",
      "type": "string"
    },
    "supplier_id": {
      "description": "The supplier ID.",
      "format": "UUID",
      "type": "string"
    },
    "supply_price": {
      "description": "Default supply price.",
      "format": "double",
      "type": "number"
    },
    "tag_ids": {
      "description": "An array of tag IDs associated with this product.",
      "items": {
        "description": "A tag ID.",
        "format": "UUID",
        "type": "string"
      },
      "type": "array"
    },
    "variants": {
      "items": {
        "$ref": "#/$defs/ProductAddVariantPayload"
      },
      "type": "array"
    },
    "weight": {
      "description": "Product weight. These are used to calculate variable shipping rates for stores using Lightspeed eCom.",
      "type": "number"
    },
    "weight_unit": {
      "description": "Unit of measurement for product weight. These are used to calculate variable shipping rates for stores using Lightspeed eCom.",
      "enum": [
        "CT",
        "G",
        "OZ",
        "LB",
        "KG"
      ],
      "type": "string"
    },
    "width": {
      "description": "Product width. These are used to calculate variable shipping rates for stores using Lightspeed eCom.",
      "type": "number"
    }
  },
  "required": [
    "name"
  ],
  "type": "object",
  "$defs": {
    "Attribute": {
      "properties": {
        "key": {
          "description": "The key for the attribute.",
          "type": "string"
        },
        "value": {
          "description": "The value for the attribute.",
          "type": "string"
        }
      },
      "required": [
        "key",
        "value"
      ],
      "title": "Attribute",
      "type": "object"
    },
    "Composite": {
      "properties": {
        "product_id": {
          "description": "The ID of the component product.",
          "format": "uuid",
          "type": "string"
        },
        "quantity": {
          "description": "The quantity of the component product.",
          "type": "number"
        }
      },
      "title": "Composite",
      "type": "object"
    },
    "ProductAddImage": {
      "properties": {
        "index": {
          "description": "The position of the image in the list of images.",
          "format": "int64",
          "type": "integer"
        },
        "location": {
          "description": "The location of the given file. Depending on the image provider type. s3 - The s3 key for s3 transfers. url - A full URL for url based images. product-image - the image id from an existing product image. sku-image - the image id from an existing variant image.\n",
          "type": "string"
        },
        "type": {
          "description": "The image provider type.",
          "enum": [
            "s3",
            "url",
            "product-image",
            "sku-image"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "location"
      ],
      "title": "Add Image",
      "type": "object"
    },
    "ProductAddInventoryPayload": {
      "properties": {
        "current_amount": {
          "description": "Current inventory at a given outlet.",
          "format": "double",
          "type": "number"
        },
        "outlet_id": {
          "description": "The outlet the inventory is for.",
          "format": "UUID",
          "type": "string"
        },
        "reorder_amount": {
          "description": "The default of the quantity for auto-filled inventory orders.",
          "type": "number"
        },
        "reorder_point": {
          "description": "Quantity below which the product should be included in the auto-filled inventory orders. use -1 to clear the reorder point.",
          "type": "number"
        }
      },
      "required": [
        "outlet_id",
        "current_amount"
      ],
      "title": "Product Add Inventory Payload",
      "type": "object"
    },
    "ProductAddOutletTax": {
      "properties": {
        "outlet_id": {
          "description": "The outlet the tax is for.",
          "format": "UUID",
          "type": "string"
        },
        "tax_id": {
          "description": "The tax id associated with this outlet.",
          "format": "UUID",
          "type": "string"
        }
      },
      "required": [
        "outlet_id",
        "tax_id"
      ],
      "title": "Product Add Outlet Tax",
      "type": "object"
    },
    "ProductAddVariantPayload": {
      "properties": {
        "all_outlets_tax": {
          "description": "Only used for tax inclusive stores.",
          "properties": {
            "is_default": {
              "description": "Is this the default tax.",
              "type": "boolean"
            },
            "tax_id": {
              "description": "The tax id associated with this product.",
              "format": "UUID",
              "type": "string"
            }
          },
          "type": "object"
        },
        "dimensions_unit": {
          "description": "Unit of measurement for product dimensions. These are used to calculate variable shipping rates for stores using Lightspeed eCom.",
          "enum": [
            "IN",
            "CM",
            "MM",
            "YD"
          ],
          "type": "string"
        },
        "height": {
          "description": "Product height. These are used to calculate variable shipping rates for stores using Lightspeed eCom.",
          "type": "number"
        },
        "images": {
          "description": "A list of image objects.",
          "items": {
            "$ref": "#/$defs/ProductAddImage"
          },
          "type": "array"
        },
        "inventory": {
          "items": {
            "$ref": "#/$defs/ProductAddInventoryPayload"
          },
          "type": "array"
        },
        "length": {
          "description": "Product length. These are used to calculate variable shipping rates for stores using Lightspeed eCom.",
          "type": "number"
        },
        "outlet_taxes": {
          "description": "Only used for tax exclusive stores.",
          "items": {
            "$ref": "#/$defs/ProductAddOutletTax"
          },
          "type": "array"
        },
        "price_excluding_tax": {
          "description": "The price before tax is added.",
          "type": "number"
        },
        "price_including_tax": {
          "description": "The price including all the relevant taxes.",
          "type": "number"
        },
        "product_codes": {
          "items": {
            "$ref": "#/$defs/ProductCode"
          },
          "type": "array"
        },
        "product_suppliers": {
          "items": {
            "$ref": "#/$defs/ProductSupplier"
          },
          "type": "array"
        },
        "sku": {
          "description": "Product sku. This value should be included in the `product_codes` array. If it's not, it will be added automatically.",
          "type": "string"
        },
        "supplier_code": {
          "description": "Supplier code.",
          "type": "string"
        },
        "supply_price": {
          "description": "Default supply price.",
          "format": "double",
          "type": "number"
        },
        "variant_definitions": {
          "description": "The attributes associated with this variant. e.g. Size.",
          "items": {
            "$ref": "#/$defs/VariantAttribute"
          },
          "type": "array"
        },
        "weight": {
          "description": "Product weight. These are used to calculate variable shipping rates for stores using Lightspeed eCom.",
          "type": "number"
        },
        "weight_unit": {
          "description": "Unit of measurement for product weight. These are used to calculate variable shipping rates for stores using Lightspeed eCom.",
          "enum": [
            "CT",
            "G",
            "OZ",
            "LB",
            "KG"
          ],
          "type": "string"
        },
        "width": {
          "description": "Product width. These are used to calculate variable shipping rates for stores using Lightspeed eCom.",
          "type": "number"
        }
      },
      "title": "Add Product Variant Payload",
      "type": "object"
    },
    "ProductCode": {
      "properties": {
        "code": {
          "description": "The sku code being added.",
          "type": "string"
        },
        "id": {
          "description": "Auto-generated object ID.",
          "type": "string"
        },
        "type": {
          "description": "The type of code being added.",
          "enum": [
            "CUSTOM",
            "EAN",
            "ISBN",
            "ITF",
            "JAN",
            "UPC"
          ],
          "type": "string"
        }
      },
      "required": [
        "code",
        "id"
      ],
      "title": "ProductCode",
      "type": "object"
    },
    "ProductSupplier": {
      "properties": {
        "code": {
          "description": "The code associated with this supplier.",
          "type": [
            "string",
            "null"
          ]
        },
        "id": {
          "description": "Auto-generated object ID.",
          "format": "UUID",
          "type": "string"
        },
        "price": {
          "description": "The price associated with this supplier.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "product_id": {
          "description": "The ID of the product.",
          "format": "UUID",
          "type": "string"
        },
        "supplier_id": {
          "description": "The ID of the supplier.",
          "format": "UUID",
          "type": [
            "string",
            "null"
          ]
        },
        "supplier_name": {
          "description": "The name of the supplier.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "id",
        "product_id",
        "supplier_id",
        "supplier_name"
      ],
      "title": "Product Supplier",
      "type": "object"
    },
    "VariantAttribute": {
      "properties": {
        "attribute_id": {
          "description": "The ID of the variant attribute.",
          "format": "uuid",
          "type": "string"
        },
        "value": {
          "description": "The value associated with the given attribute_id. e.g. Green.",
          "type": "string"
        }
      },
      "title": "Variant Attribute",
      "type": "object"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/lightspeed-product-create-body"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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.