Virtual Machines
Create VM
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.
Authentication
How your VM is accessed depends on the OS:
- Linux — provide ssh_keys, password, or both. At least one is required.
- Windows — password is required. SSH keys are not supported.
Extra Storage
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.
Backups
- Daily — set backup_type to daily. Runs every day at backup_time (defaults to 8am).
- Weekly — set 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.
VPC Network
Each VM is attached to a VPC for private networking:
- Use existing — set vpc_id to join an existing VPC.
- Create new — set vpc_name and vpc_cidr to create a custom VPC.
- Auto-create (default) — leave all VPC fields empty. A VPC named vpc-{vm-name} is created automatically.
Billing Checks
Before provisioning, the API validates:
- Account billing status (not banned, no failed payments)
- Active payment method exists
post/api/v1/vms
Headers
X-Project-IDstring uuid required
Project ID. Required for all mutating operations (create, delete, power actions, resize).
Request body
Example request
{
"name": "my-ubuntu-server",
"template_id": "5ac21891-32e6-41ce-8a93-b5d6ab708b0d",
"pricing_id": 3,
"region": "us-east",
"extra_storage": 100,
"extra_storage_type": "ext4",
"backup_type": "weekly",
"backup_time": "8am",
"backup_date": "Saturday",
"vpc_name": "my-custom-vpc",
"vpc_cidr": "10.0.1.0/24"
}Response
VM created successfully
Example response
{
"data": {
"name": "my-ubuntu-server",
"cpu": 2,
"ram": 4,
"storage": 80,
"total_storage": 80,
"template_name": "Ubuntu",
"template_version": "24.10x64",
"price_per_hour": "0.027764",
"pricing_id": 3,
"billing_type": "payg",
"backup_type": "weekly",
"region": "us-east",
"public_ipv4_address": "15.204.178.3",
"private_ipv4_address": "10.10.0.96"
}
}