Modify firmware settings for virtual machines (VMs).

Enable or disable security features like Secure Boot and TPM for your virtual machines. This is useful when you need to adjust the security level or compatibility of your VM.

VPS Services VM

Context

Where to get IDs / values

Path Parameters

vmid integer · min: 1 required Example: 10000

Unique vmid identifier

Headers

Accept Example
Content-Type Example

Body

required
application/json
mode string · enum required · Example: incus
incus
legacy
storage string required · Example: block-storage-vm

Responses

200
data object required
data.firmware object required
data.firmware.bios string · enum required · Example: ovmf
ovmf
seabios
data.firmware.efi object required
data.firmware.efi.preEnrolledKeys string · nullable required · Example: 0

Nullable: may be null when not applicable.

data.firmware.efi.raw string · nullable required · Example: block-storage-vm:vm-11148-disk-2,efitype=4m,pre-enrolled-keys=0,size=1M

Nullable: may be null when not applicable.

data.firmware.efi.size string · nullable required · Example: 1M

Nullable: may be null when not applicable.

data.firmware.efi.type string · nullable required · Example: 4m

Nullable: may be null when not applicable.

data.firmware.efi.volume string · nullable · enum required · Example: block-storage-vm:vm-11148-disk-2

Nullable: may be null when not applicable.

block-storage-vm:vm-11148-disk-1
block-storage-vm:vm-11148-disk-2
data.firmware.machine string · enum required · Example: q35
pc-i440fx-9.2+pve1
pc-q35-9.2+pve1
q35
data.firmware.node string required · Example: pve-3
data.firmware.secureBootReady boolean required · Example: true
data.firmware.status string required · Example: stopped
data.firmware.tpm object required
data.firmware.tpm.raw string · nullable required · Example: block-storage-vm:vm-11148-disk-1,size=4M,version=v2.0

Nullable: may be null when not applicable.

data.firmware.tpm.size string · nullable required · Example: 4M

Nullable: may be null when not applicable.

data.firmware.tpm.version string · nullable required · Example: v2.0

Nullable: may be null when not applicable.

data.firmware.tpm.volume string · nullable · enum required · Example: block-storage-vm:vm-11148-disk-1

Nullable: may be null when not applicable.

block-storage-vm:vm-11148-disk-1
block-storage-vm:vm-11148-disk-2
data.firmware.tpmReady boolean required · Example: true
data.firmware.vmid string required · Example: 10000
data.message string required · Example: UEFI with Secure Boot and TPM 2.0 enabled

Human-readable message.

data.mode string · enum required · Example: incus
incus
legacy
requestId string required · Example: 2121ae20-bd9d-41e9-aeeb-5dd1dd1a24ba

Unique request identifier (UUID).

success boolean required · Example: true

True for successful responses.

timestamp string required · Example: 2026-02-10T00:00:00.000Z

ISO 8601 timestamp (UTC).

500

No response body

PUT https://cloud.hostup.se/api/vm/{vmid}/firmware
For AI assistants
cURL
curl -X PUT "https://cloud.hostup.se/api/vm/10000/firmware" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "incus",
    "storage": "block-storage-vm"
  }'
Response
{
  "success": true,
  "timestamp": "2026-02-10T00:00:00.000Z",
  "requestId": "2121ae20-bd9d-41e9-aeeb-5dd1dd1a24ba",
  "data": {
    "mode": "incus",
    "message": "UEFI with Secure Boot and TPM 2.0 enabled",
    "firmware": {
      "vmid": "10000",
      "node": "pve-3",
      "status": "stopped",
      "bios": "ovmf",
      "machine": "q35",
      "efi": {
        "raw": "block-storage-vm:vm-11148-disk-2,efitype=4m,pre-enrolled-keys=0,size=1M",
        "volume": "block-storage-vm:vm-11148-disk-2",
        "type": "4m",
        "size": "1M",
        "preEnrolledKeys": "0"
      },
      "tpm": {
        "raw": "block-storage-vm:vm-11148-disk-1,size=4M,version=v2.0",
        "volume": "block-storage-vm:vm-11148-disk-1",
        "size": "4M",
        "version": "v2.0"
      },
      "secureBootReady": true,
      "tpmReady": true
    }
  }
}
Request Body Example 1
{
  "mode": "incus",
  "storage": "block-storage-vm"
}