E-Commerce
Lightspeed
API integration
Ship E-Commerce features without building the integration. Full Lightspeed API access via Proxy and 40+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Lightspeed
Common scenarios for SaaS companies building Lightspeed integrations for their customers.
Power inventory forecasting and auto-replenishment
Give retail planning tools the ability to read sales velocity from Lightspeed and auto-generate supplier purchase orders as consignments, so operations managers approve rather than manually create POs.
Sync omnichannel loyalty and gift cards
Let loyalty and rewards platforms read in-store sales, push updated customer loyalty balances back to Lightspeed, and issue gift cards that cashiers can redeem at any register.
Automate accounting and financial reconciliation
Enable accounting SaaS to pull Lightspeed sales, outlets, registers, and supplier consignments to map revenue, COGS, and payables into ledgers without manual CSV exports.
Enable clienteling and CRM enrichment
Let CRM and clienteling apps sync customers, customer groups, brands, and sale history so store associates get full context on the shopper and can update the master record from any device.
Centralize PIM and catalog management
Allow PIM tools to push products, brands, and pricing down to Lightspeed as the source of truth, keeping SKUs, variants, and supply prices consistent across every outlet.
What You Can Build
Ship these features with Truto + Lightspeed
Concrete product features your team can ship faster by leveraging Truto’s Lightspeed integration instead of building from scratch.
Two-way customer sync with group segmentation
Create, update, and read Lightspeed customers and programmatically add or remove them from customer groups for targeted segments like VIPs or wholesale buyers.
Automated purchase order generation
Create supplier consignments, bulk-add consignment products, and update statuses to draft complete POs inside Lightspeed based on external forecasting logic.
Product and brand catalog sync
Push and pull products and brands to keep SKUs, retail and supply prices, and brand hierarchies aligned between Lightspeed and an external PIM or ERP.
Sales-driven analytics and reporting feeds
List and fetch individual sales joined with outlet, register, and product data to feed BI dashboards with GMV, margin, and per-location performance.
Digital gift card issuance and voiding
Issue new gift cards from an external rewards engine, look them up by ID or number, and void cards when they're redeemed on another storefront.
Multi-outlet operations directory
Pull outlets, registers, suppliers, and users to build a live directory that maps transactions and inventory movements to the right store, till, and staff member.
SuperAI
Lightspeed AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
create_a_lightspeed_customer
Create a new customer in Lightspeed. Returns the created customer including id, first_name, last_name, email, customer_code, customer_group_id, balance, loyalty_balance, created_at, updated_at, and version. Requires first_name and last_name.
delete_a_lightspeed_customer_by_id
Delete a Lightspeed customer by id. Returns an empty 204 response on success. Required: id.
get_single_lightspeed_customer_by_id
Get a single Lightspeed customer by id. Returns the full customer record including id, first_name, last_name, email, customer_code, customer_group_id, phone, loyalty_balance, and version. Required: id.
list_all_lightspeed_customers
List customers in Lightspeed with optional version-range and deleted-record filters. Returns: id, version, first_name, last_name, name, company_name, email, customer_code, customer_group_id, date_of_birth, gender, phone, mobile, fax, twitter, website, physical_address_1, physical_address_2, physical_suburb, physical_city, physical_state, physical_postcode, physical_country_id, postal_address_1,…
update_a_lightspeed_customer_by_id
Update a customer in Lightspeed by id. Returns the updated customer including id, first_name, last_name, email, customer_group_id, loyalty_balance, and version. Required: id and first_name; the body also accepts last_name, email, phone, customer_group_id, and address fields.
create_a_lightspeed_product
Create a product in Lightspeed. Returns the created product object including id, name, sku, retail_price, supply_price, tax_id, and variant fields (has_variants, variant_parent_id).
delete_a_lightspeed_product_by_id
Delete a single Lightspeed product by id; if the id belongs to a variant, only that variant is removed from its family. Returns an empty 204 response on success. Required: id.
get_single_lightspeed_product_by_id
Get a single product from Lightspeed by id. Returns the product object including id, name, sku, retail_price, supply_price, tax_id, brand_id, and variant fields. Required: id.
list_all_lightspeed_products
List Lightspeed (X-Series) products. Returns a paginated collection of product records including id, name, sku, version, created_at, and updated_at. For attribute-based product search (sku, brand, supplier, tag), use the dedicated Search endpoint instead.
update_a_lightspeed_product_by_id
Update an existing Lightspeed (X-Series) product by id. Returns the updated product record including id, name, sku, version, created_at, and updated_at. Required: id.
list_all_lightspeed_outlets
List outlets in Lightspeed Retail (X-Series). Returns each outlet's id, name, currency, currency_symbol, display_prices, time_zone, attributes, and physical address fields.
list_all_lightspeed_registers
List Lightspeed Retail (X-Series) registers for the authenticated retailer, ordered by creation date for stable sync pages. Returns: id. No additional query parameters are supported for this endpoint.
get_single_lightspeed_sale_by_id
Get a single sale in Lightspeed Retail (X-Series) by id. Returns the sale record including id, status, state, invoice_number, customer_id, and register_id. Required: id.
list_all_lightspeed_sales
List sales in Lightspeed Retail (X-Series). Returns a paginated list of sale records with id, status, state, invoice_number, customer_id, and outlet_id. For date-range, status, or attribute-filtered and sorted sales searches, use the Search endpoint.
list_all_lightspeed_suppliers
List suppliers in Lightspeed Retail (X-Series). Returns a paginated collection of supplier records, each including id, created_at, and updated_at.
list_all_lightspeed_users
List users in the Lightspeed Retail (X-Series) store. Returns a paginated list of user records, each including its id.
create_a_lightspeed_brand
Create a new brand in Lightspeed. Returns the id of the created brand. Required: name.
delete_a_lightspeed_brand_by_id
Delete a Lightspeed brand by id; any products associated with the brand are disassociated by an asynchronous job. Returns a payload containing the deleted brand's id and job_id. Required: id.
get_single_lightspeed_brand_by_id
Get a single Lightspeed brand by id. Returns: id, name, description, version, deleted_at. Required: id.
list_all_lightspeed_brands
List Lightspeed brands. Returns brand records including id, name, description, version, and deleted_at.
update_a_lightspeed_brand_by_id
Update a Lightspeed brand by id. Returns the id of the updated brand. Required: id, name.
create_a_lightspeed_consignment
Create a new consignment in Lightspeed Retail (X-Series) as a SUPPLIER, OUTLET, STOCKTAKE, or RETURN order. Returns the created consignment including id, name, type, status, outlet_id, and version. Required: name, outlet_id, and type. DISPATCHED or RECEIVED consignments cannot be created directly.
delete_a_lightspeed_consignment_by_id
Delete a Lightspeed consignment by id. Returns an empty 204 response on success.
get_single_lightspeed_consignment_by_id
Get a single Lightspeed consignment by id. Returns the consignment including id, name, type, status, outlet_id, consignment_date, due_at, received_at, supplier_id, and version. Required: id.
lightspeed_consignments_get_totals
Get the sent and received count and cost totals for a Lightspeed consignment. Returns: total_sent_count, total_sent_cost, total_received_count, total_received_cost. Required: consignment_id. Not available for STOCKTAKE consignments.
list_all_lightspeed_consignments
List Lightspeed consignments, returning a paginated collection of consignment records. Returns: id, name, outlet_id, type, status, supplier_id, supplier_invoice, reference, source_outlet_id, consignment_date, due_at, received_at, created_at, updated_at, deleted_at, version, show_inactive, filters, total_count_gain, total_count_loss, total_cost_gain, total_cost_loss.
update_a_lightspeed_consignment_by_id
Update a Lightspeed Retail (X-Series) consignment by id. Returns the updated consignment with id, name, type, status, outlet_id, and updated_at. Required: id, plus a data object containing name, outlet_id, and type. SUPPLIER consignments cannot change type and cannot be updated once RECEIVED or CANCELLED.
create_a_lightspeed_consignment_product
Add a product to a Lightspeed consignment. Returns the created consignment product item with product_id, count, received, cost, status, and created_at. Required: consignment_id, data (with product_id). Cannot add products to RECEIVED or CANCELLED SUPPLIER orders, or composite products.
delete_a_lightspeed_consignment_product_by_id
Remove a product from a Lightspeed consignment. Returns an empty 204 response on success. Required: consignment_id, id. Deletion is blocked for consignments with status DISPATCHED, RECEIVED or CANCELLED (SUPPLIER), SENT or RECEIVED (OUTLET), or SENT (RETURN).
list_all_lightspeed_consignment_products
List all products for a specific Lightspeed consignment. Returns consignment products with product_id, cost, count, received, status, is_included, and version. Required: consignment_id. Supports filtering by version range via after and before.
update_a_lightspeed_consignment_product_by_id
Update a specific product within a Lightspeed consignment. Returns the updated product with product_id, count, received, cost, status, and updated_at. Required: consignment_id, id, data. Updating received on a SENT SUPPLIER consignment marks it DISPATCHED.
lightspeed_consignment_products_bulk_update
Add or update products in a Lightspeed consignment in bulk. Returns a map keyed by product_id with the applied count and received values. Required: consignment_id and an array of products (each with product_id and either count or received). Avoid updating more than 500 products at a time.
create_a_lightspeed_customer_group
Create a new customer group in Lightspeed. Returns the created group object including id, name, created_at, updated_at, deleted_at, and version. Required: name.
get_single_lightspeed_customer_group_by_id
Get a single customer group by id in Lightspeed. Returns the group object including id, name, group_id, retailer_id, created_at, updated_at, deleted_at, and version. Required: id.
list_all_lightspeed_customer_groups
List customer groups in Lightspeed. Returns each group's id, name, group_id, retailer_id, created_at, updated_at, deleted_at, and version. Supports after/before version bounds and a deleted flag to include deleted groups.
lightspeed_customer_groups_list_customers
List the customers belonging to a customer group in Lightspeed. Returns each customer's id, name, email, customer_code, balances, and address fields. Required: customer_group_id.
lightspeed_customer_groups_add_customers
Add one or more customers to a customer group in Lightspeed. Returns a boolean success indicator. Required: customer_group_id and customer_ids.
lightspeed_customer_groups_remove_customers
Remove customers from a customer group in lightspeed. Only the group membership link is deleted — the customers themselves are not. Returns an empty 204 response on success. Required: customer_group_id.
update_a_lightspeed_customer_group_by_id
Update a customer group in lightspeed by id. Returns the updated group: id, name, created_at, updated_at, version. Required: id, name.
create_a_lightspeed_gift_card
Create and activate a new Lightspeed gift card, recorded with an initial ACTIVATION transaction containing the starting balance. Returns the created gift card including id, number, balance, status, and gift_card_transactions. Requires number and amount.
get_single_lightspeed_gift_card_by_id
Get a single Lightspeed gift card by id, including all transactions associated with the card. Returns: id, number, balance, status, expires_at, created_at, total_sold, total_redeemed, sale_id, sale_source, gift_card_transactions. Required: id.
lightspeed_gift_cards_get_by_number
Find a Lightspeed gift card by its card number, including all transactions associated with the card. Returns: id, number, balance, status, expires_at, created_at, total_sold, total_redeemed, sale_id, sale_source, gift_card_transactions. Required: card_number.
list_all_lightspeed_gift_cards
List Lightspeed gift cards, ordered newest to oldest. Returns: id, number, balance, status, expires_at, created_at, total_sold, total_redeemed, sale_id, sale_source, gift_card_transactions. Filter by card_number or status; max 1000 per page.
lightspeed_gift_cards_void
Void a Lightspeed gift card by id, setting its balance to zero and its status to VOIDED. Returns the voided gift card including id, number, balance, status, and gift_card_transactions. Required: by_id.
lightspeed_gift_cards_void_by_number
Void a Lightspeed gift card by its card number. The card's balance is set to zero and its status changes to VOIDED. Returns the voided gift card with id, number, balance, status, created_at, total_sold, total_redeemed, and gift_card_transactions. Required: card_number.
Why Truto
Why use Truto’s MCP server for Lightspeed
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Lightspeed in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Lightspeed account
Use Truto’s frontend SDK to connect your customer’s Lightspeed account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Lightspeed
Truto’s Proxy API is a 1-to-1 mapping of the Lightspeed API. You call us, we call Lightspeed, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Lightspeed’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Lightspeed on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
Which Lightspeed platform do these endpoints target?
The available tools map to Lightspeed Retail X-Series (formerly Vend), which is the platform optimized for multi-outlet omnichannel retail with outlets, registers, and consignment-based inventory movement.
How does end-user authentication work?
Your users connect their Lightspeed account through Truto's managed OAuth flow. Truto stores and refreshes tokens per connected account, so you never handle credentials or token rotation yourself.
Can we create and manage purchase orders programmatically?
Yes. Purchase orders in Lightspeed are modeled as supplier consignments. You can create consignments, bulk update consignment products, fetch totals, and update or delete consignments through the provided tools.
Are webhooks or real-time events supported?
The current tool inventory covers create, read, update, and delete operations via REST. For near-real-time freshness, most integrations poll list endpoints (sales, customers, consignments) on an interval; reach out if you need event-driven delivery for your use case.
Can we update a customer's loyalty balance?
Yes. You can update customer records via update_a_lightspeed_customer_by_id, which is how external loyalty engines push recalculated balances back into Lightspeed for cashiers to see at checkout.
How do we handle multi-outlet retailers with many locations?
Use list_all_lightspeed_outlets and list_all_lightspeed_registers to enumerate a merchant's locations and tills, then scope sales and consignment reads or writes by the relevant outlet or register ID.
From the Blog
Lightspeed integration guides
Deep dives, architecture guides, and practical tutorials for building Lightspeed integrations.
Lightspeed
Get Lightspeed integrated into your app
Our team understands what it takes to make a Lightspeed integration successful. A short, crisp 30 minute call with folks who understand the problem.