image_list
List your images. Each row carrieslatestVersionError — the newest failed build’s error (version, message excerpt keeping the end of the log where nix puts the fatal error, at timestamp), or null when there is none. Build errors are visible to the image owner and image admins only; other viewers always get null.
Parameters: None
image_get
image_create
Create an image from a stopped VM.image_create_version
Add a new version to an existing image.image_build
Build a NixOS image server-side from a nix flake reference, exactly likenixos-rebuild switch --flake. Supported refs: github:owner/repo#attr (optional /ref path segment or ?ref= branch, ?rev= 40-hex commit pin, ?dir= subdirectory; the required #attr names the nixosConfigurations attribute) — a ?rev= pin must name its branch alongside it (?rev=<sha>&ref=<branch>; ?rev= alone is rejected). Private repos resolve when GitHub is connected to the account (dashboard Account page) and the installation includes the repo. Local folder flakes are CLI-only (machine0 images new --flake ./dir#attr uploads the folder). GitHub builds track their branch: with the machine0 GitHub App installed on the repo, every push to the tracked branch automatically builds a new version and promotes it on success (stop with machine0 images update <image> --no-track). The build is asynchronous: a temporary builder VM (m0-build-*, billed like a normal machine) applies the flake, is snapshotted, and destroyed. The builder is pipeline-owned — vm_stop/vm_start/vm_reboot/vm_suspend, rename, and snapshotting it are rejected; vm_destroy works and cancels the build. A new image name publishes v1 on success; an existing name creates a draft version to promote. Track progress via image_version_get (buildStage, lastErrorMessage, flakeRef).
image_update
image_destroy
Destroying the auto-saved snapshot of a suspended machine (named
suspended-<machine>-<date>-<time>) also destroys that machine — the snapshot is its only copy of its disk.