Snapshot data model

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNoUnique identifier for the snapshot
created_atstring (date-time)NoWhen the snapshot was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)NoWhen the snapshot was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
namestringNoDisplay name of the snapshot
instance_idstringNoThe instance the snapshot was taken from
volume_idstringNoThe volume the snapshot was taken from
typeenumNoWhether memory state is included Values: MEMORY, DISK, OTHER
statusenumNoNormalized snapshot status Values: CREATING, READY, FAILED, DELETING, OTHER
size_mbnumberNoSnapshot size in MiB
expires_atstring (date-time)NoWhen the snapshot will be deleted (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
metadataComputeMetadata[]NoVendor labels, tags and metadata
metadata[].idstringNo
metadata[].slugstringNoThe label, tag or metadata key
metadata[].valueobjectNoThe label, tag or metadata value
metadata[].namespacestringNoThe origin of the value (eg. labels, tags, metadata)
metadata[].formatenumNoThe data type of the value Values: TEXT, NUMBER, DATE, BOOLEAN, ARRAY, OBJECT
metadata[].extra_dataobjectNo

TypeScript

TypeScript
export type ComputeSnapshot = {
	id?: string; // Unique identifier for the snapshot
	created_at?: string-time; // When the snapshot was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // When the snapshot was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	name?: string; // Display name of the snapshot
	instance_id?: string; // The instance the snapshot was taken from
	volume_id?: string; // The volume the snapshot was taken from
	type?: 'MEMORY' | 'DISK' | 'OTHER'; // Whether memory state is included
	status?: 'CREATING' | 'READY' | 'FAILED' | 'DELETING' | 'OTHER'; // Normalized snapshot status
	size_mb?: number; // Snapshot size in MiB
	expires_at?: string-time; // When the snapshot will be deleted (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	metadata?: []; // Vendor labels, tags and metadata
	raw?: any; // Raw data from integration
} 

Zod

Zod
import { z } from 'zod';

export const ZodComputeSnapshot = z.object({
	id: z.string().optional().describe("Unique identifier for the snapshot"),
	created_at: z.string-time().optional().describe("When the snapshot was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("When the snapshot was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	name: z.string().optional().describe("Display name of the snapshot"),
	instance_id: z.string().optional().describe("The instance the snapshot was taken from"),
	volume_id: z.string().optional().describe("The volume the snapshot was taken from"),
	type: z.enum("MEMORY", "DISK", "OTHER").optional().describe("Whether memory state is included"),
	status: z.enum("CREATING", "READY", "FAILED", "DELETING", "OTHER").optional().describe("Normalized snapshot status"),
	size_mb: z.number().optional().describe("Snapshot size in MiB"),
	expires_at: z.string-time().optional().describe("When the snapshot will be deleted (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	metadata: z.array().optional().describe("Vendor labels, tags and metadata"),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class ComputeSnapshotType(str, Enum):
	MEMORY = 'MEMORY'
	DISK = 'DISK'
	OTHER = 'OTHER'

@dataclasses.dataclass
class ComputeSnapshotStatus(str, Enum):
	CREATING = 'CREATING'
	READY = 'READY'
	FAILED = 'FAILED'
	DELETING = 'DELETING'
	OTHER = 'OTHER'

@dataclasses.dataclass
class ComputeSnapshot:
	"""Unique identifier for the snapshot"""
	id: Optional[str]
	"""When the snapshot was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""When the snapshot was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""Display name of the snapshot"""
	name: Optional[str]
	"""The instance the snapshot was taken from"""
	instance_id: Optional[str]
	"""The volume the snapshot was taken from"""
	volume_id: Optional[str]
	"""Whether memory state is included"""
	type: Optional[ComputeSnapshotType]
	"""Normalized snapshot status"""
	status: Optional[ComputeSnapshotStatus]
	"""Snapshot size in MiB"""
	size_mb: Optional[int]
	"""When the snapshot will be deleted (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	expires_at: Optional[str]
	"""Vendor labels, tags and metadata"""
	metadata: Optional[PropertyComputeSnapshotMetadata]
Are we missing anything? Let us know
Was this page helpful?