Lightspeed Commerce · Schema
Supplier Collection
CommercePoint-of-SaleRetailRestaurantInventoryLoyaltyPaymentsE-CommerceOmnichannelCanada
Properties
| Name | Type | Description |
|---|---|---|
| data | array | An array of Suppliers wrapped in top level `data` object. |
| version | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/lightspeed/main/json-schema/lightspeed-supplier-collection-schema.json",
"title": "Supplier Collection",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/lightspeed-suppliers-api-openapi.yml#/components/schemas/SupplierCollection",
"properties": {
"data": {
"description": "An array of Suppliers wrapped in top level `data` object.",
"items": {
"$ref": "#/$defs/Supplier"
},
"type": "array"
},
"version": {
"$ref": "#/$defs/Version"
}
},
"required": [
"data",
"version"
],
"type": "object",
"$defs": {
"BaseSupplier": {
"properties": {
"contact": {
"description": "Contact information for the supplier.",
"properties": {
"company_name": {
"description": "The name of the supplier company. This field is defaulted to the supplier name if not provided.",
"type": [
"string",
"null"
]
},
"email": {
"description": "The contact email of the supplier.",
"type": [
"string",
"null"
]
},
"fax": {
"description": "Fax number of the supplier.",
"type": [
"string",
"null"
]
},
"first_name": {
"description": "The firstname of the contact person.",
"type": [
"string",
"null"
]
},
"last_name": {
"description": "The last name of the contact person.",
"type": [
"string",
"null"
]
},
"mobile": {
"description": "Mobile contact number of the supplier.",
"type": [
"string",
"null"
]
},
"phone": {
"description": "Physical contact number of the supplier.",
"type": [
"string",
"null"
]
},
"physical_address1": {
"description": "Line 1 address of the supplier's physical address.",
"type": [
"string",
"null"
]
},
"physical_address2": {
"description": "Line 2 address of the supplier's physical address.",
"type": [
"string",
"null"
]
},
"physical_city": {
"description": "City of the supplier's physical address.",
"type": [
"string",
"null"
]
},
"physical_country_id": {
"description": "ID of the country of the supplier's physical address.",
"type": [
"string",
"null"
]
},
"physical_postcode": {
"description": "Postcode of the supplier's physical address.",
"type": [
"string",
"null"
]
},
"physical_state": {
"description": "State of the supplier's physical address.",
"type": [
"string",
"null"
]
},
"physical_suburb": {
"description": "Suburb of the supplier's physical address.",
"type": [
"string",
"null"
]
},
"postal_address1": {
"description": "Line 1 address of the supplier's postal address.",
"type": [
"string",
"null"
]
},
"postal_address2": {
"description": "Line 2 address of the supplier's postal address.",
"type": [
"string",
"null"
]
},
"postal_city": {
"description": "City of the supplier's postal address.",
"type": [
"string",
"null"
]
},
"postal_country_id": {
"description": "ID of the country of the supplier's postal address.",
"type": [
"string",
"null"
]
},
"postal_postcode": {
"description": "Postcode of the supplier's postal address.",
"type": [
"string",
"null"
]
},
"postal_state": {
"description": "State of the supplier's postal address.",
"type": [
"string",
"null"
]
},
"postal_suburb": {
"description": "Suburb of the supplier's postal address.",
"type": [
"string",
"null"
]
},
"twitter": {
"description": "Twitter handle of the supplier contact.",
"type": [
"string",
"null"
]
},
"website": {
"description": "The website address of the supplier",
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"default_markup": {
"description": "This is used for record-keeping purposes and it does not have any effect on your products.",
"type": "number"
},
"description": {
"description": "The Supplier description.",
"type": [
"string",
"null"
]
},
"name": {
"description": "The Supplier name.",
"type": "string"
}
},
"required": [
"name",
"contact"
],
"title": "BaseSupplier",
"type": "object"
},
"Supplier": {
"allOf": [
{
"$ref": "#/$defs/BaseSupplier"
}
],
"properties": {
"deleted_at": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
},
"source": {
"description": "Origin of the supplier record (e.g. USER, SHOPIFY).",
"type": "string"
},
"version": {
"description": "Auto-incrementing object version number.",
"format": "int64",
"type": "integer"
}
},
"required": [
"id",
"source",
"version"
],
"title": "Supplier",
"type": "object"
},
"Version": {
"description": "An object containing the highest and lowest version numbers for all items of the returned collection.",
"properties": {
"max": {
"description": "Highest version number of the payload, or `null` when the result set is empty.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"min": {
"description": "Lowest version number of the payload, or `null` when the result set is empty.",
"format": "int64",
"type": [
"integer",
"null"
]
}
},
"required": [
"max",
"min"
],
"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-supplier-collection"
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.