Create a new virtual machine with a chosen OS template, compute plan, and region. The VM is automatically assigned to a VPC for private networking.
How your VM is accessed depends on the OS:
ssh_keys, password, or both. At least one is required.password is required. SSH keys are not supported.Set extra_storage (GB) to attach an additional block volume. On Linux, choose the filesystem with extra_storage_type (defaults to ext4). Windows volumes are automatically formatted as NTFS.
backup_type to daily. Runs every day at backup_time (defaults to 8am).backup_type to weekly with a backup_date (e.g. Saturday). Runs at backup_time.Omit backup_type or set it to none to skip backups.
Each VM is attached to a VPC for private networking:
vpc_id to join an existing VPC.vpc_name and vpc_cidr to create a custom VPC.vpc-{vm-name} is created automatically.Before provisioning, the API validates:
API key for authentication. Each key is bound to a specific account.
Project ID. Required for all mutating operations (create, delete, power actions, resize).
VM display name
1 - 64"my-ubuntu-server"
OS template ID. Use GET /api/v1/public/templates to list available templates.
"5ac21891-32e6-41ce-8a93-b5d6ab708b0d"
Pricing plan ID that determines vCPU, RAM, storage, and bandwidth. Use GET /api/v1/public/pricing/vm to list available plans.
1 <= x <= 133
Data center region
us-east "us-east"
SSH public keys for VM access. Required for Linux VMs if no password is provided. Ignored for Windows VMs.
Root password for the VM. Required for Windows VMs. For Linux VMs, required if no SSH keys are provided. Both SSH keys and password can be set on Linux. Must be at least 12 characters with: 2+ uppercase letters, 2+ digits, 1+ special character (@+-.,!). Only alphanumeric characters and @+-.,! are allowed.
12Additional block storage volume in GB (0–10,000). Attached as a separate disk to the VM.
x >= 0100
Filesystem type for extra storage. Required for Linux VMs with extra storage (defaults to ext4 if omitted). For Windows VMs, storage is automatically formatted as NTFS — this field is ignored.
ext4, xfs, btrfs "ext4"
Set daily for daily backups or weekly for weekly backups. Use none or omit for no backups.
none, daily, weekly "weekly"
Time of day to run backups (e.g. 8am). Defaults to 8am if not specified.
"8am"
Day of the week for weekly backups (e.g. Saturday). Required when backup_type is weekly, ignored for daily backups. Valid values: Monday–Sunday.
"Saturday"
Custom tags for the VM
Attach VM to an existing VPC by its ID. If omitted along with vpc_name, a VPC is auto-created.
Create a new VPC with this name. Must be used together with vpc_cidr.
1 - 64"my-custom-vpc"
CIDR block for the new VPC (e.g. 10.0.1.0/24). Must be used together with vpc_name.
^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}$"10.0.1.0/24"