---
title: "Create a checkpoint."
method: POST
path: "/v1/machines/{id}/checkpoints"
tags: ["checkpoints"]
---

# Create a checkpoint.

`POST /v1/machines/{id}/checkpoints`

## Request

- Base URL: `https://api.smolmachines.com`
- URL: `https://api.smolmachines.com/v1/machines/{id}/checkpoints`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/smolmachines/apis/smolfleet-api/docs/v1/machines/:id/checkpoints/post.ts> (a function with typed inputs; its response is checked against the schema)

Captures the machine's full state as a portable checkpoint. Requires the `machine:create` scope.

## Path parameters

- `id` string, required

## Query parameters

- `wait` boolean

## Response `201`

Portable checkpoint captured

- PortableCheckpointInfo: Portable live-state capture; only `available` denotes a completed upload.
  - `arch` string, required
  - `createdAt` string, required
  - `downloadUrl` string, required: Authenticated endpoint that downloads the `.smolcheckpoint` file.
  - `engineVersion` string, nullable: smolvm version of the node that captured it. A restore is only placed on a node at this version or newer. Absent for older checkpoints, which restore anywhere.
  - `id` string, required
  - `machineDeleted` boolean: The machine it was captured from has been deleted. The checkpoint stays until it is deleted itself, and can still be restored or downloaded.
  - `machineId` string, required
  - `sizeBytes` integer, required
  - `status` string, required: `creating`, `uploading`, `available`, `failed`, or `deleting`.

## Other responses

- `202`: Capture accepted, not yet durable
- `401`: Missing or invalid API key
- `403`: Key lacks the required scope
- `404`: Not found
- `409`: Machine is not ready for capture
- `429`: Rate limited; retry after the Retry-After header
- `500`: Internal error

## Changes

- **2026-10-16** `bc31fc04a568`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/smolmachines/apis/smolfleet-api/changes/v1/machines/:id/checkpoints/post.md)

---

[API](https://skmtc.dev/smolmachines/apis/smolfleet-api.md) - [All operations](https://skmtc.dev/smolmachines/apis/smolfleet-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smolmachines/apis/smolfleet-api/revisions/bc31fc04a568?raw)
