Skip to content

List load balancers in a project.

GET
/v1/projects/{projectId}/lb/load-balancers
Code sample: Shell / cURL
curl --request GET \
--url 'https://stratum.example.com/v1/projects/example/lb/load-balancers?limit=100' \
--header 'Authorization: Bearer <token>'

Cursor-paginated. Ordered name, id.

Ordering on name alone is not total, so id is the tiebreaker. Without a unique tiebreaker a cursor sitting on a tie repeats or skips a row.

When nextPageToken is present there are more rows; pass it back as page_token. A token that cannot be parsed is treated as no token, so a client gets the first page rather than a 400.

This endpoint returned every matching row with no limit of any kind until .

projectId
required
string
/^p-[a-z0-9-]+$/
limit
integer
default: 100 >= 1 <= 500
page_token
string

Opaque cursor from a previous response’s nextPageToken. Omit for the first page.

Load balancers.

Media typeapplication/json
object
items
required
Array<object>
object
ownedBy

Set when a platform resource manages this row; absent on a tenant’s own.

object
kind
required
string
Allowed values: auto-scaling-group platform
id
required

The owner: the Auto Scaling group id, or for platform the component (front-door, pack:platform-health, default-network, operator-recipe).

string
id
required
string
/^lb-[a-z0-9]+$/
projectId
required
string
name
required
string
displayName
string
description
string
type
required
string
Allowed values: application
scheme
required
string
Allowed values: internet-facing internal
region
string
vpcId
required
string
subnetIds
Array<string>
securityGroupIds
Array<string>
floatingIpId
string
nullable
internalIp
string
nullable
dnsName
required

Synthesized stable name for this LB. NOT resolvable until a Stratum DNS service publishes it — check dnsPublished before using it.

string
dnsPublished

Whether dnsName is actually published to a resolver. Always false today (Stratum has no DNS service yet) — reach the LB via floatingIpId (internet-facing) or internalIp (internal). Flips per-LB once an LB-to-DNS publisher exists.

boolean
dataplaneIsolation
string
Allowed values: shared dedicated
generation
integer format: int64
tags
object
key
additional properties
any
state
required
string
stateReason

Why the load balancer is not active: the last placement failure, verbatim, or what it is waiting for once placed, such as its node’s report that the data-plane container runs and its floating IP is routed. Absent once active.

string
createdAt
string format: date-time
updatedAt
string format: date-time
createdBy
string
nextPageToken
string

Example

{
"items": [
{
"ownedBy": {
"kind": "auto-scaling-group"
},
"type": "application",
"scheme": "internet-facing",
"dataplaneIsolation": "shared"
}
]
}