Lightspeed Commerce · Schema
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. |
JSON Schema
{
"$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.
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.