Skip to content

Images

An image is a stored disk artifact you can provision from or restore onto an instance. Images are unified under a single resource with a kind field that distinguishes their role: TEMPLATE for distribution images and custom golden images, BACKUP for point-in-time copies of an instance disk, and ISO for bootable optical-disc images. Platform-provided images (those with no owner) are visible to every workspace. Creating, restoring, and deleting images are asynchronous.

List images visible to a workspace

GET/v1/workspaces/{wid}/imagesList images visible to a workspace

Returns images owned by the workspace plus all platform-provided images (where owner is null), merged and filtered by the search parameters.

Path parameters

NameTypeDescription
widintegerWorkspace ID

Query parameters

NameTypeDescription
qstringQuick search by name or ID
idinteger[]Filter to specific image IDs
namestringFilter by name
groupstringFilter by catalog group
descriptionstringFilter by description
osstringFilter by OS family (LINUX, WINDOWS, BSD)
kindstring[]Filter by kind (TEMPLATE, BACKUP, ISO)
source_instanceinteger[]Filter by source instance ID
source_diskinteger[]Filter by source disk ID
officialbooleantrue to return only platform-provided images; false for workspace-owned only
deprecatedbooleanFilter by deprecated status
statestring[]Filter by resource state (AVAILABLE, PENDING, ...)

Plus the shared pagination parameters. Returns a paged list of images.

bash
curl https://api.galaxygate.net/v1/workspaces/42/images?kind=TEMPLATE \
  -H "Authorization: Bearer $GALAXYGATE_TOKEN" \
  -A 'curl/8.5'

Search all images

GET/v1/imagesSearch all images

Administrator-only catalog view. Accepts the same query parameters as the workspace-scoped endpoint above and includes additional filters (owner, official, deprecated) applied without workspace-scoping. Returns a paged list of images.

Create an image

POST/v1/workspaces/{wid}/imagesCreate an image

Creates a new image in a workspace. The source object controls where the bytes come from.

Path parameters

NameTypeDescription
widintegerWorkspace ID

Request body

FieldTypeRequiredDescription
kindstringyesTEMPLATE, BACKUP, or ISO
namestringyesImage name (4-64 characters)
sourceobjectyesWhere the bytes come from; see source fields below
descriptionstringImage description (4-1000 characters)
groupstringCatalog group, for example linux or windows (4-32 characters)
osobjectOS metadata; see OS fields below
uefibooleanWhether the image targets UEFI boot

source fields

FieldTypeRequiredDescription
typestringyesURL, BACKUP, INSTANCE, or UPLOAD
urlstringSource URL (for URL type)
backup_idintegerBackup image ID to promote (for BACKUP type)
instance_idintegerSource instance ID (for INSTANCE type)
disk_idintegerSource disk ID (for INSTANCE type)
size_bytesintegerExact byte count the client will upload (for UPLOAD type)

os fields

FieldTypeRequiredDescription
familystringyesLINUX, WINDOWS, or BSD
namestringOS display name, for example Ubuntu 24.04
bash
curl -X POST https://api.galaxygate.net/v1/workspaces/42/images \
  -H "Authorization: Bearer $GALAXYGATE_TOKEN" \
  -H "Content-Type: application/json" \
  -A 'curl/8.5' \
  -d '{
    "kind": "TEMPLATE",
    "name": "my-golden-image",
    "source": { "type": "INSTANCE", "instance_id": 101, "disk_id": 202 },
    "os": { "family": "LINUX", "name": "Ubuntu 24.04" },
    "uefi": true
  }'

Returns 202 Accepted with an ImageCreateResponse. For all source types except UPLOAD, the response is a WorkflowWithResource containing a workflow and the new image resource. For ISO images created with source type UPLOAD, the response also includes an upload object:

FieldTypeDescription
urlstringAbsolute URL to PUT the file to (single-use, signed)
expires_atstringISO 8601 timestamp when the URL expires
max_size_bytesintegerExact byte count to upload

Poll GET /v1/images/{id} until state is AVAILABLE.

Fetch an image

GET/v1/images/{id}Fetch image by ID

Path parameters

NameTypeDescription
idintegerImage ID

Returns the full image detail, including kind, source, os, size, uefi, official, deprecated, owner, and state.

Update an image

PATCH/v1/images/{id}Update image settings

Updates image metadata. Send only the fields you want to change. Responds 204 No Content on success.

Path parameters

NameTypeDescription
idintegerImage ID

Request body

FieldTypeDescription
namestringRename the image (4-32 characters)
descriptionstringUpdate the description (4-1000 characters)
groupstringUpdate the catalog group (4-32 characters)
osobjectUpdate OS metadata; accepts family and name as nullable fields

Returns 204 No Content.

Restore an image onto an instance disk

POST/v1/images/{id}/restoreRestore an image onto an instance disk

Overwrites an instance disk with this image. The instance is powered off during the restore unless restart is false.

Path parameters

NameTypeDescription
idintegerImage ID

Request body

FieldTypeRequiredDescription
instance_idintegeryesInstance to restore onto
disk_idintegerDisk to restore onto; defaults to the instance's boot disk
restartbooleanWhether to restart the instance after restore (default false)

Returns a workflow (202 Accepted).

Delete an image

DELETE/v1/images/{id}Delete an image

Permanently deletes the image and frees its storage.

Path parameters

NameTypeDescription
idintegerImage ID

Returns a workflow (202 Accepted).