VM API and SDK v3
SDK 3 uses VM, VMHandle, VMData, client.vms, client.vm(id) and
oblien/vm. This is a breaking release and requires the matching VM API and
gateway. Upgrade customers after that service release is deployed and verified.
SDK 2 is incompatible with the new service; there is no legacy compatibility
layer.
const vm = await client.vms.create({ image: 'node:22', wait_ready: false });
const { vms } = await client.vms.list();
await client.vm(vm.id).start();REST clients use /vms. Other resources use native fields such as vmId,
vm_id, source_vm_id and max_vms. Token scopes use vm; VM permissions use
vm.*. Provisioning streams send event: vm and native VM envelopes. Platform
machine codes use VM_*.
Old resource names, routes, response aliases, SDK exports and protocol aliases
are removed. There is one native transport and no version selector. Each
operation sends its native request once. CLI commands are oblien vm and
oblien vms; use --vm-id, stop-vms and MCP vm_* tools.
The prepared runtime gateway is vm.oblien.com. API, gateway, scoped credentials,
dashboard and stored VM identifiers require a coordinated release. Publishing
SDK 3 alone does not activate routes. Customers must wait for the matching
service release before upgrading.
Customer metadata, names, config, guest environment, labels and file/log contents
remain opaque. Guest /workspace remains a filesystem directory. Verify signed
webhooks against the original body bytes.
Customer upgrade checklist
- Install
oblien@3and update SDK calls, REST paths, CLI commands and MCP tools to the native VM contract. Change platform-owned fields only; customer data remains opaque. - Update token issuance to the
vmscope andvm.*permissions. Obtain fresh scoped and runtime credentials after cutover, and update event consumers to the native VM contract. Old signed tokens are not converted in place. - Coordinate the client switch with the matching API and gateway deployment. Stored VM IDs are preserved; existing VMs do not need to be recreated.
- Verify an existing VM, a new disposable VM, runtime exec/files and account and namespace isolation before resuming customer traffic.