KosmoKrator

productivity

Lambda Labs Lua API for KosmoKrator Agents

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

7 functions 6 read 1 write API key auth

Lua Namespace

Agents call this integration through app.integrations.lambda_labs.*. Use lua_read_doc("integrations.lambda-labs") 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.

Lambda Labs — Lua API Reference

list_instances

List all GPU instances in the Lambda Labs account.

Parameters

None.

Example

local result = app.integrations["lambda-labs"].list_instances({})

for _, instance in ipairs(result.data) do
  print(instance.name .. " (" .. instance.status .. ") - " .. instance.instance_type)
end

get_instance

Get details for a specific GPU instance.

Parameters

NameTypeRequiredDescription
idstringyesThe instance ID

Example

local result = app.integrations["lambda-labs"].get_instance({ id = "12345" })
local inst = result.data
print(inst.name .. " - " .. inst.ip .. " - " .. inst.status)

launch_instance

Launch a new GPU instance.

Parameters

NameTypeRequiredDescription
namestringyesA human-readable name for the instance
region_namestringyesRegion to launch in (e.g., "us-east-1", "us-west-2", "europe-central-1")
instance_typestringyesInstance type slug (e.g., "gpu_1x_a100", "gpu_8x_h100")
ssh_key_idsarrayyesArray of SSH key IDs to assign
image_idstringnoImage ID for the instance OS
quantityintegernoNumber of instances to launch (default: 1)

Common Region Names

us-east-1, us-west-2, europe-central-1, asia-south-1, me-west-1

Common Instance Types

gpu_1x_a100, gpu_2x_a100, gpu_4x_a100, gpu_8x_a100, gpu_1x_h100, gpu_4x_h100, gpu_8x_h100, gpu_1x_a6000, gpu_1x_rtx6000

Example

local result = app.integrations["lambda-labs"].launch_instance({
  name = "gpu-training-01",
  region_name = "us-east-1",
  instance_type = "gpu_1x_a100",
  ssh_key_ids = { "ssh_key_id_here" },
  quantity = 1
})

print("Launched instance: " .. result.data[1].id)

list_ssh_keys

List all SSH keys registered in the account.

Parameters

None.

Example

local result = app.integrations["lambda-labs"].list_ssh_keys({})

for _, key in ipairs(result.data) do
  print(key.name .. " (ID: " .. key.id .. ")")
end

list_instance_types

List all available GPU instance types and configurations.

Parameters

None.

Example

local result = app.integrations["lambda-labs"].list_instance_types({})

for _, itype in ipairs(result.data) do
  print(itype.name .. " - " .. (itype.description or "") .. " - $" .. itype.price_per_hour .. "/hr")
end

list_images

List all available machine images (OS templates).

Parameters

None.

Example

local result = app.integrations["lambda-labs"].list_images({})

for _, image in ipairs(result.data) do
  print(image.id .. " - " .. image.name)
end

get_current_user

Get the current authenticated user information.

Parameters

None.

Example

local result = app.integrations["lambda-labs"].get_current_user({})
print("User: " .. result.data.email .. " (ID: " .. result.data.id .. ")")

Multi-Account Usage

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

-- Default account (always works)
app.integrations["lambda-labs"].list_instances({})

-- Explicit default (portable across setups)
app.integrations["lambda-labs"].default.list_instances({})

-- Named accounts
app.integrations["lambda-labs"].production.list_instances({})
app.integrations["lambda-labs"].research.list_instances({})

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

Raw agent markdown
# Lambda Labs — Lua API Reference

## list_instances

List all GPU instances in the Lambda Labs account.

### Parameters

None.

### Example

```lua
local result = app.integrations["lambda-labs"].list_instances({})

for _, instance in ipairs(result.data) do
  print(instance.name .. " (" .. instance.status .. ") - " .. instance.instance_type)
end
```

---

## get_instance

Get details for a specific GPU instance.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | string | yes | The instance ID |

### Example

```lua
local result = app.integrations["lambda-labs"].get_instance({ id = "12345" })
local inst = result.data
print(inst.name .. " - " .. inst.ip .. " - " .. inst.status)
```

---

## launch_instance

Launch a new GPU instance.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `name` | string | yes | A human-readable name for the instance |
| `region_name` | string | yes | Region to launch in (e.g., `"us-east-1"`, `"us-west-2"`, `"europe-central-1"`) |
| `instance_type` | string | yes | Instance type slug (e.g., `"gpu_1x_a100"`, `"gpu_8x_h100"`) |
| `ssh_key_ids` | array | yes | Array of SSH key IDs to assign |
| `image_id` | string | no | Image ID for the instance OS |
| `quantity` | integer | no | Number of instances to launch (default: 1) |

### Common Region Names

`us-east-1`, `us-west-2`, `europe-central-1`, `asia-south-1`, `me-west-1`

### Common Instance Types

`gpu_1x_a100`, `gpu_2x_a100`, `gpu_4x_a100`, `gpu_8x_a100`, `gpu_1x_h100`, `gpu_4x_h100`, `gpu_8x_h100`, `gpu_1x_a6000`, `gpu_1x_rtx6000`

### Example

```lua
local result = app.integrations["lambda-labs"].launch_instance({
  name = "gpu-training-01",
  region_name = "us-east-1",
  instance_type = "gpu_1x_a100",
  ssh_key_ids = { "ssh_key_id_here" },
  quantity = 1
})

print("Launched instance: " .. result.data[1].id)
```

---

## list_ssh_keys

List all SSH keys registered in the account.

### Parameters

None.

### Example

```lua
local result = app.integrations["lambda-labs"].list_ssh_keys({})

for _, key in ipairs(result.data) do
  print(key.name .. " (ID: " .. key.id .. ")")
end
```

---

## list_instance_types

List all available GPU instance types and configurations.

### Parameters

None.

### Example

```lua
local result = app.integrations["lambda-labs"].list_instance_types({})

for _, itype in ipairs(result.data) do
  print(itype.name .. " - " .. (itype.description or "") .. " - $" .. itype.price_per_hour .. "/hr")
end
```

---

## list_images

List all available machine images (OS templates).

### Parameters

None.

### Example

```lua
local result = app.integrations["lambda-labs"].list_images({})

for _, image in ipairs(result.data) do
  print(image.id .. " - " .. image.name)
end
```

---

## get_current_user

Get the current authenticated user information.

### Parameters

None.

### Example

```lua
local result = app.integrations["lambda-labs"].get_current_user({})
print("User: " .. result.data.email .. " (ID: " .. result.data.id .. ")")
```

---

## Multi-Account Usage

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

```lua
-- Default account (always works)
app.integrations["lambda-labs"].list_instances({})

-- Explicit default (portable across setups)
app.integrations["lambda-labs"].default.list_instances({})

-- Named accounts
app.integrations["lambda-labs"].production.list_instances({})
app.integrations["lambda-labs"].research.list_instances({})
```

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

Metadata-Derived Lua Example

local result = app.integrations.lambda_labs.lambda_labs_list_instances({})
print(result)

Functions

lambda_labs_list_instances

List all GPU instances in the Lambda Labs account. Returns instance IDs, names, status, IP addresses, and GPU configuration.

Operation
Read read
Full name
lambda-labs.lambda_labs_list_instances
ParameterTypeRequiredDescription
No parameters.

lambda_labs_get_instance

Get details for a specific Lambda Labs GPU instance by ID. Returns full instance information including status, IP, region, and GPU type.

Operation
Read read
Full name
lambda-labs.lambda_labs_get_instance
ParameterTypeRequiredDescription
id string yes The instance ID.

lambda_labs_launch_instance

Launch a new GPU instance on Lambda Labs. Requires a region name, instance type, SSH key IDs, and optionally a name and image.

Operation
Write write
Full name
lambda-labs.lambda_labs_launch_instance
ParameterTypeRequiredDescription
name string yes A human-readable name for the instance (e.g., "gpu-training-01").
region_name string yes The region to launch in (e.g., "us-east-1", "us-west-2", "europe-central-1").
instance_type string yes The instance type slug (e.g., "gpu_1x_a100", "gpu_8x_h100").
ssh_key_ids array yes Array of SSH key IDs to assign to the instance.
image_id string no The image ID to use for the instance OS.
quantity integer no Number of instances to launch (default: 1).

lambda_labs_list_ssh_keys

List all SSH keys registered in the Lambda Labs account. Returns key IDs, names, and public key fingerprints.

Operation
Read read
Full name
lambda-labs.lambda_labs_list_ssh_keys
ParameterTypeRequiredDescription
No parameters.

lambda_labs_list_instance_types

List all available GPU instance types on Lambda Labs. Returns specs including GPU model, VRAM, vCPUs, memory, and pricing.

Operation
Read read
Full name
lambda-labs.lambda_labs_list_instance_types
ParameterTypeRequiredDescription
No parameters.

lambda_labs_list_images

List all available machine images on Lambda Labs. Returns image IDs, names, and descriptions for OS templates and custom images.

Operation
Read read
Full name
lambda-labs.lambda_labs_list_images
ParameterTypeRequiredDescription
No parameters.

lambda_labs_get_current_user

Get information about the current authenticated Lambda Labs user, including email, user ID, and account status.

Operation
Read read
Full name
lambda-labs.lambda_labs_get_current_user
ParameterTypeRequiredDescription
No parameters.