Compute

Preview — pending review

This reference is generated from the platform API contract and is still under review. Operations, fields, and descriptions can change before publication.

Retrieve a VM snapshot with its detail panels

GET
/scopes/{scopeId}/compute/snapshots/{snapshotId}

Returns the full detail read-model of one VM snapshot, as rendered by the the VM snapshot detail page: identity and lifecycle status, the source instance (with deep-link id) and source volume, allocated (sizeGb) versus actually consumed (usedGb, incremental) capacity, encryption mode and flag, whether the capture was incremental, the OS image and flavor of the source at capture time, region, creation timestamp, description and the editable tag set. Requested data is returned without mutating the resource. Validation: scopeId must resolve to a scope the caller can read (403 FORBIDDEN otherwise); snapshotId must reference an existing, non-soft-deleted snapshot in that scope or the request fails with 404 NOT_FOUND. Async & state: Synchronous read; no state change. While the snapshot is CREATING, progress and the eventual AVAILABLE/ERROR outcome arrive as resource.updated SSE frames keyed by snapshot id with a patch on status/usedGb. Errors: 401 unauthenticated; 403 caller lacks reader access to the scope; 404 unknown or soft-deleted snapshot id; 500 on backend read failure. Idempotency/Concurrency: Safe, cacheable; no idempotency key required. The response carries an ETag usable as If-Match on subsequent mutations or deletion.

Authorization

bearerToken
headerAuthorizationBearer <token>

An API token (pc_live_…) or a service-account key (sak_live_…), created in Identity & Access Management and sent as Authorization: Bearer <token>. Requests are rate limited per credential and per tenant: every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a refused request gets 429 RATE_LIMITED with Retry-After.

Path Parameters

scopeId*string

Opaque ownership+authorization scope resolving to tenant + subscription + project.

snapshotId*string

Identifier of the VM snapshot.

Response Body

VM snapshot detail read-model including tags.

application/json
  1. response

Detail read-model panels of a VM snapshot.

origin?string

Where the resource was made -- portal for a create on the console, api for an object made straight against the OpenStack API (CLI, Terraform, the Kubernetes cloud provider) that discovery adopted. Informational; nothing behaves differently. Absent from a backend that predates it, which means portal.

Value in"portal""api""system""imported"
id*string

Snapshot identifier.

name*string
sourceInstance*string

Name of the source instance.

sourceInstanceId*string

Instance id behind sourceInstance, for deep-linking.

sourceVolume*string

Name of the captured source volume.

sizeGb*integer

Allocated (captured) size in GB.

usedGb*integer

Actually consumed storage in GB (lower than sizeGb for incremental snapshots; 0 while CREATING).

status*string

Snapshot lifecycle status.

Value in"AVAILABLE""CREATING""ERROR"
statusReason*|

Human-readable, customer-facing reason the last lifecycle command on this resource failed (e.g. "The request could not be completed after repeated attempts. Try again, or contact support if it persists."); never raw provider text. Null while healthy, once a later settle clears it, or when the failure carried no detail. Mirrors Instance.statusReason.

description*string

Free-text description (e.g. reason for the snapshot); may be empty.

createdAt*string

Capture start timestamp (ISO 8601).

region*string

Region identifier (e.g. ist-1).

encryption*string

Encryption mode of the snapshot data at rest.

Value in"Platform-managed key""Customer-managed key""None"
encrypted*boolean

Whether the snapshot data is encrypted.

incremental*boolean

Whether this capture stored only blocks changed since the previous snapshot.

osImage*string

OS image of the source at capture time (e.g. Ubuntu 24.04 LTS).

flavor*string

Flavor of the source instance at capture time.

tags*array<>

Key/value tags of the snapshot.

curl -X GET "https://example.com/scopes/string/compute/snapshots/string"
{  "origin": "portal",  "id": "string",  "name": "string",  "sourceInstance": "string",  "sourceInstanceId": "string",  "sourceVolume": "string",  "sizeGb": 0,  "usedGb": 0,  "status": "AVAILABLE",  "statusReason": "string",  "description": "string",  "createdAt": "string",  "region": "string",  "encryption": "Platform-managed key",  "encrypted": true,  "incremental": true,  "osImage": "string",  "flavor": "string",  "tags": [    {      "key": "string",      "value": "string"    }  ]}