KosmoKrator

productivity

Airtop Lua API for KosmoKrator Agents

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

Lua Namespace

Agents call this integration through app.integrations.airtop.*. Use lua_read_doc("integrations.airtop") 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 Airtop workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.airtop.get_list_sessions({}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("airtop"))' --json
kosmo integrations:lua --eval 'print(docs.read("airtop.get_list_sessions"))' --json

Workflow file

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

workflow.lua
local airtop = app.integrations.airtop
local result = airtop.get_list_sessions({})

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.airtop, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.airtop.default.* or app.integrations.airtop.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need Airtop, 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.

Airtop Integration

Airtop provides cloud browser automation through the official Airtop API. This package exposes generated tools from https://docs.airtop.ai/openapi.json.

Configuration

FieldTypeRequiredDescription
api_keysecretYesAirtop API key sent as a Bearer token.
urlurlNoAPI base URL. Default is https://api.airtop.ai/api.

Usage Pattern

Tool names are generated from official Airtop operation IDs:

  • airtop_sessions_create
  • airtop_sessions_get_info
  • airtop_sessions_windows_load_url
  • airtop_sessions_windows_scrape_content
  • airtop_sessions_windows_page_query
  • airtop_requests_status_get_request_status

Path and query parameters are exposed as snake_case tool arguments. JSON request payloads are passed through body with Airtop’s official field names.

local session = airtop_sessions_create({
  body = {
    configuration = {
      timeoutMinutes = 10
    }
  }
})
local window = airtop_sessions_windows_create({
  session_id = session.id,
  body = {
    url = "https://example.test"
  }
})

Some official operation IDs are generic. This integration prefixes them with the API resource path so the tool name stays unique and readable.

airtop_sessions_windows_load_url({
  session_id = "sess_123",
  window_id = "win_123",
  body = {
    url = "https://example.test"
  }
})
airtop_sessions_windows_scrape_content({
  session_id = "sess_123",
  window_id = "win_123",
  body = {
    includeLinks = true
  }
})

Async operations return a request identifier. Poll the official status endpoint:

airtop_requests_status_get_request_status({
  request_id = "req_123"
})

Return Shape

Tools return Airtop’s parsed JSON response. 204 No Content responses return an empty object. Errors are normalized into tool errors that include the Airtop HTTP status and message when available.

Notes

  • This package covers the official OpenAPI operations available in the Airtop API document: sessions, windows, sync and async automation, form filling, page querying, scraping, screenshots, profiles, automations, files, and request status.
  • Prefer exact body objects from the Airtop API documentation when using write tools.
  • Use fake session IDs, URLs, and file names in examples and tests.
Raw agent markdown
# Airtop Integration

Airtop provides cloud browser automation through the official Airtop API. This package exposes generated tools from `https://docs.airtop.ai/openapi.json`.

## Configuration

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `api_key` | secret | Yes | Airtop API key sent as a Bearer token. |
| `url` | url | No | API base URL. Default is `https://api.airtop.ai/api`. |

## Usage Pattern

Tool names are generated from official Airtop operation IDs:

- `airtop_sessions_create`
- `airtop_sessions_get_info`
- `airtop_sessions_windows_load_url`
- `airtop_sessions_windows_scrape_content`
- `airtop_sessions_windows_page_query`
- `airtop_requests_status_get_request_status`

Path and query parameters are exposed as snake_case tool arguments. JSON request payloads are passed through `body` with Airtop's official field names.

```lua
local session = airtop_sessions_create({
  body = {
    configuration = {
      timeoutMinutes = 10
    }
  }
})
```

```lua
local window = airtop_sessions_windows_create({
  session_id = session.id,
  body = {
    url = "https://example.test"
  }
})
```

Some official operation IDs are generic. This integration prefixes them with the API resource path so the tool name stays unique and readable.

```lua
airtop_sessions_windows_load_url({
  session_id = "sess_123",
  window_id = "win_123",
  body = {
    url = "https://example.test"
  }
})
```

```lua
airtop_sessions_windows_scrape_content({
  session_id = "sess_123",
  window_id = "win_123",
  body = {
    includeLinks = true
  }
})
```

Async operations return a request identifier. Poll the official status endpoint:

```lua
airtop_requests_status_get_request_status({
  request_id = "req_123"
})
```

## Return Shape

Tools return Airtop's parsed JSON response. `204 No Content` responses return an empty object. Errors are normalized into tool errors that include the Airtop HTTP status and message when available.

## Notes

- This package covers the official OpenAPI operations available in the Airtop API document: sessions, windows, sync and async automation, form filling, page querying, scraping, screenshots, profiles, automations, files, and request status.
- Prefer exact `body` objects from the Airtop API documentation when using write tools.
- Use fake session IDs, URLs, and file names in examples and tests.
Metadata-derived Lua example
local result = app.integrations.airtop.get_list_sessions({})
print(result)

Functions

get_list_sessions Read

Execute official Airtop API operation `list`. Endpoint: GET /v1/sessions.

Lua path
app.integrations.airtop.get_list_sessions
Full name
airtop.airtop_sessions_list
ParameterTypeRequiredDescription
No parameters.
create_session Write

Execute official Airtop API operation `create`. Endpoint: POST /v1/sessions.

Lua path
app.integrations.airtop.create_session
Full name
airtop.airtop_sessions_create
ParameterTypeRequiredDescription
No parameters.
get_info_session Read

Execute official Airtop API operation `get-info`. Endpoint: GET /v1/sessions/{id}.

Lua path
app.integrations.airtop.get_info_session
Full name
airtop.airtop_sessions_get_info
ParameterTypeRequiredDescription
No parameters.
ends_session Write

Execute official Airtop API operation `terminate`. Endpoint: DELETE /v1/sessions/{id}.

Lua path
app.integrations.airtop.ends_session
Full name
airtop.airtop_sessions_terminate
ParameterTypeRequiredDescription
No parameters.
save_profile_termination Write

Execute official Airtop API operation `save-profile-on-termination`. Endpoint: PUT /v1/sessions/{sessionId}/save-profile-on-termination/{profileName}.

Lua path
app.integrations.airtop.save_profile_termination
Full name
airtop.airtop_sessions_save_profile_on_termination
ParameterTypeRequiredDescription
No parameters.
create_automation_async Write

Execute official Airtop API operation `async-create-automation`. Endpoint: POST /v1/async/sessions/{sessionId}/windows/{windowId}/create-automation.

Lua path
app.integrations.airtop.create_automation_async
Full name
airtop.airtop_async_sessions_windows_create_automation_async_create_automation
ParameterTypeRequiredDescription
No parameters.
create_form_filler_automation_async Write

Execute official Airtop API operation `async-create-form-filler`. Endpoint: POST /v1/async/sessions/{sessionId}/windows/{windowId}/create-form-filler.

Lua path
app.integrations.airtop.create_form_filler_automation_async
Full name
airtop.airtop_async_sessions_windows_create_form_filler_async_create_form_filler
ParameterTypeRequiredDescription
No parameters.
execute_automation_async Write

Execute official Airtop API operation `async-execute-automation`. Endpoint: POST /v1/async/sessions/{sessionId}/windows/{windowId}/execute-automation.

Lua path
app.integrations.airtop.execute_automation_async
Full name
airtop.airtop_async_sessions_windows_execute_automation_async_execute_automation
ParameterTypeRequiredDescription
No parameters.
fill_form_using_form_filler_automation_async Write

Execute official Airtop API operation `async-fill-form`. Endpoint: POST /v1/async/sessions/{sessionId}/windows/{windowId}/fill-form.

Lua path
app.integrations.airtop.fill_form_using_form_filler_automation_async
Full name
airtop.airtop_async_sessions_windows_fill_form_async_fill_form
ParameterTypeRequiredDescription
No parameters.
list_windows Read

Execute official Airtop API operation `list`. Endpoint: GET /v1/sessions/{sessionId}/windows.

Lua path
app.integrations.airtop.list_windows
Full name
airtop.airtop_sessions_windows_list
ParameterTypeRequiredDescription
No parameters.
create_window Write

Execute official Airtop API operation `create`. Endpoint: POST /v1/sessions/{sessionId}/windows.

Lua path
app.integrations.airtop.create_window
Full name
airtop.airtop_sessions_windows_create
ParameterTypeRequiredDescription
No parameters.
get_window_info Read

Execute official Airtop API operation `get-window-info`. Endpoint: GET /v1/sessions/{sessionId}/windows/{windowId}.

Lua path
app.integrations.airtop.get_window_info
Full name
airtop.airtop_sessions_windows_get_window_info
ParameterTypeRequiredDescription
No parameters.
load_url Write

Execute official Airtop API operation `load-url`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}.

Lua path
app.integrations.airtop.load_url
Full name
airtop.airtop_sessions_windows_load_url
ParameterTypeRequiredDescription
No parameters.
close_window Write

Execute official Airtop API operation `close`. Endpoint: DELETE /v1/sessions/{sessionId}/windows/{windowId}.

Lua path
app.integrations.airtop.close_window
Full name
airtop.airtop_sessions_windows_close
ParameterTypeRequiredDescription
No parameters.
click Write

Execute official Airtop API operation `click`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/click.

Lua path
app.integrations.airtop.click
Full name
airtop.airtop_sessions_windows_click
ParameterTypeRequiredDescription
No parameters.
create_form_filler_automation_synchronously Write

Execute official Airtop API operation `create-form-filler`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/create-form-filler.

Lua path
app.integrations.airtop.create_form_filler_automation_synchronously
Full name
airtop.airtop_sessions_windows_create_form_filler
ParameterTypeRequiredDescription
No parameters.
file_input Write

Execute official Airtop API operation `file-input`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/file-input.

Lua path
app.integrations.airtop.file_input
Full name
airtop.airtop_sessions_windows_file_input
ParameterTypeRequiredDescription
No parameters.
fill_form_synchronously_using_form_filler_automation Write

Execute official Airtop API operation `fill-form`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/fill-form.

Lua path
app.integrations.airtop.fill_form_synchronously_using_form_filler_automation
Full name
airtop.airtop_sessions_windows_fill_form
ParameterTypeRequiredDescription
No parameters.
hover Write

Execute official Airtop API operation `hover`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/hover.

Lua path
app.integrations.airtop.hover
Full name
airtop.airtop_sessions_windows_hover
ParameterTypeRequiredDescription
No parameters.
monitor_condition Write

Execute official Airtop API operation `monitor`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/monitor.

Lua path
app.integrations.airtop.monitor_condition
Full name
airtop.airtop_sessions_windows_monitor
ParameterTypeRequiredDescription
No parameters.
query_page Write

Execute official Airtop API operation `page-query`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/page-query.

Lua path
app.integrations.airtop.query_page
Full name
airtop.airtop_sessions_windows_page_query
ParameterTypeRequiredDescription
No parameters.
query_page_with_pagination Write

Execute official Airtop API operation `paginated-extraction`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/paginated-extraction.

Lua path
app.integrations.airtop.query_page_with_pagination
Full name
airtop.airtop_sessions_windows_paginated_extraction
ParameterTypeRequiredDescription
No parameters.
prompt_content Write

Execute official Airtop API operation `prompt-content`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/prompt-content.

Lua path
app.integrations.airtop.prompt_content
Full name
airtop.airtop_sessions_windows_prompt_content
ParameterTypeRequiredDescription
No parameters.
scrape Write

Execute official Airtop API operation `scrape-content`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/scrape-content.

Lua path
app.integrations.airtop.scrape
Full name
airtop.airtop_sessions_windows_scrape_content
ParameterTypeRequiredDescription
No parameters.
take_screenshot Write

Execute official Airtop API operation `screenshot`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/screenshot.

Lua path
app.integrations.airtop.take_screenshot
Full name
airtop.airtop_sessions_windows_screenshot
ParameterTypeRequiredDescription
No parameters.
scroll Write

Execute official Airtop API operation `scroll`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/scroll.

Lua path
app.integrations.airtop.scroll
Full name
airtop.airtop_sessions_windows_scroll
ParameterTypeRequiredDescription
No parameters.
summarize Write

Execute official Airtop API operation `summarize-content`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/summarize-content.

Lua path
app.integrations.airtop.summarize
Full name
airtop.airtop_sessions_windows_summarize_content
ParameterTypeRequiredDescription
No parameters.
type Write

Execute official Airtop API operation `type`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/type.

Lua path
app.integrations.airtop.type
Full name
airtop.airtop_sessions_windows_type
ParameterTypeRequiredDescription
No parameters.
delete_profiles Write

Execute official Airtop API operation `delete`. Endpoint: DELETE /v1/profiles.

Lua path
app.integrations.airtop.delete_profiles
Full name
airtop.airtop_profiles_delete
ParameterTypeRequiredDescription
No parameters.
list_automations Read

Execute official Airtop API operation `list`. Endpoint: GET /v1/automations.

Lua path
app.integrations.airtop.list_automations
Full name
airtop.airtop_automations_list
ParameterTypeRequiredDescription
No parameters.
update_automation_description Write

Execute official Airtop API operation `update`. Endpoint: PUT /v1/automations/description.

Lua path
app.integrations.airtop.update_automation_description
Full name
airtop.airtop_automations_description_update
ParameterTypeRequiredDescription
No parameters.
get_automation Read

Execute official Airtop API operation `get`. Endpoint: GET /v1/automations/{automationId}.

Lua path
app.integrations.airtop.get_automation
Full name
airtop.airtop_automations_get
ParameterTypeRequiredDescription
No parameters.
delete_automation Write

Execute official Airtop API operation `delete`. Endpoint: DELETE /v1/automations/{automationId}.

Lua path
app.integrations.airtop.delete_automation
Full name
airtop.airtop_automations_delete
ParameterTypeRequiredDescription
No parameters.
get_list_files Read

Execute official Airtop API operation `list`. Endpoint: GET /v1/files.

Lua path
app.integrations.airtop.get_list_files
Full name
airtop.airtop_files_list
ParameterTypeRequiredDescription
No parameters.
create_file Write

Execute official Airtop API operation `create`. Endpoint: POST /v1/files.

Lua path
app.integrations.airtop.create_file
Full name
airtop.airtop_files_create
ParameterTypeRequiredDescription
No parameters.
get_file Read

Execute official Airtop API operation `get`. Endpoint: GET /v1/files/{id}.

Lua path
app.integrations.airtop.get_file
Full name
airtop.airtop_files_get
ParameterTypeRequiredDescription
No parameters.
delete_file Write

Execute official Airtop API operation `delete`. Endpoint: DELETE /v1/files/{id}.

Lua path
app.integrations.airtop.delete_file
Full name
airtop.airtop_files_delete
ParameterTypeRequiredDescription
No parameters.
push_file_session Write

Execute official Airtop API operation `push`. Endpoint: POST /v1/files/{id}/push.

Lua path
app.integrations.airtop.push_file_session
Full name
airtop.airtop_files_push
ParameterTypeRequiredDescription
No parameters.
get_status_asynchronous_request Read

Execute official Airtop API operation `get-request-status`. Endpoint: GET /v1/requests/{requestId}/status.

Lua path
app.integrations.airtop.get_status_asynchronous_request
Full name
airtop.airtop_requests_status_get_request_status
ParameterTypeRequiredDescription
No parameters.