v4

latestOpenAPI 3.1.0Apache-2.0raw.githubusercontent.com2026-05-09283767.7 KB
firewall

Patch firewall policy

Updates mode and/or ingress on the firewall policy. Passing ingress: [] clears all rules; omitting ingress leaves rules unchanged.

patch/v1/vms/{id}/firewall

Request body

modestring

Firewall mode. Known values: open (allow all inbound traffic), restricted (deny by default; only rules listed in ingress are allowed). Additional values may be introduced in future server versions.

Response

Updated VM

idstring required
namestring required
orgIdstring required
machineNamestring
sourceNamestring

Source snapshot or image name (empty on fresh boot).

metadataMetadata

Free-form string→string map. Server-enforced limits: up to 256 keys, key length 1–256 bytes, value length ≤4096 bytes, total JSON encoding ≤65536 bytes.

envVarsEnvVars

Environment variable string→string map injected into the VM at boot. Keys must be 1–256 bytes and match shell-variable name ([A-Za-z_][A-Za-z0-9_]*); values may not contain newline, carriage return, or null bytes. Total JSON encoding ≤65536 bytes.

publicIpv6string
cpuinteger required
memoryMiBinteger required
diskGiBinteger required
statusstring required

Lifecycle status. Known values: provisioning, running, stopped, pausing, paused, resuming, deleting, error. Terminal failure statuses are error and stopped; transitional values (provisioning, pausing, resuming, deleting) indicate the VM is in flight. Additional values may be introduced in future server versions; clients should treat unknown values as "in transition" rather than as hard errors.

createdAtstring date-time required
deletedAtstring date-time nullable
expiresAtMsinteger

Absolute timestamp in ms when the TTL fires. Set only while the VM is running (the countdown freezes on pause).

ttlRemainingMsinteger

Remaining cycle budget in ms. Set only while the VM is paused; restored to expiresAtMs on resume.

pausedAtstring date-time nullable

When the VM became paused; null otherwise.