data
Redis Cloud Lua API for KosmoKrator Agents
Agent-facing Lua documentation and function reference for the Redis Cloud KosmoKrator integration.Lua Namespace
Agents call this integration through app.integrations.redis_cloud.*.
Use lua_read_doc("integrations.redis-cloud") 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
Redis Cloud workflow without starting an interactive agent session.
kosmo integrations:lua --eval 'dump(app.integrations.redis_cloud.get_current_account({}))' --json kosmo integrations:lua --eval 'print(docs.read("redis-cloud"))' --json
kosmo integrations:lua --eval 'print(docs.read("redis-cloud.get_current_account"))' --json Workflow file
Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.
local redis_cloud = app.integrations.redis_cloud
local result = redis_cloud.get_current_account({})
dump(result) kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json integrations:lua exposes app.integrations.redis_cloud, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.redis_cloud.default.* or app.integrations.redis_cloud.work.* when you configured named credential accounts.
MCP-only Lua
If the script only needs configured MCP servers and does not need Redis Cloud, use the narrower 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.
Redis Cloud — Lua API Reference
get_current_account
Get the current Redis Cloud account information, including owner email, payment method, and plan details.
Parameters
None.
Examples
local account = app.integrations["redis-cloud"].get_current_account()
print("Owner: " .. (account.ownerEmail or "unknown"))
print("Plan: " .. (account.planDescription or "N/A"))
list_subscriptions
List all subscriptions in the Redis Cloud account. Returns subscription IDs, names, regions, statuses, and database counts.
Parameters
None.
Examples
local result = app.integrations["redis-cloud"].list_subscriptions()
for _, sub in ipairs(result) do
print("Subscription: " .. (sub.name or sub.id) .. " — " .. (sub.status or "?"))
end
get_subscription
Get details for a specific Redis Cloud subscription by ID, including plan, region, memory, throughput, and database list.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
subscription_id | integer | yes | The Redis Cloud subscription ID. |
Examples
local sub = app.integrations["redis-cloud"].get_subscription({
subscription_id = 12345
})
print("Name: " .. (sub.name or "N/A"))
print("Region: " .. (sub.region or "N/A"))
print("Databases: " .. #(sub.databases or {}))
list_databases
List all databases within a Redis Cloud subscription. Returns database IDs, names, endpoints, and statuses.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
subscription_id | integer | yes | The Redis Cloud subscription ID. |
Examples
local result = app.integrations["redis-cloud"].list_databases({
subscription_id = 12345
})
for _, db in ipairs(result) do
print("Database: " .. (db.name or db.id) .. " — " .. (db.status or "?"))
end
get_database
Get details for a specific Redis Cloud database by subscription and database ID, including endpoint, memory usage, throughput, and replication status.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
subscription_id | integer | yes | The Redis Cloud subscription ID. |
database_id | integer | yes | The database ID within the subscription. |
Examples
local db = app.integrations["redis-cloud"].get_database({
subscription_id = 12345,
database_id = 1
})
print("Name: " .. (db.name or "N/A"))
print("Endpoint: " .. (db.publicEndpoint or "N/A"))
print("Memory: " .. tostring(db.datasetSizeInMb or 0) .. " MB")
list_teams
List all teams (ACL roles) in the Redis Cloud account. Returns team IDs, names, and member counts.
Parameters
None.
Examples
local result = app.integrations["redis-cloud"].list_teams()
for _, team in ipairs(result) do
print("Team: " .. (team.name or team.id))
end
get_team
Get details for a specific Redis Cloud team (ACL role) by ID, including roles, permissions, and assigned databases.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
team_id | integer | yes | The Redis Cloud team ID. |
Examples
local team = app.integrations["redis-cloud"].get_team({
team_id = 42
})
print("Team: " .. (team.name or "N/A"))
Common Workflows
List all subscriptions and their databases
-- Step 1: List all subscriptions
local subs = app.integrations["redis-cloud"].list_subscriptions()
-- Step 2: For each subscription, list its databases
for _, sub in ipairs(subs) do
local databases = app.integrations["redis-cloud"].list_databases({
subscription_id = sub.subscriptionId
})
for _, db in ipairs(databases) do
print(sub.name .. " / " .. db.name .. " — " .. (db.publicEndpoint or "no endpoint"))
end
end
Check account info and team access
-- Get account info
local account = app.integrations["redis-cloud"].get_current_account()
print("Account owner: " .. (account.ownerEmail or "unknown"))
-- List all teams
local teams = app.integrations["redis-cloud"].list_teams()
for _, team in ipairs(teams) do
print("Team: " .. team.name)
end
Notes
- Authentication uses an API key + secret key pair (HTTP Basic Auth). Generate keys in the Redis Cloud console under Settings > API Keys.
- The API base URL is
https://api.redislabs.com/v1. - Subscription and database IDs are integers (not UUIDs).
- Some endpoints may return paginated results for large accounts.
Multi-Account Usage
If you have multiple Redis Cloud accounts configured, use account-specific namespaces:
-- Default account (always works)
app.integrations["redis-cloud"].list_subscriptions()
-- Explicit default (portable across setups)
app.integrations["redis-cloud"].default.list_subscriptions()
-- Named accounts
app.integrations["redis-cloud"].production.list_subscriptions()
app.integrations["redis-cloud"].staging.list_subscriptions()
All functions are identical across accounts — only the credentials differ.
Raw agent markdown
# Redis Cloud — Lua API Reference
## get_current_account
Get the current Redis Cloud account information, including owner email, payment method, and plan details.
### Parameters
None.
### Examples
```lua
local account = app.integrations["redis-cloud"].get_current_account()
print("Owner: " .. (account.ownerEmail or "unknown"))
print("Plan: " .. (account.planDescription or "N/A"))
```
---
## list_subscriptions
List all subscriptions in the Redis Cloud account. Returns subscription IDs, names, regions, statuses, and database counts.
### Parameters
None.
### Examples
```lua
local result = app.integrations["redis-cloud"].list_subscriptions()
for _, sub in ipairs(result) do
print("Subscription: " .. (sub.name or sub.id) .. " — " .. (sub.status or "?"))
end
```
---
## get_subscription
Get details for a specific Redis Cloud subscription by ID, including plan, region, memory, throughput, and database list.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `subscription_id` | integer | yes | The Redis Cloud subscription ID. |
### Examples
```lua
local sub = app.integrations["redis-cloud"].get_subscription({
subscription_id = 12345
})
print("Name: " .. (sub.name or "N/A"))
print("Region: " .. (sub.region or "N/A"))
print("Databases: " .. #(sub.databases or {}))
```
---
## list_databases
List all databases within a Redis Cloud subscription. Returns database IDs, names, endpoints, and statuses.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `subscription_id` | integer | yes | The Redis Cloud subscription ID. |
### Examples
```lua
local result = app.integrations["redis-cloud"].list_databases({
subscription_id = 12345
})
for _, db in ipairs(result) do
print("Database: " .. (db.name or db.id) .. " — " .. (db.status or "?"))
end
```
---
## get_database
Get details for a specific Redis Cloud database by subscription and database ID, including endpoint, memory usage, throughput, and replication status.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `subscription_id` | integer | yes | The Redis Cloud subscription ID. |
| `database_id` | integer | yes | The database ID within the subscription. |
### Examples
```lua
local db = app.integrations["redis-cloud"].get_database({
subscription_id = 12345,
database_id = 1
})
print("Name: " .. (db.name or "N/A"))
print("Endpoint: " .. (db.publicEndpoint or "N/A"))
print("Memory: " .. tostring(db.datasetSizeInMb or 0) .. " MB")
```
---
## list_teams
List all teams (ACL roles) in the Redis Cloud account. Returns team IDs, names, and member counts.
### Parameters
None.
### Examples
```lua
local result = app.integrations["redis-cloud"].list_teams()
for _, team in ipairs(result) do
print("Team: " .. (team.name or team.id))
end
```
---
## get_team
Get details for a specific Redis Cloud team (ACL role) by ID, including roles, permissions, and assigned databases.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `team_id` | integer | yes | The Redis Cloud team ID. |
### Examples
```lua
local team = app.integrations["redis-cloud"].get_team({
team_id = 42
})
print("Team: " .. (team.name or "N/A"))
```
---
## Common Workflows
### List all subscriptions and their databases
```lua
-- Step 1: List all subscriptions
local subs = app.integrations["redis-cloud"].list_subscriptions()
-- Step 2: For each subscription, list its databases
for _, sub in ipairs(subs) do
local databases = app.integrations["redis-cloud"].list_databases({
subscription_id = sub.subscriptionId
})
for _, db in ipairs(databases) do
print(sub.name .. " / " .. db.name .. " — " .. (db.publicEndpoint or "no endpoint"))
end
end
```
### Check account info and team access
```lua
-- Get account info
local account = app.integrations["redis-cloud"].get_current_account()
print("Account owner: " .. (account.ownerEmail or "unknown"))
-- List all teams
local teams = app.integrations["redis-cloud"].list_teams()
for _, team in ipairs(teams) do
print("Team: " .. team.name)
end
```
## Notes
- Authentication uses an API key + secret key pair (HTTP Basic Auth). Generate keys in the Redis Cloud console under **Settings > API Keys**.
- The API base URL is `https://api.redislabs.com/v1`.
- Subscription and database IDs are integers (not UUIDs).
- Some endpoints may return paginated results for large accounts.
---
## Multi-Account Usage
If you have multiple Redis Cloud accounts configured, use account-specific namespaces:
```lua
-- Default account (always works)
app.integrations["redis-cloud"].list_subscriptions()
-- Explicit default (portable across setups)
app.integrations["redis-cloud"].default.list_subscriptions()
-- Named accounts
app.integrations["redis-cloud"].production.list_subscriptions()
app.integrations["redis-cloud"].staging.list_subscriptions()
```
All functions are identical across accounts — only the credentials differ. local result = app.integrations.redis_cloud.get_current_account({})
print(result) Functions
get_current_account Read
Get the current Redis Cloud account information, including owner email, payment method, and plan details.
- Lua path
app.integrations.redis_cloud.get_current_account- Full name
redis-cloud.redis_cloud_get_current_account
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_subscriptions Read
List all subscriptions in the Redis Cloud account. Returns subscription IDs, names, regions, statuses, and database counts.
- Lua path
app.integrations.redis_cloud.list_subscriptions- Full name
redis-cloud.redis_cloud_list_subscriptions
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_subscription Read
Get details for a specific Redis Cloud subscription by ID, including plan, region, memory, throughput, and database list.
- Lua path
app.integrations.redis_cloud.get_subscription- Full name
redis-cloud.redis_cloud_get_subscription
| Parameter | Type | Required | Description |
|---|---|---|---|
subscription_id | integer | yes | The Redis Cloud subscription ID. |
list_databases Read
List all databases within a Redis Cloud subscription. Returns database IDs, names, endpoints, and statuses.
- Lua path
app.integrations.redis_cloud.list_databases- Full name
redis-cloud.redis_cloud_list_databases
| Parameter | Type | Required | Description |
|---|---|---|---|
subscription_id | integer | yes | The Redis Cloud subscription ID to list databases for. |
get_database Read
Get details for a specific Redis Cloud database by subscription and database ID, including endpoint, memory usage, throughput, and replication status.
- Lua path
app.integrations.redis_cloud.get_database- Full name
redis-cloud.redis_cloud_get_database
| Parameter | Type | Required | Description |
|---|---|---|---|
subscription_id | integer | yes | The Redis Cloud subscription ID. |
database_id | integer | yes | The database ID within the subscription. |
list_teams Read
List all teams (ACL roles) in the Redis Cloud account. Returns team IDs, names, and member counts.
- Lua path
app.integrations.redis_cloud.list_teams- Full name
redis-cloud.redis_cloud_list_teams
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_team Read
Get details for a specific Redis Cloud team (ACL role) by ID, including roles, permissions, and assigned databases.
- Lua path
app.integrations.redis_cloud.get_team- Full name
redis-cloud.redis_cloud_get_team
| Parameter | Type | Required | Description |
|---|---|---|---|
team_id | integer | yes | The Redis Cloud team ID. |