---
title: "Delete a snapshot; its stored-bytes meter stops (live forks keep running) [rate class: sandbox_api_rps]"
method: DELETE
path: "/preview/sandboxes/snapshots/{id}"
tags: ["sandboxes"]
---

# Delete a snapshot; its stored-bytes meter stops (live forks keep running) \[rate class: sandbox_api_rps\]

`DELETE /preview/sandboxes/snapshots/{id}`

## Request

- Base URL: `https://autoresearch.sfcompute.com`
- URL: `https://autoresearch.sfcompute.com/preview/sandboxes/snapshots/{id}`
- Auth: HTTP bearer

Delete a snapshot and stop its stored-bytes meter. SCOPE: one image you baked, in your own workspace; live forks and everything outside the workspace are untouched. Snapshots bill for their deduplicated stored bytes for as long as they exist, so delete envs and checkpoints you are done forking - a finished batch usually ends with N delete_sandbox calls and one delete_sandbox_snapshot of the baked env. Deleting a snapshot never touches sandboxes already forked from it (they keep running and bill their own RAM-minutes until deleted); it only stops NEW forks, so take care of any fan-out you still want first. get_sandbox_stats lists your snapshots with their ids.

## Path parameters

- `id` string, required: The snapshot to delete: an env baked by create_sandbox_env, a state captured by snapshot_sandbox, or the `snapshot` a create_sandbox returned.

## Query parameters

- `workspace` string

## Response `200`

The capability's JSON result.

- Result: The capability's result: the same object the MCP tool returns as structuredContent. Resources carry an `object` type discriminator and an immutable id; money is integer micro-dollars in `*_usd_micros` fields.
  - `object` string: The resource type, when the result is one resource.

## Other responses

- `400`: Malformed request: bad JSON, a parameter that does not parse, or a value outside its range. Code `invalid`.
- `401`: No bearer token, or one this API cannot verify. Code `unauthenticated`.
- `403`: Authenticated, but the token's scopes or the account's role do not reach this operation. The message names the scope word to request. Code `forbidden`.
- `404`: No such route. Code `not_found`; the body names the OpenAPI document.
- `422`: A well-formed request the platform declined: no such node, a cap reached, a state that forbids the move. The message says which, and what to do instead. Code `refused`.
- `429`: Over this door's per-customer budget. Wait `Retry-After` seconds. Code `rate_limited`.
- `500`: Our fault. Retry; if it persists, quote the request-id. Code `internal`.

---

[API](https://skmtc.dev/givemeanode/apis/autoresearch-customer-api.md) · [All operations](https://skmtc.dev/givemeanode/apis/autoresearch-customer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/givemeanode/apis/autoresearch-customer-api/revisions/f88dcb70ac6c?raw)
