Lightspeed Commerce · Schema
Customer Response
CommercePoint-of-SaleRetailRestaurantInventoryLoyaltyPaymentsE-CommerceOmnichannelCanada
Properties
| Name | Type | Description |
|---|---|---|
| data | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/lightspeed/main/json-schema/lightspeed-customer-response-schema.json",
"title": "Customer Response",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/lightspeed-customers-api-openapi.yml#/components/schemas/CustomerResponse",
"properties": {
"data": {
"$ref": "#/$defs/Customer"
}
},
"type": "object",
"$defs": {
"Customer": {
"properties": {
"balance": {
"description": "Customer's unpaid balance.",
"format": "double",
"type": "number"
},
"company_name": {
"description": "Company name.",
"type": [
"string",
"null"
]
},
"created_at": {
"description": "Creation timestamp in UTC.",
"type": "string"
},
"custom_field_1": {
"description": "Custom field 1. Can be used to store random data.",
"type": [
"string",
"null"
]
},
"custom_field_2": {
"description": "Custom field 2.",
"type": [
"string",
"null"
]
},
"custom_field_3": {
"description": "Custom field 3.",
"type": [
"string",
"null"
]
},
"custom_field_4": {
"description": "Custom field 4.",
"type": [
"string",
"null"
]
},
"customer_code": {
"description": "Customer code used for claiming loyalty.",
"type": "string"
},
"customer_group_id": {
"description": "Customer group ID.",
"type": "string"
},
"date_of_birth": {
"description": "Birthday.",
"type": [
"string",
"null"
]
},
"deleted_at": {
"description": "Deletion timestamp in UTC.",
"type": [
"string",
"null"
]
},
"do_not_email": {
"default": false,
"description": "Indicates whether the customer opted out of email communications.",
"type": "boolean"
},
"email": {
"description": "Customer's email address.",
"type": [
"string",
"null"
]
},
"enable_loyalty": {
"type": "boolean"
},
"enable_promotional_sms": {
"default": false,
"description": "Indicates whether the customer opted in to SMS communications.",
"type": "boolean"
},
"fax": {
"description": "Fax no.",
"type": [
"string",
"null"
]
},
"first_name": {
"description": "Customer's first name.",
"type": [
"string",
"null"
]
},
"gender": {
"description": "Customer's gender. Can be `M`, `F` or null.",
"type": [
"string",
"null"
]
},
"id": {
"description": "Auto-generated object ID.",
"type": "string"
},
"last_name": {
"description": "Customer 's last name.",
"type": [
"string",
"null"
]
},
"loyalty_balance": {
"description": "Customer's loyalty balance.",
"format": "double",
"type": "number"
},
"mobile": {
"description": "Mobile phone no.",
"type": [
"string",
"null"
]
},
"name": {
"deprecated": true,
"description": "Customers full name. **deprecated**",
"type": [
"string",
"null"
]
},
"note": {
"description": "Customer note.",
"type": [
"string",
"null"
]
},
"on_account_limit": {
"description": "Customer's OnAccount Limit.",
"format": "double",
"type": [
"number",
"null"
]
},
"phone": {
"description": "Phone no.",
"type": [
"string",
"null"
]
},
"physical_address_1": {
"description": "Physical address, line 1.",
"type": [
"string",
"null"
]
},
"physical_address_2": {
"description": "Physical address, line 2.",
"type": [
"string",
"null"
]
},
"physical_city": {
"description": "Physical address, city.",
"type": [
"string",
"null"
]
},
"physical_country_id": {
"description": "Physical address, country code.",
"type": [
"string",
"null"
]
},
"physical_postcode": {
"description": "Physical address, post code.",
"type": [
"string",
"null"
]
},
"physical_state": {
"description": "Physical address, state.",
"type": [
"string",
"null"
]
},
"physical_suburb": {
"description": "Physical address, suburb.",
"type": [
"string",
"null"
]
},
"postal_address_1": {
"description": "Postal address, line 1.",
"type": [
"string",
"null"
]
},
"postal_address_2": {
"description": "Postal address, line 2.",
"type": [
"string",
"null"
]
},
"postal_city": {
"description": "Postal address, city.",
"type": [
"string",
"null"
]
},
"postal_country_id": {
"description": "Postal address, country code.",
"type": [
"string",
"null"
]
},
"postal_postcode": {
"description": "Postal address, post code.",
"type": [
"string",
"null"
]
},
"postal_state": {
"description": "Postal address, state.",
"type": [
"string",
"null"
]
},
"postal_suburb": {
"description": "Postal address, suburb.",
"type": [
"string",
"null"
]
},
"tax_id": {
"description": "Customer's tax ID.",
"type": [
"string",
"null"
]
},
"twitter": {
"description": "Twitter handle.",
"type": [
"string",
"null"
]
},
"updated_at": {
"description": "Last update timestamp in UTC.",
"type": "string"
},
"version": {
"description": "Auto-incrementing object version number.",
"format": "int64",
"type": "integer"
},
"website": {
"description": "Website URL.",
"type": [
"string",
"null"
]
},
"year_to_date": {
"description": "Customer's spending this year.",
"format": "double",
"type": "number"
}
},
"required": [
"first_name",
"last_name"
],
"title": "Customer",
"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-customer-response"
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.