Skip to main content
POST
Provision a new VM

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
name
string<string>
Example:

"vm-hostname"

payment_cycle
enum<string>
Available options:
hourly,
monthly,
quarterly,
semiannually,
annually,
biennially,
triennially
instance_type
string<uuid>
Example:

"ea645d53-c0e5-406d-8863-9ecd4235be94"

location
string<string>
Example:

"Sydney"

cpu
integer<int64>
Example:

2

ram
integer<int64>
Example:

4096

disk
integer<int64>
Example:

40

os
integer<int64>

OS template ID to deploy. Provide one of os, snapshot_id or iso_id.

Example:

2

snapshot_id
string<uuid>

Snapshot ID to deploy from. Provide one of os, snapshot_id or iso_id.

Example:

"53959c6e-73d5-4476-9b19-d78fb8efac2c"

iso_id
string<uuid>

Custom or system ISO ID to boot from (BYOI, no base image). Provide one of os, snapshot_id or iso_id.

Example:

"7c1f2a90-4b3d-4e21-9a8c-1d2e3f4a5b6c"

boot_mode
enum<string>

Optional firmware override applied before first boot, for OS templates, snapshots and ISOs. Omit to retain the existing provisioning default. The selected OS or disk must support the requested boot mode. Invalid values return INVALID_BOOT_MODE (400).

Available options:
bios,
uefi
Example:

"uefi"

team_id
string<uuid>
Example:

"6484a164-d355-4947-ac2c-e8c09fb24fb0"

ssh_keys
string<uuid>[]

List of SSH key IDs to be added to the VM for authentication

Example:
vpcs
string<uuid>[]

List of VPC IDs to attach the VM to for private networking

Example:
firewall_group_id
string<uuid>

Firewall group ID to apply to the VM for security rules

Example:

"e4d3c2b1-5678-9abc-def0-fedcba098765"

ipv6
boolean

Enable IPv6 for the VM (if available in the location)

Example:

false

disable_ssh_blocking
boolean

Disable outgoing SSH blocking on the VM (allows outbound SSH connections on port 22)

Example:

false

startup_script_id
string<uuid>

Startup script ID to execute on first boot. Applies to OS, snapshot and custom ISO deploys (not app templates). For ISO deploys the guest must run cloud-init for the script to take effect. If the script has raw_user_data enabled, its content replaces the auto-generated cloud-init user-data.

Example:

"b7e3f1a2-5678-4def-abcd-123456789abc"

Response

Successful operation