API Reference · Workloads
Update a workload
Replace a single workload by id. The body is the full desired `Workload` (the path id wins). Credentials may be omitted for an existing VM — the secret persists.
PUT/v1/tenants/{name}/workloads/{id}
Authorization
x-api-keystringrequired
Your per-workspace API key, e.g. llc_AbC123…. Also accepted as Authorization: Bearer <key>. Mint keys on your workspace's API keys page — each key belongs to one workspace.
Path parameters
namestringrequired
Workspace (tenant) name.
idstringrequired
Workload id within the workspace.
Body
One resource in a workspace. Set the block matching `type` — `pod` for a container app, `vm` for a VM, `storage` for a managed database, `browser`/`controller` for the agentic-browser stack.
idstringrequired
DNS label, ≤30 chars, unique within the workspace.
typeenumrequired
One of: vm-ubuntu · vm-ubuntu-desktop · vm-windows · pod · browser · controller · storage.
stoppedbooleanoptional
Halt a VM workload without deleting it.
podobjectoptional
Container app. Set `image` for a prebuilt image, or `source.repo` to build from Git (auto-built, no Dockerfile).
vmobjectoptional
VM workload. `credentials.{username,password}` are required when creating a new VM (write-only).
browserobjectoptional
Managed headless browser. Set `aiAgent.enabled` to attach its
built-in AI driver (renders a browser-agent runtime for it; tasks
go to `/browsers/{id}/act`). A browser has exactly ONE driver:
enable its AI agent OR attach it to a Browser API (a controller's
`browsers` list / autodiscover) — never both (422). While driven,
direct CDP control tokens are refused (409); the VNC watch stream
always stays available to humans.
controllerobjectoptional
storageobjectoptional
Managed database (postgres via CNPG, or redis). `backup` is postgres-only.
Response
202 — Accepted.
curl -X PUT https://api.live-llm.com/v1/tenants/acme/workloads/web \
-H "x-api-key: $LIVELLM_KEY" \
-H "Content-Type: application/json" \
-d '{
"id": "web",
"type": "pod",
"stopped": false,
"pod": {
"image": "nginx:1.27",
"cpu": "500m",
"memory": "512Mi",
"ports": [
{
"name": "http",
"port": 80
}
],
"env": {
"DB_HOST": "app-db-rw"
}
}
}'Try itPUThttps://api.live-llm.com/v1/tenants/{name}/workloads/{id}
Fill required path params: name, id.
Example response202
{
"tenant": "acme",
"status": "accepted"
}