analytics
Pingdom Lua API for KosmoKrator Agents
Agent-facing Lua documentation and function reference for the Pingdom KosmoKrator integration.Lua Namespace
Agents call this integration through app.integrations.pingdom.*.
Use lua_read_doc("integrations.pingdom") 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
Pingdom workflow without starting an interactive agent session.
kosmo integrations:lua --eval 'dump(app.integrations.pingdom.list_checks({limit = 1, offset = 1, status = "example_status", tags = "example_tags"}))' --json kosmo integrations:lua --eval 'print(docs.read("pingdom"))' --json
kosmo integrations:lua --eval 'print(docs.read("pingdom.list_checks"))' --json Workflow file
Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.
local pingdom = app.integrations.pingdom
local result = pingdom.list_checks({limit = 1, offset = 1, status = "example_status", tags = "example_tags"})
dump(result) kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json integrations:lua exposes app.integrations.pingdom, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.pingdom.default.* or app.integrations.pingdom.work.* when you configured named credential accounts.
MCP-only Lua
If the script only needs configured MCP servers and does not need Pingdom, 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.
Pingdom — Lua API Reference
list_checks
List all uptime checks in Pingdom. Returns check IDs, names, hostnames, statuses, and last test times.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of checks to return (default: 100) |
offset | integer | no | Offset for pagination (default: 0) |
status | string | no | Filter by status: "up", "down", "paused", "unknown" |
tags | string | no | Filter by tag (comma-separated) |
Example
local result = app.integrations.pingdom.list_checks({})
for _, check in ipairs(result.checks) do
print(check.name .. " (" .. check.hostname .. "): " .. check.status)
end
get_check
Get detailed information about a specific Pingdom uptime check.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
check_id | integer | yes | The ID of the check to retrieve |
Example
local result = app.integrations.pingdom.get_check({
check_id = 12345
})
print("Name: " .. result.check.name)
print("Status: " .. result.check.status)
print("Last response time: " .. (result.check.last_response_time or "N/A") .. "ms")
create_check
Create a new uptime check in Pingdom. Supports HTTP, HTTPS, TCP, ping, DNS, UDP, SMTP, POP3, and IMAP check types.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
name | string | yes | Name of the check |
host | string | yes | Target hostname or IP address |
type | string | yes | Check type: "http", "https", "tcp", "ping", "dns", "udp", "smtp", "pop3", "imap" |
resolution | integer | no | Check interval in minutes (1, 5, 15, 30, 60). Default: 5 |
url | string | no | URL path for HTTP/HTTPS checks (e.g., "/health") |
port | integer | no | Target port for TCP/UDP checks |
tags | string | no | Comma-separated tags for the check |
send_string | string | no | String to send for TCP/UDP checks |
expect_string | string | no | Expected response string for TCP checks |
contactids | string | no | Comma-separated contact IDs to alert |
Example
local result = app.integrations.pingdom.create_check({
name = "My Website",
host = "example.com",
type = "https",
url = "/health",
resolution = 5,
tags = "production,website"
})
print("Created check ID: " .. result.check.id)
list_results
List summary results for a Pingdom uptime check. Returns response times and status summaries.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
check_id | integer | yes | The ID of the check |
from | integer | no | Start timestamp (Unix epoch) |
to | integer | no | End timestamp (Unix epoch) |
limit | integer | no | Maximum number of results to return |
offset | integer | no | Offset for pagination |
Example
local result = app.integrations.pingdom.list_results({
check_id = 12345,
limit = 50
})
for _, r in ipairs(result.results) do
print(r.status .. " - " .. r.responsetime .. "ms")
end
get_results
Get detailed test results for a Pingdom uptime check, including individual probe responses and response times.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
check_id | integer | yes | The ID of the check |
from | integer | no | Start timestamp (Unix epoch) |
to | integer | no | End timestamp (Unix epoch) |
limit | integer | no | Maximum number of results to return |
offset | integer | no | Offset for pagination |
probes | string | no | Comma-separated probe IDs to filter by |
status | string | no | Filter by result status: "up", "down", "unconfirmed_down" |
Example
-- Get results from the last 24 hours
local now = os.time()
local result = app.integrations.pingdom.get_results({
check_id = 12345,
from = now - 86400,
to = now,
status = "down"
})
print("Found " .. result.count .. " downtime events")
list_alerts
List alerts for the Pingdom account. Returns alert details including check ID, contact, and alert type.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of alerts to return (default: 100) |
offset | integer | no | Offset for pagination (default: 0) |
check_id | integer | no | Filter alerts by check ID |
status | string | no | Filter by alert status: "sent", "not_sent", "scheduled" |
Example
local result = app.integrations.pingdom.list_alerts({
limit = 20,
status = "sent"
})
for _, alert in ipairs(result.alerts) do
print("Check " .. alert.checkid .. ": " .. alert.status)
end
get_current_user
Get details of the currently authenticated Pingdom user, including account info and credits.
Parameters
None.
Example
local result = app.integrations.pingdom.get_current_user({})
print("Account: " .. result.name)
print("Email: " .. (result.email or "N/A"))
print("Credits: " .. (result.credits or "N/A"))
Multi-Account Usage
If you have multiple Pingdom accounts configured, use account-specific namespaces:
-- Default account (always works)
app.integrations.pingdom.function_name({...})
-- Explicit default (portable across setups)
app.integrations.pingdom.default.function_name({...})
-- Named accounts
app.integrations.pingdom.work.function_name({...})
app.integrations.pingdom.production.function_name({...})
All functions are identical across accounts — only the credentials differ.
Raw agent markdown
# Pingdom — Lua API Reference
## list_checks
List all uptime checks in Pingdom. Returns check IDs, names, hostnames, statuses, and last test times.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `limit` | integer | no | Maximum number of checks to return (default: 100) |
| `offset` | integer | no | Offset for pagination (default: 0) |
| `status` | string | no | Filter by status: `"up"`, `"down"`, `"paused"`, `"unknown"` |
| `tags` | string | no | Filter by tag (comma-separated) |
### Example
```lua
local result = app.integrations.pingdom.list_checks({})
for _, check in ipairs(result.checks) do
print(check.name .. " (" .. check.hostname .. "): " .. check.status)
end
```
---
## get_check
Get detailed information about a specific Pingdom uptime check.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `check_id` | integer | yes | The ID of the check to retrieve |
### Example
```lua
local result = app.integrations.pingdom.get_check({
check_id = 12345
})
print("Name: " .. result.check.name)
print("Status: " .. result.check.status)
print("Last response time: " .. (result.check.last_response_time or "N/A") .. "ms")
```
---
## create_check
Create a new uptime check in Pingdom. Supports HTTP, HTTPS, TCP, ping, DNS, UDP, SMTP, POP3, and IMAP check types.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `name` | string | yes | Name of the check |
| `host` | string | yes | Target hostname or IP address |
| `type` | string | yes | Check type: `"http"`, `"https"`, `"tcp"`, `"ping"`, `"dns"`, `"udp"`, `"smtp"`, `"pop3"`, `"imap"` |
| `resolution` | integer | no | Check interval in minutes (1, 5, 15, 30, 60). Default: 5 |
| `url` | string | no | URL path for HTTP/HTTPS checks (e.g., `"/health"`) |
| `port` | integer | no | Target port for TCP/UDP checks |
| `tags` | string | no | Comma-separated tags for the check |
| `send_string` | string | no | String to send for TCP/UDP checks |
| `expect_string` | string | no | Expected response string for TCP checks |
| `contactids` | string | no | Comma-separated contact IDs to alert |
### Example
```lua
local result = app.integrations.pingdom.create_check({
name = "My Website",
host = "example.com",
type = "https",
url = "/health",
resolution = 5,
tags = "production,website"
})
print("Created check ID: " .. result.check.id)
```
---
## list_results
List summary results for a Pingdom uptime check. Returns response times and status summaries.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `check_id` | integer | yes | The ID of the check |
| `from` | integer | no | Start timestamp (Unix epoch) |
| `to` | integer | no | End timestamp (Unix epoch) |
| `limit` | integer | no | Maximum number of results to return |
| `offset` | integer | no | Offset for pagination |
### Example
```lua
local result = app.integrations.pingdom.list_results({
check_id = 12345,
limit = 50
})
for _, r in ipairs(result.results) do
print(r.status .. " - " .. r.responsetime .. "ms")
end
```
---
## get_results
Get detailed test results for a Pingdom uptime check, including individual probe responses and response times.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `check_id` | integer | yes | The ID of the check |
| `from` | integer | no | Start timestamp (Unix epoch) |
| `to` | integer | no | End timestamp (Unix epoch) |
| `limit` | integer | no | Maximum number of results to return |
| `offset` | integer | no | Offset for pagination |
| `probes` | string | no | Comma-separated probe IDs to filter by |
| `status` | string | no | Filter by result status: `"up"`, `"down"`, `"unconfirmed_down"` |
### Example
```lua
-- Get results from the last 24 hours
local now = os.time()
local result = app.integrations.pingdom.get_results({
check_id = 12345,
from = now - 86400,
to = now,
status = "down"
})
print("Found " .. result.count .. " downtime events")
```
---
## list_alerts
List alerts for the Pingdom account. Returns alert details including check ID, contact, and alert type.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `limit` | integer | no | Maximum number of alerts to return (default: 100) |
| `offset` | integer | no | Offset for pagination (default: 0) |
| `check_id` | integer | no | Filter alerts by check ID |
| `status` | string | no | Filter by alert status: `"sent"`, `"not_sent"`, `"scheduled"` |
### Example
```lua
local result = app.integrations.pingdom.list_alerts({
limit = 20,
status = "sent"
})
for _, alert in ipairs(result.alerts) do
print("Check " .. alert.checkid .. ": " .. alert.status)
end
```
---
## get_current_user
Get details of the currently authenticated Pingdom user, including account info and credits.
### Parameters
None.
### Example
```lua
local result = app.integrations.pingdom.get_current_user({})
print("Account: " .. result.name)
print("Email: " .. (result.email or "N/A"))
print("Credits: " .. (result.credits or "N/A"))
```
---
## Multi-Account Usage
If you have multiple Pingdom accounts configured, use account-specific namespaces:
```lua
-- Default account (always works)
app.integrations.pingdom.function_name({...})
-- Explicit default (portable across setups)
app.integrations.pingdom.default.function_name({...})
-- Named accounts
app.integrations.pingdom.work.function_name({...})
app.integrations.pingdom.production.function_name({...})
```
All functions are identical across accounts — only the credentials differ. local result = app.integrations.pingdom.list_checks({limit = 1, offset = 1, status = "example_status", tags = "example_tags"})
print(result) Functions
list_checks Read
List all uptime checks in Pingdom. Returns check IDs, names, hostnames, statuses, and last test times.
- Lua path
app.integrations.pingdom.list_checks- Full name
pingdom.pingdom_list_checks
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of checks to return (default: 100). |
offset | integer | no | Offset for pagination (default: 0). |
status | string | no | Filter by status: "up", "down", "paused", "unknown". |
tags | string | no | Filter by tag (comma-separated). |
get_check Read
Get detailed information about a specific Pingdom uptime check, including configuration, current status, and last test results.
- Lua path
app.integrations.pingdom.get_check- Full name
pingdom.pingdom_get_check
| Parameter | Type | Required | Description |
|---|---|---|---|
check_id | integer | yes | The ID of the check to retrieve. |
create_check Write
Create a new uptime check in Pingdom. Supports HTTP, HTTPS, TCP, ping, DNS, UDP, SMTP, POP3, and IMAP check types.
- Lua path
app.integrations.pingdom.create_check- Full name
pingdom.pingdom_create_check
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | yes | Name of the check. |
host | string | yes | Target hostname or IP address. |
type | string | yes | Check type: "http", "https", "tcp", "ping", "dns", "udp", "smtp", "pop3", "imap". |
resolution | integer | no | Check interval in minutes (1, 5, 15, 30, 60). Default: 5. |
url | string | no | URL path for HTTP/HTTPS checks (e.g., "/health"). |
port | integer | no | Target port for TCP/UDP checks. |
tags | string | no | Comma-separated tags for the check. |
send_string | string | no | String to send for TCP/UDP checks. |
expect_string | string | no | Expected response string for TCP checks. |
contactids | string | no | Comma-separated contact IDs to alert. |
list_results Read
List summary results for a Pingdom uptime check. Returns response times and status summaries.
- Lua path
app.integrations.pingdom.list_results- Full name
pingdom.pingdom_list_results
| Parameter | Type | Required | Description |
|---|---|---|---|
check_id | integer | yes | The ID of the check. |
from | integer | no | Start timestamp (Unix epoch) for the results window. |
to | integer | no | End timestamp (Unix epoch) for the results window. |
limit | integer | no | Maximum number of results to return. |
offset | integer | no | Offset for pagination. |
get_results Read
Get detailed test results for a Pingdom uptime check, including individual probe responses and response times.
- Lua path
app.integrations.pingdom.get_results- Full name
pingdom.pingdom_get_results
| Parameter | Type | Required | Description |
|---|---|---|---|
check_id | integer | yes | The ID of the check. |
from | integer | no | Start timestamp (Unix epoch) for the results window. |
to | integer | no | End timestamp (Unix epoch) for the results window. |
limit | integer | no | Maximum number of results to return. |
offset | integer | no | Offset for pagination. |
probes | string | no | Comma-separated probe IDs to filter by. |
status | string | no | Filter by result status: "up", "down", "unconfirmed_down". |
list_alerts Read
List alerts for the Pingdom account. Returns alert details including check ID, contact, and alert type.
- Lua path
app.integrations.pingdom.list_alerts- Full name
pingdom.pingdom_list_alerts
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of alerts to return (default: 100). |
offset | integer | no | Offset for pagination (default: 0). |
check_id | integer | no | Filter alerts by check ID. |
status | string | no | Filter by alert status: "sent", "not_sent", "scheduled". |
get_current_user Read
Get details of the currently authenticated Pingdom user, including account info and credits.
- Lua path
app.integrations.pingdom.get_current_user- Full name
pingdom.pingdom_get_current_user
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||