Create a workload of a given type
Add a single resource. Each type has its **own body** — a VM body (`vm.*` fields) differs from a container-app body (`pod.*`) differs from a browser body — so the `{type}` path selects the shape. The body is `id` plus the fields for that type (see the per-type create schemas). Poll `/status` until it reaches its running phase.
Authorization
Path parameters
Body — CreateVM
Body for type vm-ubuntu / vm-ubuntu-desktop / vm-windows.
Body — CreatePod
Body for type pod (container app). Set `image` or `source.repo`.
Body — CreateBrowser
Body for type browser (headless Chromium).
Body — CreateController
Body for type controller (browser automation API).
Body — CreateStorage
Body for type storage (managed database). `backup` is postgres-only. `credentials.password` is REQUIRED — you set it once and the platform never shows it again (stored write-only in a Secret, never on the workspace spec and never in a response). Username defaults to `app`.
Response
202 — Accepted — the workload is being reconciled. Credentials are never echoed back: a storage password (like a VM password) is set once on create, stored write-only in a Secret, and never shown again.
curl -X POST https://api.live-llm.com/v1/tenants/acme/workloads/pod \
-H "x-api-key: $LIVELLM_KEY" \
-H "Content-Type: application/json" \
-d '{
"id": "web",
"image": "nginx:1.27",
"cpu": "500m",
"memory": "512Mi",
"ports": [
{
"name": "http",
"port": 80
}
]
}'{
"tenant": "acme",
"status": "accepted"
}