KosmoKrator

productivity

Lemon Squeezy Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the Lemon Squeezy KosmoKrator integration.

Lua Namespace

Agents call this integration through app.integrations.lemon_squeezy.*. Use lua_read_doc("integrations.lemon-squeezy") inside KosmoKrator to discover the same reference at runtime.

Call Lua from the Headless CLI

Use kosmo integrations:lua when a shell script, CI job, cron job, or another coding CLI should run a deterministic Lemon Squeezy workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.lemon_squeezy.lemonsqueezy_api_delete({path = "example_path", query = "example_query"}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("lemon-squeezy"))' --json
kosmo integrations:lua --eval 'print(docs.read("lemon-squeezy.lemonsqueezy_api_delete"))' --json

Workflow file

Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.

workflow.lua
local lemon_squeezy = app.integrations.lemon_squeezy
local result = lemon_squeezy.lemonsqueezy_api_delete({path = "example_path", query = "example_query"})

dump(result)
Run the workflow
kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json
Namespace note. integrations:lua exposes app.integrations.lemon_squeezy, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.lemon_squeezy.default.* or app.integrations.lemon_squeezy.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need Lemon Squeezy, use the narrower mcp:lua command.

MCP Lua command
# Use mcp:lua for MCP-only scripts; use integrations:lua for this integration namespace.
kosmo mcp:lua --eval 'dump(mcp.servers())' --json

Agent-Facing Lua Docs

This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.

Lemon Squeezy Lua API Reference

Namespace: app.integrations.lemon-squeezy

The Lemon Squeezy API uses JSON:API. Create and update tools accept attributes and optional relationships, then wrap them in a data object with the correct resource type.

Catalog And Commerce

local stores = app.integrations["lemon-squeezy"].list_stores({})
local products = app.integrations["lemon-squeezy"].list_products({ page_size = 50 })
local variants = app.integrations["lemon-squeezy"].list_variants({
  params = { ["filter[product_id]"] = "123" }
})

Customers, Orders, And Subscriptions

local orders = app.integrations["lemon-squeezy"].list_orders({
  page_size = 25,
  page = 1
})

app.integrations["lemon-squeezy"].update_subscription({
  id = "456",
  attributes = { cancelled = true }
})

Discounts, Licenses, Checkouts, And Webhooks

app.integrations["lemon-squeezy"].create_checkout({
  attributes = {
    custom_price = 1200
  },
  relationships = {
    store = { data = { type = "stores", id = "1" } },
    variant = { data = { type = "variants", id = "10" } }
  }
})

local licenses = app.integrations["lemon-squeezy"].list_license_keys({})
local webhooks = app.integrations["lemon-squeezy"].list_webhooks({})

Raw API Helpers

Use api_get, api_post, api_patch, and api_delete for safe relative API paths. Full URLs and parent-directory paths are rejected.

local response = app.integrations["lemon-squeezy"].api_get({
  path = "/v1/orders",
  query = { ["filter[store_id]"] = "1" }
})
Raw agent markdown
# Lemon Squeezy Lua API Reference

Namespace: `app.integrations.lemon-squeezy`

The Lemon Squeezy API uses JSON:API. Create and update tools accept `attributes` and optional `relationships`, then wrap them in a `data` object with the correct resource type.

## Catalog And Commerce

```lua
local stores = app.integrations["lemon-squeezy"].list_stores({})
local products = app.integrations["lemon-squeezy"].list_products({ page_size = 50 })
local variants = app.integrations["lemon-squeezy"].list_variants({
  params = { ["filter[product_id]"] = "123" }
})
```

## Customers, Orders, And Subscriptions

```lua
local orders = app.integrations["lemon-squeezy"].list_orders({
  page_size = 25,
  page = 1
})

app.integrations["lemon-squeezy"].update_subscription({
  id = "456",
  attributes = { cancelled = true }
})
```

## Discounts, Licenses, Checkouts, And Webhooks

```lua
app.integrations["lemon-squeezy"].create_checkout({
  attributes = {
    custom_price = 1200
  },
  relationships = {
    store = { data = { type = "stores", id = "1" } },
    variant = { data = { type = "variants", id = "10" } }
  }
})

local licenses = app.integrations["lemon-squeezy"].list_license_keys({})
local webhooks = app.integrations["lemon-squeezy"].list_webhooks({})
```

## Raw API Helpers

Use `api_get`, `api_post`, `api_patch`, and `api_delete` for safe relative API paths. Full URLs and parent-directory paths are rejected.

```lua
local response = app.integrations["lemon-squeezy"].api_get({
  path = "/v1/orders",
  query = { ["filter[store_id]"] = "1" }
})
```
Metadata-derived Lua example
local result = app.integrations.lemon_squeezy.lemonsqueezy_api_delete({path = "example_path", query = "example_query"})
print(result)

Functions

lemonsqueezy_api_delete Read

Call a safe relative Lemon Squeezy API path with DELETE.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_api_delete
Full name
lemon-squeezy.lemonsqueezy_api_delete
ParameterTypeRequiredDescription
path string yes Relative API path.
query object no Optional query parameters.
lemonsqueezy_api_get Read

Call a safe relative Lemon Squeezy API path with GET.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_api_get
Full name
lemon-squeezy.lemonsqueezy_api_get
ParameterTypeRequiredDescription
path string yes Relative API path.
query object no Optional query parameters.
lemonsqueezy_api_patch Read

Call a safe relative Lemon Squeezy API path with PATCH.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_api_patch
Full name
lemon-squeezy.lemonsqueezy_api_patch
ParameterTypeRequiredDescription
path string yes Relative API path.
payload object no JSON body.
query object no Optional query parameters.
lemonsqueezy_api_post Read

Call a safe relative Lemon Squeezy API path with POST.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_api_post
Full name
lemon-squeezy.lemonsqueezy_api_post
ParameterTypeRequiredDescription
path string yes Relative API path.
payload object no JSON body.
query object no Optional query parameters.
lemonsqueezy_cancel_subscription Write

Cancel a Lemon Squeezy subscription.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_cancel_subscription
Full name
lemon-squeezy.lemonsqueezy_cancel_subscription
ParameterTypeRequiredDescription
id string yes Subscription ID.
lemonsqueezycreatecheckout Read

Lemonsqueezycreatecheckout

Lua path
app.integrations.lemon_squeezy.lemonsqueezycreatecheckout
Full name
lemon-squeezy.lemonsqueezycreatecheckout
ParameterTypeRequiredDescription
No parameters.
lemonsqueezycreatecustomer Read

Lemonsqueezycreatecustomer

Lua path
app.integrations.lemon_squeezy.lemonsqueezycreatecustomer
Full name
lemon-squeezy.lemonsqueezycreatecustomer
ParameterTypeRequiredDescription
No parameters.
lemonsqueezycreatediscount Read

Lemonsqueezycreatediscount

Lua path
app.integrations.lemon_squeezy.lemonsqueezycreatediscount
Full name
lemon-squeezy.lemonsqueezycreatediscount
ParameterTypeRequiredDescription
No parameters.
lemonsqueezycreateusagerecord Read

Lemonsqueezycreateusagerecord

Lua path
app.integrations.lemon_squeezy.lemonsqueezycreateusagerecord
Full name
lemon-squeezy.lemonsqueezycreateusagerecord
ParameterTypeRequiredDescription
No parameters.
lemonsqueezycreatewebhook Read

Lemonsqueezycreatewebhook

Lua path
app.integrations.lemon_squeezy.lemonsqueezycreatewebhook
Full name
lemon-squeezy.lemonsqueezycreatewebhook
ParameterTypeRequiredDescription
No parameters.
lemonsqueezydeletediscount Read

Lemonsqueezydeletediscount

Lua path
app.integrations.lemon_squeezy.lemonsqueezydeletediscount
Full name
lemon-squeezy.lemonsqueezydeletediscount
ParameterTypeRequiredDescription
No parameters.
lemonsqueezydeletewebhook Read

Lemonsqueezydeletewebhook

Lua path
app.integrations.lemon_squeezy.lemonsqueezydeletewebhook
Full name
lemon-squeezy.lemonsqueezydeletewebhook
ParameterTypeRequiredDescription
No parameters.
lemonsqueezy_generate_order_invoice Read

Generate an invoice for a Lemon Squeezy order.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_generate_order_invoice
Full name
lemon-squeezy.lemonsqueezy_generate_order_invoice
ParameterTypeRequiredDescription
id string yes Order ID.
payload object no Invoice request body.
lemonsqueezygetcheckout Read

Lemonsqueezygetcheckout

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetcheckout
Full name
lemon-squeezy.lemonsqueezygetcheckout
ParameterTypeRequiredDescription
No parameters.
lemonsqueezy_get_current_user Read

Get the currently authenticated Lemon Squeezy user profile. Useful for verifying API credentials and viewing account info.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_get_current_user
Full name
lemon-squeezy.lemonsqueezy_get_current_user
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetcustomer Read

Lemonsqueezygetcustomer

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetcustomer
Full name
lemon-squeezy.lemonsqueezygetcustomer
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetdiscount Read

Lemonsqueezygetdiscount

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetdiscount
Full name
lemon-squeezy.lemonsqueezygetdiscount
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetdiscountredemption Read

Lemonsqueezygetdiscountredemption

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetdiscountredemption
Full name
lemon-squeezy.lemonsqueezygetdiscountredemption
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetfile Read

Lemonsqueezygetfile

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetfile
Full name
lemon-squeezy.lemonsqueezygetfile
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetlicensekey Read

Lemonsqueezygetlicensekey

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetlicensekey
Full name
lemon-squeezy.lemonsqueezygetlicensekey
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetlicensekeyinstance Read

Lemonsqueezygetlicensekeyinstance

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetlicensekeyinstance
Full name
lemon-squeezy.lemonsqueezygetlicensekeyinstance
ParameterTypeRequiredDescription
No parameters.
lemonsqueezy_get_order Read

Get details for a specific Lemon Squeezy order by ID. Returns full order information including line items, totals, and customer data.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_get_order
Full name
lemon-squeezy.lemonsqueezy_get_order
ParameterTypeRequiredDescription
id string yes The order ID.
lemonsqueezygetorderitem Read

Lemonsqueezygetorderitem

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetorderitem
Full name
lemon-squeezy.lemonsqueezygetorderitem
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetprice Read

Lemonsqueezygetprice

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetprice
Full name
lemon-squeezy.lemonsqueezygetprice
ParameterTypeRequiredDescription
No parameters.
lemonsqueezy_get_product Read

Get details for a specific Lemon Squeezy product by ID. Returns full product information including pricing, variants, and status.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_get_product
Full name
lemon-squeezy.lemonsqueezy_get_product
ParameterTypeRequiredDescription
id string yes The product ID.
lemonsqueezygetstore Read

Lemonsqueezygetstore

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetstore
Full name
lemon-squeezy.lemonsqueezygetstore
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetsubscription Read

Lemonsqueezygetsubscription

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetsubscription
Full name
lemon-squeezy.lemonsqueezygetsubscription
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetsubscriptioninvoice Read

Lemonsqueezygetsubscriptioninvoice

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetsubscriptioninvoice
Full name
lemon-squeezy.lemonsqueezygetsubscriptioninvoice
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetsubscriptionitem Read

Lemonsqueezygetsubscriptionitem

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetsubscriptionitem
Full name
lemon-squeezy.lemonsqueezygetsubscriptionitem
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetusagerecord Read

Lemonsqueezygetusagerecord

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetusagerecord
Full name
lemon-squeezy.lemonsqueezygetusagerecord
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetvariant Read

Lemonsqueezygetvariant

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetvariant
Full name
lemon-squeezy.lemonsqueezygetvariant
ParameterTypeRequiredDescription
No parameters.
lemonsqueezygetwebhook Read

Lemonsqueezygetwebhook

Lua path
app.integrations.lemon_squeezy.lemonsqueezygetwebhook
Full name
lemon-squeezy.lemonsqueezygetwebhook
ParameterTypeRequiredDescription
No parameters.
lemonsqueezylistcheckouts Read

Lemonsqueezylistcheckouts

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistcheckouts
Full name
lemon-squeezy.lemonsqueezylistcheckouts
ParameterTypeRequiredDescription
No parameters.
lemonsqueezy_list_customers Read

List all customers in your Lemon Squeezy store. Returns customer names, emails, and metadata.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_list_customers
Full name
lemon-squeezy.lemonsqueezy_list_customers
ParameterTypeRequiredDescription
page_size integer no Number of customers per page (default: 10, max: 100).
page integer no Page number for pagination (default: 1).
lemonsqueezylistdiscountredemptions Read

Lemonsqueezylistdiscountredemptions

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistdiscountredemptions
Full name
lemon-squeezy.lemonsqueezylistdiscountredemptions
ParameterTypeRequiredDescription
No parameters.
lemonsqueezylistdiscounts Read

Lemonsqueezylistdiscounts

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistdiscounts
Full name
lemon-squeezy.lemonsqueezylistdiscounts
ParameterTypeRequiredDescription
No parameters.
lemonsqueezylistfiles Read

Lemonsqueezylistfiles

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistfiles
Full name
lemon-squeezy.lemonsqueezylistfiles
ParameterTypeRequiredDescription
No parameters.
lemonsqueezylistlicensekeyinstances Read

Lemonsqueezylistlicensekeyinstances

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistlicensekeyinstances
Full name
lemon-squeezy.lemonsqueezylistlicensekeyinstances
ParameterTypeRequiredDescription
No parameters.
lemonsqueezylistlicensekeys Read

Lemonsqueezylistlicensekeys

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistlicensekeys
Full name
lemon-squeezy.lemonsqueezylistlicensekeys
ParameterTypeRequiredDescription
No parameters.
lemonsqueezylistorderitems Read

Lemonsqueezylistorderitems

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistorderitems
Full name
lemon-squeezy.lemonsqueezylistorderitems
ParameterTypeRequiredDescription
No parameters.
lemonsqueezy_list_orders Read

List all orders in your Lemon Squeezy store. Returns order details including status, totals, and customer info.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_list_orders
Full name
lemon-squeezy.lemonsqueezy_list_orders
ParameterTypeRequiredDescription
page_size integer no Number of orders per page (default: 10, max: 100).
page integer no Page number for pagination (default: 1).
lemonsqueezylistprices Read

Lemonsqueezylistprices

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistprices
Full name
lemon-squeezy.lemonsqueezylistprices
ParameterTypeRequiredDescription
No parameters.
lemonsqueezy_list_products Read

List all digital products in your Lemon Squeezy store. Returns product names, prices, and status.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_list_products
Full name
lemon-squeezy.lemonsqueezy_list_products
ParameterTypeRequiredDescription
page_size integer no Number of products per page (default: 10, max: 100).
page integer no Page number for pagination (default: 1).
lemonsqueezyliststores Read

Lemonsqueezyliststores

Lua path
app.integrations.lemon_squeezy.lemonsqueezyliststores
Full name
lemon-squeezy.lemonsqueezyliststores
ParameterTypeRequiredDescription
No parameters.
lemonsqueezylistsubscriptioninvoices Read

Lemonsqueezylistsubscriptioninvoices

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistsubscriptioninvoices
Full name
lemon-squeezy.lemonsqueezylistsubscriptioninvoices
ParameterTypeRequiredDescription
No parameters.
lemonsqueezylistsubscriptionitems Read

Lemonsqueezylistsubscriptionitems

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistsubscriptionitems
Full name
lemon-squeezy.lemonsqueezylistsubscriptionitems
ParameterTypeRequiredDescription
No parameters.
lemonsqueezy_list_subscriptions Read

List all subscriptions in your Lemon Squeezy store. Returns subscription status, billing cycle, and customer info.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_list_subscriptions
Full name
lemon-squeezy.lemonsqueezy_list_subscriptions
ParameterTypeRequiredDescription
page_size integer no Number of subscriptions per page (default: 10, max: 100).
page integer no Page number for pagination (default: 1).
lemonsqueezylistusagerecords Read

Lemonsqueezylistusagerecords

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistusagerecords
Full name
lemon-squeezy.lemonsqueezylistusagerecords
ParameterTypeRequiredDescription
No parameters.
lemonsqueezylistvariants Read

Lemonsqueezylistvariants

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistvariants
Full name
lemon-squeezy.lemonsqueezylistvariants
ParameterTypeRequiredDescription
No parameters.
lemonsqueezylistwebhooks Read

Lemonsqueezylistwebhooks

Lua path
app.integrations.lemon_squeezy.lemonsqueezylistwebhooks
Full name
lemon-squeezy.lemonsqueezylistwebhooks
ParameterTypeRequiredDescription
No parameters.
lemonsqueezy_refund_order Read

Issue a refund for a Lemon Squeezy order.

Lua path
app.integrations.lemon_squeezy.lemonsqueezy_refund_order
Full name
lemon-squeezy.lemonsqueezy_refund_order
ParameterTypeRequiredDescription
id string yes Order ID.
payload object no Refund request body.
lemonsqueezyupdatecustomer Read

Lemonsqueezyupdatecustomer

Lua path
app.integrations.lemon_squeezy.lemonsqueezyupdatecustomer
Full name
lemon-squeezy.lemonsqueezyupdatecustomer
ParameterTypeRequiredDescription
No parameters.
lemonsqueezyupdatelicensekey Read

Lemonsqueezyupdatelicensekey

Lua path
app.integrations.lemon_squeezy.lemonsqueezyupdatelicensekey
Full name
lemon-squeezy.lemonsqueezyupdatelicensekey
ParameterTypeRequiredDescription
No parameters.
lemonsqueezyupdatesubscription Read

Lemonsqueezyupdatesubscription

Lua path
app.integrations.lemon_squeezy.lemonsqueezyupdatesubscription
Full name
lemon-squeezy.lemonsqueezyupdatesubscription
ParameterTypeRequiredDescription
No parameters.
lemonsqueezyupdatesubscriptionitem Read

Lemonsqueezyupdatesubscriptionitem

Lua path
app.integrations.lemon_squeezy.lemonsqueezyupdatesubscriptionitem
Full name
lemon-squeezy.lemonsqueezyupdatesubscriptionitem
ParameterTypeRequiredDescription
No parameters.
lemonsqueezyupdatewebhook Read

Lemonsqueezyupdatewebhook

Lua path
app.integrations.lemon_squeezy.lemonsqueezyupdatewebhook
Full name
lemon-squeezy.lemonsqueezyupdatewebhook
ParameterTypeRequiredDescription
No parameters.