Preview — pending review
This reference is generated from the platform API contract and is still under review. Operations, fields, and descriptions can change before publication.
List load balancers
Returns the load balancers (Octavia-style L4/L7 LBs) visible in the active tenant/subscription/project
scope, exactly as rendered by the Load balancers page. Each row carries the full read model: VIP and VIP subnet,
optional attached floating IP, flavor, provisioning state, operating health, plus the embedded listeners and
backend pools (with members and health monitors) used by the list cells and the detail drill-down.
This single endpoint also serves the search/filter/sort/paginate behavior (canonical action
network.load_balancer.search_filter_sort): q matches name or VIP, filter mirrors the UI status chips
(online → operating=ONLINE, degraded → operating=DEGRADED, provisioning → provisioning != ACTIVE),
sort accepts name or createdAt with order asc|desc, and page/pageSize paginate the result.
Validation: scopeId must resolve to a scope the caller can read, otherwise 403; unknown filter,
sort, or order values, or non-positive page/pageSize, map to 422 VALIDATION_FAILED.
Async & state: Synchronous read; no state change. Live provisioning/operating transitions arrive via
resource.updated SSE frames (kind "network.load_balancer") that the UI merges into this cached collection.
Errors: 401 when unauthenticated; 403 when the caller lacks reader access to the scope;
422 for malformed query parameters; 500 on backend failure.
Idempotency/Concurrency: Safe, cacheable; no idempotency key required.
bearerTokenAuthorizationBearer <token>An API token (pc_live_…) or a service-account key (sak_live_…), created in Identity & Access Management and sent as Authorization: Bearer <token>. Requests are rate limited per credential and per tenant: every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a refused request gets 429 RATE_LIMITED with Retry-After.
scopeId*stringOpaque ownership+authorization scope resolving to tenant + subscription + project.
region?stringRestrict the result set to a single region.
^[a-z][a-z0-9-]{1,39}$q?stringFree-text search.
sort?stringField to sort by (entity-specific; defaults to the entity's natural order).
order?stringSort direction.
"asc""asc""desc"page?integer1-based page number.
1 <= value1pageSize?integerItems per page (max 200).
1 <= value <= 20050filter?stringUI status chip filter — online (operating=ONLINE), degraded (operating=DEGRADED), provisioning (provisioning != ACTIVE).
"online""degraded""provisioning"Paginated collection of load balancers in the active scope.
application/json- response
data*array<>meta*Pagination envelope metadata. List responses are always { data, meta } — never a naked array.
curl -X GET "https://example.com/scopes/string/network/load-balancers"{ "data": [ { "origin": "portal", "id": "string", "name": "string", "description": "string", "vip": "string", "vipSubnet": "string", "floatingIp": "string", "provisioning": "ACTIVE", "operating": "ONLINE", "statusReasonCode": "string", "flavor": "string", "listeners": [ { "id": "string", "name": "string", "protocol": "HTTP", "port": 0, "defaultPool": "string", "connectionLimit": 0, "tlsCertificate": "string", "operating": "ONLINE" } ], "pools": [ { "id": "string", "name": "string", "protocol": "HTTP", "algorithm": "ROUND_ROBIN", "sessionPersistence": "string", "cookieName": "string", "operating": "ONLINE", "members": [ { "id": "string", "name": "string", "address": "string", "port": 0, "weight": 0, "operating": "ONLINE", "backupMember": true } ], "monitor": { "id": "string", "type": "HTTP", "delay": 0, "timeout": 0, "maxRetries": 0, "httpMethod": "string", "urlPath": "string", "expectedCodes": "string", "operating": "ONLINE" } } ], "createdAt": "2019-08-24T14:15:22Z" } ], "meta": { "page": 1, "pageSize": 1, "total": 0, "hasNext": true }}