---
title: "Updates the Machine Configuration of the VM."
method: PUT
path: "/machine-config"
---

# Updates the Machine Configuration of the VM.

`PUT /machine-config`

Updates the Virtual Machine Configuration with the specified input. Firecracker starts with default values for vCPU count (=1) and memory size (=128 MiB). With Hyperthreading enabled, the vCPU count is restricted to be 1 or an even number, otherwise there are no restrictions regarding the vCPU count. If any of the parameters has an incorrect value, the whole update fails.

## Request body

- MachineConfiguration — Describes the number of vCPUs, memory size, Hyperthreading capabilities and the CPU template.
  - `vcpu_count` integer — Number of vCPUs (either 1 or an even number)
  - `mem_size_mib` integer — Memory size of VM
  - `ht_enabled` boolean — Flag for enabling/disabling Hyperthreading
  - `cpu_template` 'C3' | 'T2' — The CPU Template defines a set of flags to be disabled from the microvm so that the features exposed to the guest are the same as in the selected instance type.

## Response `204`

Machine Configuration created/updated

## Other responses

- `400` — Machine Configuration cannot be updated due to bad input
- `default` — Internal server error

---

[API](https://skmtc.dev/solo-io/apis/firecracker-api.md) · [All operations](https://skmtc.dev/solo-io/apis/firecracker-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/solo-io/firecracker-api/revisions/6e4082be4a32/schema)
