heroku_list_apps
List all Heroku apps the authenticated user has access to. Returns app names, IDs, regions, and status.
- Operation
- Read
read - Full name
heroku.heroku_list_apps
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
productivity
Agent-facing Lua documentation and function reference for the Heroku KosmoKrator integration.
Agents call this integration through app.integrations.heroku.*.
Use lua_read_doc("integrations.heroku") inside KosmoKrator to discover the same reference at runtime.
This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.
List all Heroku apps the authenticated user has access to.
None.
local result = app.integrations.heroku.list_apps({})
for _, app in ipairs(result) do
print(app.name .. " (" .. app.region.name .. ") - " .. app.web_url)
end
Get details for a specific Heroku app.
| Name | Type | Required | Description |
|---|---|---|---|
app_id | string | yes | The app ID or name (e.g., "my-app" or the UUID) |
local result = app.integrations.heroku.get_app({ app_id = "my-app" })
print(result.name .. " - " .. result.stack .. " - " .. result.git_url)
List all dynos for a given Heroku app.
| Name | Type | Required | Description |
|---|---|---|---|
app_id | string | yes | The app ID or name |
local result = app.integrations.heroku.list_dynos({ app_id = "my-app" })
for _, dyno in ipairs(result) do
print(dyno.name .. " (" .. dyno.type .. ") - " .. dyno.state .. " - size: " .. dyno.size)
end
List all add-ons attached to a given Heroku app.
| Name | Type | Required | Description |
|---|---|---|---|
app_id | string | yes | The app ID or name |
local result = app.integrations.heroku.list_addons({ app_id = "my-app" })
for _, addon in ipairs(result) do
print(addon.name .. " (" .. addon.plan.name .. ") - " .. addon.state)
end
List all domains for a given Heroku app.
| Name | Type | Required | Description |
|---|---|---|---|
app_id | string | yes | The app ID or name |
local result = app.integrations.heroku.list_domains({ app_id = "my-app" })
for _, domain in ipairs(result) do
print(domain.hostname .. " (" .. domain.kind .. ") - " .. domain.status)
end
List all collaborators for a given Heroku app.
| Name | Type | Required | Description |
|---|---|---|---|
app_id | string | yes | The app ID or name |
local result = app.integrations.heroku.list_collaborators({ app_id = "my-app" })
for _, collab in ipairs(result) do
print(collab.user.email .. " - role: " .. collab.role)
end
Get the current authenticated account information.
None.
local result = app.integrations.heroku.get_current_user({})
print("Account: " .. result.email .. " - verified: " .. tostring(result.verified))
If you have multiple Heroku accounts configured, use account-specific namespaces:
-- Default account (always works)
app.integrations.heroku.list_apps({})
-- Explicit default (portable across setups)
app.integrations.heroku.default.list_apps({})
-- Named accounts
app.integrations.heroku.production.list_apps({})
app.integrations.heroku.staging.list_apps({})
All functions are identical across accounts — only the credentials differ.
# Heroku — Lua API Reference
## list_apps
List all Heroku apps the authenticated user has access to.
### Parameters
None.
### Example
```lua
local result = app.integrations.heroku.list_apps({})
for _, app in ipairs(result) do
print(app.name .. " (" .. app.region.name .. ") - " .. app.web_url)
end
```
---
## get_app
Get details for a specific Heroku app.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `app_id` | string | yes | The app ID or name (e.g., `"my-app"` or the UUID) |
### Example
```lua
local result = app.integrations.heroku.get_app({ app_id = "my-app" })
print(result.name .. " - " .. result.stack .. " - " .. result.git_url)
```
---
## list_dynos
List all dynos for a given Heroku app.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `app_id` | string | yes | The app ID or name |
### Example
```lua
local result = app.integrations.heroku.list_dynos({ app_id = "my-app" })
for _, dyno in ipairs(result) do
print(dyno.name .. " (" .. dyno.type .. ") - " .. dyno.state .. " - size: " .. dyno.size)
end
```
---
## list_addons
List all add-ons attached to a given Heroku app.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `app_id` | string | yes | The app ID or name |
### Example
```lua
local result = app.integrations.heroku.list_addons({ app_id = "my-app" })
for _, addon in ipairs(result) do
print(addon.name .. " (" .. addon.plan.name .. ") - " .. addon.state)
end
```
---
## list_domains
List all domains for a given Heroku app.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `app_id` | string | yes | The app ID or name |
### Example
```lua
local result = app.integrations.heroku.list_domains({ app_id = "my-app" })
for _, domain in ipairs(result) do
print(domain.hostname .. " (" .. domain.kind .. ") - " .. domain.status)
end
```
---
## list_collaborators
List all collaborators for a given Heroku app.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `app_id` | string | yes | The app ID or name |
### Example
```lua
local result = app.integrations.heroku.list_collaborators({ app_id = "my-app" })
for _, collab in ipairs(result) do
print(collab.user.email .. " - role: " .. collab.role)
end
```
---
## get_current_user
Get the current authenticated account information.
### Parameters
None.
### Example
```lua
local result = app.integrations.heroku.get_current_user({})
print("Account: " .. result.email .. " - verified: " .. tostring(result.verified))
```
---
## Multi-Account Usage
If you have multiple Heroku accounts configured, use account-specific namespaces:
```lua
-- Default account (always works)
app.integrations.heroku.list_apps({})
-- Explicit default (portable across setups)
app.integrations.heroku.default.list_apps({})
-- Named accounts
app.integrations.heroku.production.list_apps({})
app.integrations.heroku.staging.list_apps({})
```
All functions are identical across accounts — only the credentials differ. local result = app.integrations.heroku.heroku_list_apps({})
print(result) heroku_list_appsList all Heroku apps the authenticated user has access to. Returns app names, IDs, regions, and status.
readheroku.heroku_list_apps| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
heroku_get_appGet details for a specific Heroku app by ID or name. Returns full app information including region, stack, and Git URL.
readheroku.heroku_get_app| Parameter | Type | Required | Description |
|---|---|---|---|
app_id | string | yes | The app ID or name (e.g., "my-app" or the UUID). |
heroku_list_dynosList all dynos for a given Heroku app. Returns dyno names, types, sizes, states, and uptime.
readheroku.heroku_list_dynos| Parameter | Type | Required | Description |
|---|---|---|---|
app_id | string | yes | The app ID or name. |
heroku_list_addonsList all add-ons attached to a given Heroku app. Returns add-on names, plans, states, and provider details.
readheroku.heroku_list_addons| Parameter | Type | Required | Description |
|---|---|---|---|
app_id | string | yes | The app ID or name. |
heroku_list_domainsList all domains for a given Heroku app. Returns domain hostnames, types (custom/Heroku), and status.
readheroku.heroku_list_domains| Parameter | Type | Required | Description |
|---|---|---|---|
app_id | string | yes | The app ID or name. |
heroku_list_collaboratorsList all collaborators for a given Heroku app. Returns collaborator emails, roles, and permissions.
readheroku.heroku_list_collaborators| Parameter | Type | Required | Description |
|---|---|---|---|
app_id | string | yes | The app ID or name. |
heroku_get_current_userGet information about the current authenticated Heroku account, including email, name, and verified status.
readheroku.heroku_get_current_user| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||