Skip to main content
POST
/
vms
Create VM
curl --request POST \
  --url https://api.nova-cloud.ai/vms \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "node": "<string>",
  "gpu_type": "<string>",
  "gpu_count": 123,
  "storage_gb": 51,
  "template_vmid": 123,
  "rental_type": "on_demand",
  "reservation_months": 1,
  "auth_method": "ssh_key",
  "ssh_key_id": "<string>",
  "password": "<string>"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "vmid": 123,
  "user_id": 123,
  "node": "<string>",
  "instance_label": "<string>",
  "gpu_type": "<string>",
  "gpu_count": 123,
  "storage_gb": 123,
  "ram_gb": 123,
  "cpu_cores": 123,
  "ip_address": "<string>",
  "status": "creating",
  "created_at": "2023-11-07T05:31:56Z",
  "started_at": "2023-11-07T05:31:56Z",
  "stopped_at": "2023-11-07T05:31:56Z",
  "rental_type": "on_demand",
  "reservation_id": "<string>",
  "auto_restart": true,
  "hourly_rate": 123,
  "gpu_hourly_rate": 123,
  "storage_hourly_rate": 123,
  "cpu_percent": 123,
  "ram_percent": 123,
  "cpu_model": "<string>",
  "pcie_gen": "<string>"
}

Authorizations

Authorization
string
header
required

Use a JWT access token or API key (prefixed with nv_)

Body

application/json
node
string
required

Node ID (e.g., vm01, vm02)

gpu_type
string
required

GPU type (5090, 4090, 6000pro)

gpu_count
integer
required

Number of GPUs (1, 2, 4, or 8)

storage_gb
integer
required

Disk size in GB (minimum 50)

Required range: x >= 50
template_vmid
integer
required

Template VM ID to clone

rental_type
enum<string>
default:on_demand

Rental type

Available options:
on_demand,
reserved,
interruptible
reservation_months
enum<integer>

Reservation duration (required if rental_type=reserved)

Available options:
1,
3,
6
auth_method
enum<string>
default:ssh_key
Available options:
ssh_key,
password
ssh_key_id
string

SSH key ID (defaults to oldest key)

password
string

VM password (required if auth_method=password)

Minimum string length: 12

Response

VM creation started

id
string<uuid>
vmid
integer
user_id
integer
node
string
instance_label
string | null
gpu_type
string
gpu_count
integer
storage_gb
integer
ram_gb
integer
cpu_cores
integer
ip_address
string | null
status
enum<string>
Available options:
creating,
starting,
running,
stopping,
stopped,
interrupted,
destroyed,
failed,
offline
created_at
string<date-time>
started_at
string<date-time> | null
stopped_at
string<date-time> | null
rental_type
enum<string>
Available options:
on_demand,
reserved,
interruptible
reservation_id
string | null
auto_restart
boolean | null
hourly_rate
number | null
gpu_hourly_rate
number | null
storage_hourly_rate
number | null
cpu_percent
number
ram_percent
number
cpu_model
string | null
pcie_gen
string | null