Skip to content

Create a new Virtual Machine

POST
/vm
curl --request POST \
--url https://sylve.lan:8181/api/vm \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "acpi": true, "apic": true, "bootRom": "example", "cloudInit": true, "cloudInitData": "example", "cloudInitMetaData": "example", "cloudInitNetworkConfig": "example", "cpuCores": 1, "cpuPinning": [ { "cores": [ 1 ], "socket": 1 } ], "cpuSockets": 1, "cpuThreads": 1, "description": "example", "extraBhyveOptions": [ "example" ], "ignoreUMSR": true, "iso": "example", "macId": 1, "name": "example", "pciDevices": [ 1 ], "qemuGuestAgent": true, "ram": 1, "rid": 1, "serial": true, "startAtBoot": true, "startOrder": 1, "storageEmulationType": "virtio-blk", "storagePool": "example", "storageSize": 1, "storageType": "raw", "switchEmulationType": "example", "switchName": "example", "timeOffset": "utc", "tpmEmulation": true, "vncBind": "example", "vncEnabled": true, "vncPassword": "example", "vncPort": 1, "vncResolution": "example", "vncWait": true }'

Create a new virtual machine with the specified parameters

Create Virtual Machine Request

Media typeapplication/json
object
acpi
boolean
apic
boolean
bootRom
string
cloudInit
boolean
cloudInitData
string
cloudInitMetaData
string
cloudInitNetworkConfig
string
cpuCores
required
integer
cpuPinning
Array<object>
object
cores
required
Array<integer>
>= 1 items
socket
required
integer
cpuSockets
required
integer
cpuThreads
required
integer
description
string
extraBhyveOptions
Array<string>
ignoreUMSR
boolean
iso
string
macId
integer
name
required
string
pciDevices
Array<integer>
qemuGuestAgent
boolean
ram
required
integer
rid
required
integer
serial
boolean
startAtBoot
boolean
startOrder
integer
storageEmulationType
string
Allowed values: virtio-blk virtio-9p ahci-hd ahci-cd nvme
storagePool
string
storageSize
integer
storageType
string
Allowed values: raw zvol image filesystem none
switchEmulationType
string
switchName
string
timeOffset
required
string
Allowed values: utc localtime
tpmEmulation
boolean
vncBind
string
vncEnabled
boolean
vncPassword
string
vncPort
integer
vncResolution
string
vncWait
boolean

Created

Media typeapplication/json
object
data
object
name
string
rid
integer
error
string
message
string
status
string
Examplegenerated
{
"data": {
"name": "example",
"rid": 1
},
"error": "example",
"message": "example",
"status": "example"
}
Location
string

/api/vm/{rid}

Bad Request

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Unauthorized

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Forbidden

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Conflict

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Internal Server Error

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Service Unavailable

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}