---
title: "Get a snapshot operation"
method: GET
path: "/v1/snapshot-operations/{operation_id}"
tags: ["snapshots"]
---

# Get a snapshot operation

`GET /v1/snapshot-operations/{operation_id}`

Poll an asynchronous snapshot operation.

## Path parameters

- `operation_id` string, uuid, required

## Response `200`

Snapshot operation

- CloudSnapshotOperation — Wire shape of the asynchronous snapshot operation returned by snapshot capture endpoints.
  - `completed_at` string, date-time, nullable — Timestamp of the terminal status, when the operation has finished.
  - `created_at` string, date-time, required — Creation timestamp.
  - `error` CloudErrorDetails — Nested cloud API error details.
    - `code` string, nullable — Machine-readable error code.
    - `message` string, nullable — Human-readable error message.
  - `id` string, required — Server-side operation identifier.
  - `kind` 'disk', required — Kind of cloud snapshot artifact or capture operation.
  - `result` CloudSnapshot — A disk-only snapshot.
    - `created_at` string, date-time, required — Creation timestamp.
    - `digest` string, required — Snapshot identity: the `sha256:` digest of the canonical descriptor.
    - `labels` object, required — User-defined labels stored on the snapshot.
    - `location` union, required — Public locator for a managed or host-volume cloud snapshot.
      - object — Held in managed snapshot storage.
        - `id` string, required — Identifier of the stored artifact.
        - `type` 'managed', required
      - object — Stored in a directory on a mounted host volume.
        - `path` string, required — Artifact directory path on the host volume.
        - `type` 'host_volume', required
    - `manifest` SnapshotManifest, required — Final schema-1 snapshot descriptor. Field order is identity-bearing. Do not reorder these fields. Generated bindings and API schemas expose this type as `SnapshotManifest`.
      - `artifact` string, required — Artifact kind. Exactly [`SNAPSHOT_ARTIFACT_KIND`].
      - `created_at` string, required — Normalized RFC 3339 creation timestamp.
      - `extensions` object, required — Namespaced additive extension values.
      - `image` ImageRef, required — Reference to the pinned OCI image used by the snapshot.
        - `manifest_digest` string, required — Pinned OCI manifest digest.
        - `ref` string, required — Human-readable image reference.
      - `labels` object, required — User-supplied labels, sorted by key in canonical form.
      - `parent` string, nullable — Exact snapshot identity of the logical lineage parent.
      - `requires` string[], required — Sorted unique must-understand extension keys.
      - `schema` integer, required — Schema version. Exactly [`SCHEMA_VERSION`].
      - `scope` 'disk' | 'resumable', required — Snapshot payload scope.
      - `source_sandbox` string, nullable — Informational source-sandbox name.
      - `state` union, required — Closed snapshot state family.
        - object — Concrete file-backed disk state.
          - `format` 'raw' | 'qcow2', required — On-disk format of a file-state upper layer.
          - `fstype` string, required — Filesystem type inside the payload.
          - `upper` UpperLayer, required — Captured file-state upper-layer metadata.
            - `file` string, required — One normal filename relative to the artifact directory.
            - `integrity` union — Content integrity descriptor for a file-state upper layer.
              - …
            - `size_bytes` integer, required — Apparent file size, including sparse holes.
          - `kind` 'file', required
        - object — Manifest-backed disk or resumable state.
          - `checkpoint_id` string, required — Stable identifier for the captured cut.
          - `manifest` string, required — SHA-256 identity of the disk or composite checkpoint manifest.
          - `kind` 'checkpoint', required
    - `name` string, required — Snapshot name.
    - `sandbox_id` string, nullable — Identifier of the sandbox the snapshot was captured from, when known.
    - `size_bytes` integer, required — Stored payload size in bytes.
    - `kind` 'disk', required
  - `status` 'queued' | 'in_progress' | 'succeeded' | 'failed', required — Status of an asynchronous cloud snapshot operation.
  - `updated_at` string, date-time, required — Timestamp of the most recent status change.

## Other responses

- `401` — Unauthorized
- `404` — Snapshot operation not found

## Changes

- **2026-09-07** `b61270559d5e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/microsandbox/apis/microsandbox-api/changes/v1/snapshot-operations/:operation_id/get.md)

---

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