---
title: "Create a snapshot"
method: POST
path: "/sandboxes/{id}/snapshots"
tags: ["Snapshots"]
---

# Create a snapshot

`POST /sandboxes/{id}/snapshots`

Triggers a snapshot of the sandbox's current state. Sandbox must be `ready`.
Snapshot transitions through `creating` → `ready` (or `failed`); poll
`GET /sandboxes/{id}/snapshots` to see the new status.

## Path parameters

- `id` string, required

## Request body

- CreateSnapshotInput
  - `name` string, required — Lowercase letters, digits, hyphens; 1–40 chars.

## Response `202`

Snapshot creation started

- SnapshotEnvelope
  - `message` string, required
  - `data` Snapshot, required
    - `id` string, required
    - `sandbox_id` string, required
    - `name` string, required
    - `image_tag` string, required
    - `source_template` string, required
    - `status` 'creating' | 'ready' | 'failed', required
    - `failure_reason` string, nullable
    - `size_bytes` integer, nullable
    - `created_at` string, date-time, required

## Other responses

- `400` — Validation error / invalid state transition
- `404` — Sandbox or related resource not found (also returned when owned by another user)

---

[API](https://skmtc.net/brimblehq/apis/brimble-sandbox-api.md) · [All operations](https://skmtc.net/brimblehq/apis/brimble-sandbox-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/brimblehq/brimble-sandbox-api/versions/7fe2df041597/schema)
