---
title: "Create a new Virtual Machine"
method: POST
path: "/vm"
tags: ["VM"]
---

# Create a new Virtual Machine

`POST /vm`

Create a new virtual machine with the specified parameters

## Request body

- GithubComAlchemillahqSylveInternalInterfacesServicesLibvirtCreateVMRequest
  - `acpi` boolean
  - `apic` boolean
  - `bootRom` string
  - `cloudInit` boolean
  - `cloudInitData` string
  - `cloudInitMetaData` string
  - `cloudInitNetworkConfig` string
  - `cpuCores` integer, required
  - `cpuPinning` GithubComAlchemillahqSylveInternalInterfacesServicesLibvirtCPUPinning[]
    - `cores` integer[], required
    - `socket` integer, required
  - `cpuSockets` integer, required
  - `cpuThreads` integer, required
  - `description` string
  - `extraBhyveOptions` string[]
  - `ignoreUMSR` boolean
  - `iso` string
  - `macId` integer
  - `name` string, required
  - `pciDevices` integer[]
  - `qemuGuestAgent` boolean
  - `ram` integer, required
  - `rid` integer, required
  - `serial` boolean
  - `startAtBoot` boolean
  - `startOrder` integer
  - `storageEmulationType` 'virtio-blk' | 'virtio-9p' | 'ahci-hd' | 'ahci-cd' | 'nvme'
  - `storagePool` string
  - `storageSize` integer
  - `storageType` 'raw' | 'zvol' | 'image' | 'filesystem' | 'none'
  - `switchEmulationType` string
  - `switchName` string
  - `timeOffset` 'utc' | 'localtime', required
  - `tpmEmulation` boolean
  - `vncBind` string
  - `vncEnabled` boolean
  - `vncPassword` string
  - `vncPort` integer, required
  - `vncResolution` string
  - `vncWait` boolean

## Response `200`

Success

- GithubComAlchemillahqSylveInternalAPIResponseAny
  - `data` unknown
  - `error` string
  - `message` string
  - `status` string

## Other responses

- `400` — Bad Request
- `500` — Internal Server Error

---

[API](https://skmtc.net/alchemillahq/apis/sylve-api.md) · [All operations](https://skmtc.net/alchemillahq/apis/sylve-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alchemillahq/sylve-api/versions/950e51f8af98/schema)
