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
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.
bearerTokenAuthorizationBearer <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.
scopeId*stringOpaque ownership+authorization scope resolving to tenant + subscription + project.
snapshotId*stringIdentifier of the VM snapshot.
VM snapshot detail read-model including tags.
application/json- response
Detail read-model panels of a VM snapshot.
origin?stringWhere 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.
"portal""api""system""imported"id*stringSnapshot identifier.
name*stringsourceInstance*stringName of the source instance.
sourceInstanceId*stringInstance id behind sourceInstance, for deep-linking.
sourceVolume*stringName of the captured source volume.
sizeGb*integerAllocated (captured) size in GB.
usedGb*integerActually consumed storage in GB (lower than sizeGb for incremental snapshots; 0 while CREATING).
status*stringSnapshot lifecycle status.
"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*stringFree-text description (e.g. reason for the snapshot); may be empty.
createdAt*stringCapture start timestamp (ISO 8601).
region*stringRegion identifier (e.g. ist-1).
encryption*stringEncryption mode of the snapshot data at rest.
"Platform-managed key""Customer-managed key""None"encrypted*booleanWhether the snapshot data is encrypted.
incremental*booleanWhether this capture stored only blocks changed since the previous snapshot.
osImage*stringOS image of the source at capture time (e.g. Ubuntu 24.04 LTS).
flavor*stringFlavor 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" } ]}