---
title: "POST /v1/machines"
method: POST
path: "/v1/machines"
tags: ["machines"]
---

# POST /v1/machines

`POST /v1/machines`

## Request body

- CreateMachineRequest
  - `autoStopSeconds` integer, nullable
  - `env` object
  - `ephemeral` boolean
  - `mounts` MachineMountSpec[]
    - `mountPath` string, required — Mount path inside the VM.
    - `readonly` boolean — Mount as read-only.
    - `volume` string, required — Volume name to mount.
  - `name` string, nullable
  - `network` union
    - object
      - `mode` 'blocked', required
    - object
      - `mode` 'open', required
    - object
      - `cidrs` string[], required
      - `mode` 'allowCidrs', required
  - `resources` MachineResources
    - `cpus` integer
    - `diskGb` integer, nullable
    - `memoryMb` integer
  - `source` union, required
    - object
      - `reference` string, required
      - `type` 'image', required
    - object
      - `reference` string, required
      - `type` 'smolmachine', required
  - `ttlSeconds` integer, nullable
  - `workdir` string, nullable

## Response `201`

Machine created

- MachineInfo
  - `autoStopSeconds` integer, nullable
  - `createdAt` string, required
  - `env` object, required
  - `ephemeral` boolean, required
  - `id` string, required
  - `lastActivityAt` string, nullable
  - `name` string, nullable
  - `network` union, required
    - object
      - `mode` 'blocked', required
    - object
      - `mode` 'open', required
    - object
      - `cidrs` string[], required
      - `mode` 'allowCidrs', required
  - `resources` MachineResources, required
    - `cpus` integer
    - `diskGb` integer, nullable
    - `memoryMb` integer
  - `source` union, required
    - object
      - `reference` string, required
      - `type` 'image', required
    - object
      - `reference` string, required
      - `type` 'smolmachine', required
  - `state` string, required
  - `ttlSeconds` integer, nullable
  - `updatedAt` string, required
  - `workdir` string, nullable

## Other responses

- `409` — Name already exists
- `422` — Quota exceeded

---

[API](https://skmtc.net/smolmachines/apis/smolfleet-api.md) · [All operations](https://skmtc.net/smolmachines/apis/smolfleet-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smolmachines/smolfleet-api/revisions/853ec529472a/schema)
