Skip to main content
POST
/
vm
Provision a new VM
curl --request POST \
  --url https://api.cloud.onidel.com/vm \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "vm-hostname",
  "payment_cycle": "hourly",
  "instance_type": "ea645d53-c0e5-406d-8863-9ecd4235be94",
  "location": "Sydney",
  "cpu": 2,
  "ram": 4096,
  "disk": 40,
  "os": 2,
  "team_id": "6484a164-d355-4947-ac2c-e8c09fb24fb0",
  "ssh_keys": [
    "a3f2e5d8-1234-4abc-9876-543210fedcba"
  ],
  "vpcs": [
    "f5a3e2d8-9876-4abc-1234-543210fedcba"
  ],
  "firewall_group_id": "e4d3c2b1-5678-9abc-def0-fedcba098765",
  "ipv6": false,
  "disable_ssh_blocking": false
}
'

Authorizations

Authorization
string
header
required

Provide the value as: Token <your-api-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>
Example:

2

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:
["a3f2e5d8-1234-4abc-9876-543210fedcba"]
vpcs
string<uuid>[]

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

Example:
["f5a3e2d8-9876-4abc-1234-543210fedcba"]
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

Response

Successful operation