Skip to content

Load balancers ​

A network load balancer is an IP address that the platform distributes across a set of member instances. Workspace members interact with load balancers through the workspace-scoped paths described below. Creating and deleting a load balancer require staff access and use flat /v1/net-lbs paths. Each member instance must configure the load balancer address inside the guest, for example on its loopback interface, to answer traffic. All path parameters are required and use string IDs. Request bodies are required where shown. See Workspaces and scope and Pagination for the conventions these endpoints follow.

List load balancers ​

GET/v1/workspaces/{wid}/net-lbsList load balancers in a workspace

Returns the load balancers owned by a workspace, with pagination.

Path parameters

NameTypeDescription
widstringWorkspace ID

All query parameters are optional.

Query parameters

NameTypeDescription
qstringQuick search by name or ID
idstring[]Filter to specific load balancer IDs
namestringFilter by name
addressstringFilter by IP address
ownerstring[]Filter by workspace ID
instancesstring[]Filter to balancers that have any of these instance IDs as members

Plus the shared pagination parameters. Returns a paged list of load balancer objects, each containing id, name, address, and nullable owner (workspace summary).

bash
curl https://api.galaxygate.net/v1/workspaces/42/net-lbs \
  -H "Authorization: Bearer $GALAXYGATE_TOKEN" \
  -A 'curl/8.5'

Fetch a load balancer ​

GET/v1/workspaces/{wid}/net-lbs/{bid}Fetch load balancer detail

Path parameters

NameTypeDescription
widstringWorkspace ID
bidstringLoad balancer ID

Returns the load balancer detail: id, name, address, and nullable owner (workspace summary).

Update a load balancer ​

PATCH/v1/workspaces/{wid}/net-lbs/{bid}Update load balancer settings

Updates load balancer settings. All body fields are optional. Omit a field to leave it unchanged.

Path parameters

NameTypeDescription
widstringWorkspace ID
bidstringLoad balancer ID

Request body

FieldTypeDescription
namestringRename the load balancer, 4 to 32 characters
addressstringStaff only. Change the IPv4 address or whole CIDR block. Ignored for workspace members.
ownerstringStaff only. Reassign by workspace ID. Ignored for workspace members.

Returns nothing on success (200 OK).

List member instances ​

GET/v1/workspaces/{wid}/net-lbs/{bid}/instancesList member instances

Returns the instances currently attached to the load balancer, with pagination.

Path parameters

NameTypeDescription
widstringWorkspace ID
bidstringLoad balancer ID

Query parameters

All query parameters are optional.

NameTypeDescription
qstringQuick search
ipstringIP address filter
idstring[]Instance IDs
namestringInstance name filter
nodestring[]Node IDs
skustring[]Product identifiers
isostring[]ISO IDs
bootstringDISK or ISO
onlinebooleanOnline or offline instances
statestring[]PENDING, AVAILABLE, FAILED, SUSPENDED, DELETING, or UNPLACED
terminatingbooleanInstances scheduled for termination
backup_planstring[]Backup plan IDs
regionstringNA_01
vpcstring[]VPC IDs
osstringWINDOWS, LINUX, or BSD
ownerstring[]Workspace IDs

Plus the shared pagination parameters.

Returns a paged list of instance summaries, each containing id and name.

Add a member instance ​

PUT/v1/workspaces/{wid}/net-lbs/{bid}/instances/{iid}Attach an instance to a load balancer

Attaches an instance to the load balancer. The caller needs write permission on both resources. The instance must have an IPv4 address and must not already be attached. Responds 202 Accepted because the attachment is asynchronous.

Path parameters

NameTypeDescription
widstringWorkspace ID
bidstringLoad balancer ID
iidstringInstance ID to attach

No request body. Returns 202 Accepted with a WorkflowData object. See Asynchronous operations.

Remove a member instance ​

DELETE/v1/workspaces/{wid}/net-lbs/{bid}/instances/{iid}Detach an instance from a load balancer

Detaches an instance from the load balancer. Responds 202 Accepted because the detachment is asynchronous.

Path parameters

NameTypeDescription
widstringWorkspace ID
bidstringLoad balancer ID
iidstringInstance ID to detach

No request body. Returns 202 Accepted with a WorkflowData object. See Asynchronous operations.


Flat endpoints ​

These endpoints use paths without a workspace prefix. Creating and deleting require staff access. Fetch, update, and membership operations check permissions on the target resources.

Create a load balancer ​

POST/v1/net-lbsCreate a load balancer

Requires staff access. Creates a load balancer with an optional owning workspace. The address must be an IPv4 address or a whole CIDR block, for example 203.0.113.0/28.

Request body

FieldTypeRequiredDescription
namestringyesDisplay name, 4 to 32 characters
addressstringyesIPv4 address or whole CIDR block to assign
ownerstring or nullnoOwning workspace ID. Omit or send null to leave unowned.
bash
curl -X POST https://api.galaxygate.net/v1/net-lbs \
  -H "Authorization: Bearer $GALAXYGATE_TOKEN" \
  -H "Content-Type: application/json" \
  -A 'curl/8.5' \
  -d '{
    "name": "lb-203-0-113-10",
    "address": "203.0.113.10",
    "owner": "42"
  }'

Returns 200 OK with id, name, address, and nullable owner.

Delete a load balancer ​

DELETE/v1/net-lbs/{bid}Delete a load balancer

Requires staff access. Deletes a load balancer and queues network updates for its members. This is asynchronous and responds 202 Accepted.

Path parameters

NameTypeDescription
bidstringLoad balancer ID

Returns 202 Accepted with no body.

List load balancers across workspaces ​

GET/v1/net-lbsSearch load balancers across workspaces

No path parameters or request body. All query parameters are optional.

Query parameters

NameTypeDescription
qstringQuick search by name or ID
idstring[]Load balancer IDs
namestringName filter
addressstringIP address filter
ownerstring[]Workspace IDs
instancesstring[]Member instance IDs

Plus the shared pagination parameters.

Returns 200 OK with a paged list of load balancer objects with id, name, address, and nullable owner.

Fetch by ID ​

GET/v1/net-lbs/{bid}Fetch by ID

Path parameters

NameTypeDescription
bidstringLoad balancer ID

Returns 200 OK with id, name, address, and nullable owner.

Update by ID ​

PATCH/v1/net-lbs/{bid}Update by ID

Path parameters

NameTypeDescription
bidstringLoad balancer ID

Request body

All fields are optional. The body is required.

FieldTypeDescription
namestringDisplay name, 4 to 32 characters
addressstringStaff only. IPv4 address or whole CIDR block
ownerstringStaff only. New owning workspace ID

Staff fields are ignored for workspace members.

Returns 200 OK with no body.

List members by ID ​

GET/v1/net-lbs/{bid}/instancesList members by ID

Path parameters

NameTypeDescription
bidstringLoad balancer ID

Accepts the optional query parameters in List member instances, including shared pagination parameters.

Returns 200 OK with a paged list of instance summaries containing id and name.

Attach a member by ID ​

PUT/v1/net-lbs/{bid}/instances/{iid}Attach a member by ID

Path parameters

NameTypeDescription
bidstringLoad balancer ID
iidstringInstance ID

No request body. Requires write permission on both resources. The instance must have an IPv4 address and must not already be attached.

Returns 202 Accepted with a WorkflowData object for the queued network update.

Detach a member by ID ​

DELETE/v1/net-lbs/{bid}/instances/{iid}Detach a member by ID

Path parameters

NameTypeDescription
bidstringLoad balancer ID
iidstringInstance ID

No request body. Requires write permission on both resources.

Returns 202 Accepted with a WorkflowData object for the queued network update.