Skip to main content
A machine is unless you ask for another size of your plan. Name both the vCPUs and the memory in MiB.
Over the API these are vcpus, memMiB and templateVersion on POST /v1/machines.

Choose a size

instabox workspace ls --json (GET /v1/orgs) lists each workspace’s sizes as allowedSpecs. The server refuses any other size with 400 spec_not_allowed.

Resize a machine

A machine on a paid plan can move to another size of its plan. A free machine’s size is fixed.
The new size applies at the next start. Over the API, send PATCH /v1/machines/{id} with {"vcpus": N, "memMiB": M} on a stopped machine.
The start fails with no_capacity if the host has no room for the new size, or host_unavailable if its node agent cannot resize yet. The machine stays stopped at the new size.

Reference

Create parameters

Every field POST /v1/machines takes, with its name in the SDKs and the CLI. All are optional, so {} is a valid body. A key that is not in this table is refused with 400 unknown_field. So is region, because placement is the platform’s.
The TypeScript SDK’s diskGiB and the Python SDK’s persistent_disk_gib are the REST field persistentDiskGiB. diskGiB in a REST body is 400 unknown_field. The TypeScript SDK takes times in milliseconds (archiveMs, autoSuspendMs). The last column lists only the clients that set the field, and - means none does.
There is no lifetime timeout (retired 2026-10-20). timeoutSeconds, onTimeout, or timeout is 400 unknown_field. The message points to deleteAfterSeconds, maxRunMinutes, and autoSuspendAfterSeconds. See Storage and retention and Auto-pause and max-run.

Auto-pause and max-run

When a machine pauses by itself, and what wakes it.

Environment variables

Variables every shell in the machine gets.