Instances
An instance is a virtual server. These endpoints create, list, inspect, update, power, and delete them. Creating, powering, and deleting are asynchronous: they return a workflow you poll until the instance settles.
Search instances
/v1/workspaces/{wid}/instancesSearch instancesLists the instances in a workspace, newest first, with pagination.
Path parameters
| Name | Type | Description |
|---|---|---|
wid | integer | Workspace ID |
Query parameters
| Name | Type | Description |
|---|---|---|
q | string | Quick search by name, IP address, or ID |
ip | string | Filter by a public or private IP address |
id | integer[] | Filter to specific instance IDs |
name | string | Filter by name |
node | integer[] | Filter by node ID |
plan | integer[] | Filter by plan ID |
iso | integer[] | Filter by attached ISO ID |
online | boolean | Only online, or only offline, instances |
state | string | Filter by resource state (AVAILABLE, PENDING, ...) |
Plus the shared pagination parameters. Returns a paged list of instances.
Create an instance
/v1/workspaces/{wid}/instancesProvision a new instanceProvisions a new instance. The body is one of two shapes, chosen by the type discriminator: PLAN provisions from a preset plan, CUSTOM sizes every part yourself. Requires the Administrator role on the workspace. See the Create a server guide for a full walkthrough.
Path parameters
| Name | Type | Description |
|---|---|---|
wid | integer | Workspace ID |
Common body fields (both shapes)
| Field | Type | Required | Description |
|---|---|---|---|
type | string | yes | PLAN or CUSTOM |
name | string | yes | Instance name |
region | string | yes | Region to deploy in, for example NA_01 (or PRIVATE_CLOUD). Send node instead to target a specific node. |
image | integer | Image to provision from: a template or backup is restored onto the boot disk, an ISO is attached | |
ips | object[] | Floating IPs to allocate, each { "family": "IPv4" | "IPv6", "ddos": false }. A plan grants one IPv4 and one IPv6 when omitted. | |
vpcs | integer[] | VPC IDs to attach at creation, each getting its own NIC | |
boot | string | Boot mode, DISK or ISO | |
cloud_init | string | cloud-init user-data run on first boot (see Run code with cloud-init) | |
disable_cloud_init | boolean | Turn off vendor cloud-init features | |
start | boolean | Start the instance once it is built |
PLAN body adds
| Field | Type | Required | Description |
|---|---|---|---|
plan | integer | yes | Plan ID; fixes the specs and the flat price |
CUSTOM body adds
| Field | Type | Required | Description |
|---|---|---|---|
group | string | yes | Service group, for example LIGHTNING, RYZEN, DEDICATED |
cpu | integer | yes | Number of vCPU cores |
memory_bytes | integer | yes | Memory in bytes |
storage | object[] | yes | Disks, each { "size_bytes": n, "boot": true, "backing": "LOCAL" }. Exactly one must have boot: true. |
bandwidth | object | Caps, { "upload_bytes_sec": n, "download_bytes_sec": n } |
curl -X POST https://api.galaxygate.net/v1/workspaces/42/instances \
-H "Authorization: Bearer $GALAXYGATE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "PLAN",
"name": "web-01",
"region": "NA_01",
"plan": 12,
"image": 45,
"ips": [ { "family": "IPv4", "ddos": false }, { "family": "IPv6", "ddos": false } ],
"start": true
}'Returns a workflow with the new instance attached. Poll GET /v1/instances/{id} until its state is AVAILABLE and online is true.
Fetch an instance
/v1/instances/{id}Fetch instance detailPath parameters
| Name | Type | Description |
|---|---|---|
id | integer | Instance ID |
Returns the full instance detail, including specs, networking, state, and online.
Update an instance
/v1/instances/{id}Update instance settingsUpdates instance settings. Every field is optional; send only what you are changing.
Path parameters
| Name | Type | Description |
|---|---|---|
id | integer | Instance ID |
Request body
| Field | Type | Description |
|---|---|---|
name | string | Rename the instance |
boot | string | Boot target, DISK or ISO |
uefi | boolean | Boot with UEFI firmware |
secure_boot | boolean | Enable Secure Boot |
attach_virtio_cd | boolean | Attach the VirtIO drivers CD |
sync_hostname | boolean | Keep the guest hostname in sync with the name |
firewall_enabled | boolean | Turn the firewall on or off |
os_name | string | OS display name, for example Ubuntu 24.04 |
Returns the updated instance.
Power an instance
/v1/instances/{id}/powerIssue a power actionIssues a power action. Responds 202 Accepted with a workflow.
Path parameters
| Name | Type | Description |
|---|---|---|
id | integer | Instance ID |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
action | string | yes | One of POWER_ON, POWER_OFF, SHUTDOWN, POWER_CYCLE. POWER_CYCLE is the hard reboot the panel labels Reboot. |
curl -X POST https://api.galaxygate.net/v1/instances/101/power \
-H "Authorization: Bearer $GALAXYGATE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "action": "POWER_CYCLE" }'To power several instances in one call, see batch power. Returns a workflow.
Delete an instance
/v1/instances/{id}Terminate an instanceTerminates the instance and frees its resources. This is destructive and asynchronous.
Path parameters
| Name | Type | Description |
|---|---|---|
id | integer | Instance ID |
Returns a workflow. If the instance is scheduled for deletion rather than removed at once, you can stop that with cancel termination. Returns a workflow.
Fetch instance metrics
/v1/metricsFetch instance metricsReturns time-series metrics (CPU, memory, disk, network) for one instance over a window. Values are raw; the panel normalizes them for display.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
instance | integer | yes | Instance ID |
start | integer | yes | Window start, Unix seconds |
end | integer | yes | Window end, Unix seconds |
step | integer | yes | Resolution in seconds (minimum 15) |
Returns the metric series for the window.