Skip to content

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 us
Lightspeed

Use Cases

Why integrate with Lightspeed

Common scenarios for SaaS companies building Lightspeed integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

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.