{"openapi":"3.1.0","info":{"title":"Lightspeed X Stock Orders (BYOK) API","version":"0.1.0","description":"Lightspeed X Stock Orders (BYOK) lets an AI assistant read your own Lightspeed X Stock Orders data through the Lightspeed X Stock Orders API with a key you supply (Lightspeed Retail (X-Series) personal token). Read-only: 7 tools (list_consignments, get_consignment, get_consignment_totals, list_purchase_orders, list_purchase_order_line_items, list_stock_adjustments, list_adjustment_reasons). The...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-lightspeed-x-stock-orders.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-lightspeed-x-stock-orders/docs"},"termsOfService":"https://connectorbay.com/byok-lightspeed-x-stock-orders/terms"},"servers":[{"url":"https://byok-lightspeed-x-stock-orders.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-lightspeed-x-stock-orders/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_consignments":{"post":{"operationId":"list_consignments","summary":"List consignments (supplier orders, outlet transfers, stocktakes and returns) with status, outlets, supplier, dates and ","description":"List consignments (supplier orders, outlet transfers, stocktakes and returns) with status, outlets, supplier, dates and total counts and costs. Needs a token with consignments:read. Use for \"What supplier orders are open in my Lightspeed Retail store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_prefix":{"description":"Your Lightspeed Retail (X-Series) domain prefix: the part before .retail.lightspeed.app in your store address.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain Prefix","type":"string"},"type":{"anyOf":[{"enum":["SUPPLIER","OUTLET","STOCKTAKE","RETURN"],"type":"string"},{"type":"null"}],"default":null,"description":"Consignment type: SUPPLIER, OUTLET, STOCKTAKE or RETURN.","title":"Type"},"status":{"anyOf":[{"enum":["OPEN","SENT","DISPATCHED","RECEIVED","STOCKTAKE_IN_PROGRESS","STOCKTAKE_SCHEDULED","STOCKTAKE_IN_PROGRESS_PROCESSED","STOCKTAKE_COMPLETE","CLOSED","CANCELLED"],"type":"string"},{"type":"null"}],"default":null,"description":"Status: OPEN, SENT, DISPATCHED, RECEIVED, STOCKTAKE_IN_PROGRESS, STOCKTAKE_SCHEDULED, STOCKTAKE_IN_PROGRESS_PROCESSED, STOCKTAKE_COMPLETE, CLOSED or CANCELLED.","title":"Status"},"outlet_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only consignments for this outlet ID.","title":"Outlet Id"},"before":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only records with a version below this number (rarely needed).","title":"Before"},"after":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Version cursor: pass version.max from the previous answer to get the next page; leave empty for the first page.","title":"After"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Maximum number of records to return (1 to 1000).","title":"Page Size"}},"required":["domain_prefix"],"title":"list_consignmentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_consignment":{"post":{"operationId":"get_consignment","summary":"Get one consignment with type, status, outlets, supplier, dates and total counts and costs. Use for \"Show Lightspeed con","description":"Get one consignment with type, status, outlets, supplier, dates and total counts and costs. Use for \"Show Lightspeed consignment c1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_prefix":{"description":"Your Lightspeed Retail (X-Series) domain prefix: the part before .retail.lightspeed.app in your store address.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain Prefix","type":"string"},"consignment_id":{"description":"Consignment ID (from list_consignments).","maxLength":60,"title":"Consignment Id","type":"string"}},"required":["domain_prefix","consignment_id"],"title":"get_consignmentArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_consignment_totals":{"post":{"operationId":"get_consignment_totals","summary":"Get the sent and received totals (counts and costs) of one consignment. Use for \"How much of Lightspeed consignment c1 h","description":"Get the sent and received totals (counts and costs) of one consignment. Use for \"How much of Lightspeed consignment c1 has been received\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_prefix":{"description":"Your Lightspeed Retail (X-Series) domain prefix: the part before .retail.lightspeed.app in your store address.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain Prefix","type":"string"},"consignment_id":{"description":"Consignment ID (from list_consignments).","maxLength":60,"title":"Consignment Id","type":"string"}},"required":["domain_prefix","consignment_id"],"title":"get_consignment_totalsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_purchase_orders":{"post":{"operationId":"list_purchase_orders","summary":"List purchase orders with number, status, supplier, delivery outlet, totals and due date. Needs a token with purchase_or","description":"List purchase orders with number, status, supplier, delivery outlet, totals and due date. Needs a token with purchase_orders:read. Use for \"Which purchase orders are open in my Lightspeed Retail store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_prefix":{"description":"Your Lightspeed Retail (X-Series) domain prefix: the part before .retail.lightspeed.app in your store address.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain Prefix","type":"string"},"before":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only records with a version below this number (rarely needed).","title":"Before"},"after":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Version cursor: pass version.max from the previous answer to get the next page; leave empty for the first page.","title":"After"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Maximum number of records to return (1 to 1000).","title":"Page Size"}},"required":["domain_prefix"],"title":"list_purchase_ordersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_purchase_order_line_items":{"post":{"operationId":"list_purchase_order_line_items","summary":"List the line items of one purchase order with product, quantity and cost price. Use for \"What is on Lightspeed purchase","description":"List the line items of one purchase order with product, quantity and cost price. Use for \"What is on Lightspeed purchase order po1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_prefix":{"description":"Your Lightspeed Retail (X-Series) domain prefix: the part before .retail.lightspeed.app in your store address.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain Prefix","type":"string"},"purchase_order_id":{"description":"Purchase order ID (from list_purchase_orders).","maxLength":60,"title":"Purchase Order Id","type":"string"},"before":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only records with a version below this number (rarely needed).","title":"Before"},"after":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Version cursor: pass version.max from the previous answer to get the next page; leave empty for the first page.","title":"After"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Maximum number of records to return (1 to 1000).","title":"Page Size"}},"required":["domain_prefix","purchase_order_id"],"title":"list_purchase_order_line_itemsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_stock_adjustments":{"post":{"operationId":"list_stock_adjustments","summary":"List manual stock adjustments with product, outlet, quantity, reason and time. Use for \"What stock adjustments were made","description":"List manual stock adjustments with product, outlet, quantity, reason and time. Use for \"What stock adjustments were made in my Lightspeed Retail store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_prefix":{"description":"Your Lightspeed Retail (X-Series) domain prefix: the part before .retail.lightspeed.app in your store address.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain Prefix","type":"string"},"before":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only records with a version below this number (rarely needed).","title":"Before"},"after":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Version cursor: pass version.max from the previous answer to get the next page; leave empty for the first page.","title":"After"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Maximum number of records to return (1 to 1000).","title":"Page Size"}},"required":["domain_prefix"],"title":"list_stock_adjustmentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_adjustment_reasons":{"post":{"operationId":"list_adjustment_reasons","summary":"List custom stock adjustment reasons with type (positive or negative) and whether enabled. Use for \"What custom stock ad","description":"List custom stock adjustment reasons with type (positive or negative) and whether enabled. Use for \"What custom stock adjustment reasons exist in Lightspeed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_prefix":{"description":"Your Lightspeed Retail (X-Series) domain prefix: the part before .retail.lightspeed.app in your store address.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain Prefix","type":"string"},"before":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only records with a version below this number (rarely needed).","title":"Before"},"after":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Version cursor: pass version.max from the previous answer to get the next page; leave empty for the first page.","title":"After"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Maximum number of records to return (1 to 1000).","title":"Page Size"}},"required":["domain_prefix"],"title":"list_adjustment_reasonsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}