KosmoKrator

email

ConvertKit Lua API for KosmoKrator Agents

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

7 functions 6 read 1 write API key auth

Lua Namespace

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

Agent-Facing Lua Docs

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

ConvertKit — Lua API Reference

list_subscribers

List subscribers from your ConvertKit account with pagination and date filtering.

Parameters

NameTypeRequiredDescription
pageintegernoPage number (starts at 1, default: 1)
per_pageintegernoResults per page (max 50, default: 50)
fromstringnoFilter subscribers added after this date (ISO 8601, e.g. “2025-01-01”)
tostringnoFilter subscribers added before this date (ISO 8601, e.g. “2025-12-31”)

Example

local result = app.integrations.convertkit.list_subscribers({
  page = 1,
  per_page = 25,
  from = "2025-01-01",
  to = "2025-12-31"
})

for _, sub in ipairs(result.subscribers) do
  print(sub.email_address .. " — " .. (sub.first_name or "N/A"))
end

get_subscriber

Get details for a single subscriber by their ConvertKit subscriber ID.

Parameters

NameTypeRequiredDescription
subscriber_idintegeryesThe ConvertKit subscriber ID

Example

local result = app.integrations.convertkit.get_subscriber({
  subscriber_id = 12345
})

print(result.subscriber.email_address)
print(result.subscriber.state)

list_forms

List all forms in your ConvertKit account.

Parameters

None.

Example

local result = app.integrations.convertkit.list_forms({})

for _, form in ipairs(result.forms) do
  print(form.id .. ": " .. form.name)
end

list_tags

List all tags in your ConvertKit account.

Parameters

None.

Example

local result = app.integrations.convertkit.list_tags({})

for _, tag in ipairs(result.tags) do
  print(tag.id .. ": " .. tag.name)
end

create_tag

Create a new tag in ConvertKit.

Parameters

NameTypeRequiredDescription
namestringyesName for the new tag

Example

local result = app.integrations.convertkit.create_tag({
  name = "VIP Customer"
})

print("Created tag: " .. result.tag.name .. " (ID: " .. result.tag.id .. ")")

list_broadcasts

List broadcasts (email blasts) from your ConvertKit account with pagination.

Parameters

NameTypeRequiredDescription
pageintegernoPage number (starts at 1, default: 1)
per_pageintegernoResults per page (default: 50)

Example

local result = app.integrations.convertkit.list_broadcasts({
  page = 1,
  per_page = 25
})

for _, broadcast in ipairs(result.broadcasts) do
  print(broadcast.id .. ": " .. broadcast.subject)
end

get_current_user

Get the authenticated ConvertKit account information.

Parameters

None.

Example

local result = app.integrations.convertkit.get_current_user({})

print("Account: " .. result.name)
print("Email: " .. result.primary_email_address)

Multi-Account Usage

If you have multiple ConvertKit accounts configured, use account-specific namespaces:

-- Default account (always works)
app.integrations.convertkit.list_subscribers({...})

-- Explicit default (portable across setups)
app.integrations.convertkit.default.list_subscribers({...})

-- Named accounts
app.integrations.convertkit.work.list_subscribers({...})
app.integrations.convertkit.personal.list_subscribers({...})

All functions are identical across accounts — only the credentials differ.

Raw agent markdown
# ConvertKit — Lua API Reference

## list_subscribers

List subscribers from your ConvertKit account with pagination and date filtering.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `page` | integer | no | Page number (starts at 1, default: 1) |
| `per_page` | integer | no | Results per page (max 50, default: 50) |
| `from` | string | no | Filter subscribers added after this date (ISO 8601, e.g. "2025-01-01") |
| `to` | string | no | Filter subscribers added before this date (ISO 8601, e.g. "2025-12-31") |

### Example

```lua
local result = app.integrations.convertkit.list_subscribers({
  page = 1,
  per_page = 25,
  from = "2025-01-01",
  to = "2025-12-31"
})

for _, sub in ipairs(result.subscribers) do
  print(sub.email_address .. " — " .. (sub.first_name or "N/A"))
end
```

---

## get_subscriber

Get details for a single subscriber by their ConvertKit subscriber ID.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `subscriber_id` | integer | yes | The ConvertKit subscriber ID |

### Example

```lua
local result = app.integrations.convertkit.get_subscriber({
  subscriber_id = 12345
})

print(result.subscriber.email_address)
print(result.subscriber.state)
```

---

## list_forms

List all forms in your ConvertKit account.

### Parameters

None.

### Example

```lua
local result = app.integrations.convertkit.list_forms({})

for _, form in ipairs(result.forms) do
  print(form.id .. ": " .. form.name)
end
```

---

## list_tags

List all tags in your ConvertKit account.

### Parameters

None.

### Example

```lua
local result = app.integrations.convertkit.list_tags({})

for _, tag in ipairs(result.tags) do
  print(tag.id .. ": " .. tag.name)
end
```

---

## create_tag

Create a new tag in ConvertKit.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `name` | string | yes | Name for the new tag |

### Example

```lua
local result = app.integrations.convertkit.create_tag({
  name = "VIP Customer"
})

print("Created tag: " .. result.tag.name .. " (ID: " .. result.tag.id .. ")")
```

---

## list_broadcasts

List broadcasts (email blasts) from your ConvertKit account with pagination.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `page` | integer | no | Page number (starts at 1, default: 1) |
| `per_page` | integer | no | Results per page (default: 50) |

### Example

```lua
local result = app.integrations.convertkit.list_broadcasts({
  page = 1,
  per_page = 25
})

for _, broadcast in ipairs(result.broadcasts) do
  print(broadcast.id .. ": " .. broadcast.subject)
end
```

---

## get_current_user

Get the authenticated ConvertKit account information.

### Parameters

None.

### Example

```lua
local result = app.integrations.convertkit.get_current_user({})

print("Account: " .. result.name)
print("Email: " .. result.primary_email_address)
```

---

## Multi-Account Usage

If you have multiple ConvertKit accounts configured, use account-specific namespaces:

```lua
-- Default account (always works)
app.integrations.convertkit.list_subscribers({...})

-- Explicit default (portable across setups)
app.integrations.convertkit.default.list_subscribers({...})

-- Named accounts
app.integrations.convertkit.work.list_subscribers({...})
app.integrations.convertkit.personal.list_subscribers({...})
```

All functions are identical across accounts — only the credentials differ.

Metadata-Derived Lua Example

local result = app.integrations.convertkit.convertkit_list_subscribers({
  page = 1,
  per_page = 1,
  from = "example_from",
  to = "example_to"
})
print(result)

Functions

convertkit_list_subscribers

List subscribers from your ConvertKit account. Supports pagination and date range filtering.

Operation
Read read
Full name
convertkit.convertkit_list_subscribers
ParameterTypeRequiredDescription
page integer no Page number (starts at 1).
per_page integer no Results per page (max 50, default 50).
from string no Filter subscribers added after this date (ISO 8601, e.g. "2025-01-01").
to string no Filter subscribers added before this date (ISO 8601, e.g. "2025-12-31").

convertkit_get_subscriber

Get details for a single ConvertKit subscriber by their subscriber ID.

Operation
Read read
Full name
convertkit.convertkit_get_subscriber
ParameterTypeRequiredDescription
subscriber_id integer yes The ConvertKit subscriber ID.

convertkit_list_forms

List all forms in your ConvertKit account. Returns form IDs and names.

Operation
Read read
Full name
convertkit.convertkit_list_forms
ParameterTypeRequiredDescription
No parameters.

convertkit_list_tags

List all tags in your ConvertKit account. Returns tag IDs and names.

Operation
Read read
Full name
convertkit.convertkit_list_tags
ParameterTypeRequiredDescription
No parameters.

convertkit_create_tag

Create a new tag in ConvertKit.

Operation
Write write
Full name
convertkit.convertkit_create_tag
ParameterTypeRequiredDescription
name string yes Name for the new tag.

convertkit_list_broadcasts

List broadcasts (email blasts) from your ConvertKit account. Supports pagination.

Operation
Read read
Full name
convertkit.convertkit_list_broadcasts
ParameterTypeRequiredDescription
page integer no Page number (starts at 1).
per_page integer no Results per page (default 50).

convertkit_get_current_user

Get the authenticated ConvertKit account information, including account name, email, and plan details.

Operation
Read read
Full name
convertkit.convertkit_get_current_user
ParameterTypeRequiredDescription
No parameters.