---
title: Lightspeed API Integration on Truto
slug: lightspeed
category: E-Commerce
canonical: "https://truto.one/integrations/detail/lightspeed/"
---

# Lightspeed API Integration on Truto



**Category:** E-Commerce  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 45 tools for Lightspeed that AI agents can call directly.

- **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.

## How it works

1. **Link your customer's Lightspeed account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Lightspeed.** The Proxy API is a 1-to-1 mapping of the Lightspeed API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **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

- **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.

## FAQs

### 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.

## Related reading

- [Connect Lightspeed to ChatGPT: Manage Retail Stock and Sales](https://truto.one/blog/connect-lightspeed-to-chatgpt-manage-retail-stock-and-sales/) — Learn how to connect Lightspeed to ChatGPT using a managed MCP server. Automate retail inventory, consignments, and customer loyalty workflows with AI.
- [Connect Lightspeed to Claude: Sync Customer Groups and Inventory](https://truto.one/blog/connect-lightspeed-to-claude-sync-customer-groups-and-inventory/) — Learn how to connect Lightspeed to Claude using a managed MCP server. This step-by-step guide covers handling complex retail APIs, inventory tools, and AI workflows.
- [Connect Lightspeed to AI Agents: Automate Supply Chain and Loyalty](https://truto.one/blog/connect-lightspeed-to-ai-agents-automate-supply-chain-and-loyalty/) — Learn how to connect Lightspeed to AI Agents. A technical guide to using Truto's /tools endpoint to automate supply chain, loyalty, and retail inventory.
