Networking

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.

Get load balancer detail

GET
/scopes/{scopeId}/network/load-balancers/{loadBalancerId}

Retrieves the full detail read model for one load balancer, powering the load balancer detail page and all of its panels: header (id, VIP, optional floating IP, flavor, provisioning/operating badges, created time), listeners table (protocol, port, default pool, TLS certificate, connection limit, status), backend pools with embedded members and health monitors, targets roll-up and health counters, and related-resource links (VNet of the VIP subnet, floating IP, security group). Validation: scopeId must be readable by the caller (403) and loadBalancerId must identify a non-deleted load balancer inside that scope (404 NOT_FOUND otherwise). Async & state: Synchronous read; no state change. Subsequent provisioning/operating transitions are delivered as resource.updated SSE frames (kind "network.load_balancer") patching this entity. Errors: 401 unauthenticated; 403 caller lacks reader access to the scope; 404 unknown or soft-deleted load balancer id; 500 on backend failure. Idempotency/Concurrency: Safe, cacheable; no idempotency key required. The response carries an ETag the UI replays via If-Match on subsequent PATCH/DELETE calls.

Authorization

bearerToken
headerAuthorizationBearer <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.

Path Parameters

scopeId*string

Opaque ownership+authorization scope resolving to tenant + subscription + project.

loadBalancerId*string

Response Body

Load balancer detail read model.

application/json
  1. response

Load balancer read model with embedded listeners and pools, as rendered by the Load balancers page and the load balancer detail page.

origin?string

Where the resource was made -- portal for a create on the console, api for an object made straight against the OpenStack API (CLI, Terraform, the Kubernetes cloud provider) that discovery adopted. Informational; nothing behaves differently. Absent from a backend that predates it, which means portal.

Value in"portal""api""system""imported"
id*string
name*string
description*string
vip*string

Virtual IP address.

vipSubnet*string

Identifier (UUID) of the subnet hosting the VIP — the same value that was supplied on create and that the platform passes to the provider as the VIP subnet id, not a display name.

floatingIp*|

Attached public floating IP, or null.

provisioning*LbProvisioning

Provisioning lifecycle state of a load balancer.

Value in"ACTIVE""PENDING_CREATE""PENDING_UPDATE""PENDING_DELETE""ERROR"
operating*LbOperating

Operating (health) state of a load balancer or one of its sub-resources.

Value in"ONLINE""DEGRADED""OFFLINE""ERROR""NO_MONITOR"
statusReasonCode*|

Machine-readable companion to statusReason: a small, OPEN vocabulary of codes the console can branch on without parsing the human text, deliberately a plain string rather than a closed enum so a code the client does not recognize yet degrades to the generic failure message. Today the only value is cancelled: the resource is in its failure state because its create operation was CANCELLED; a provider object the create had already built may be left in place, and the resource's DELETE removes it. Reported only while the resource is in that failure state; null otherwise.

flavor*string

The PRODUCT size the load balancer was created with (lb.small, lb.standard, lb.large). An LB adopted from Octavia reads the size its Octavia flavor maps to, the default size when it runs on the provider default, else the Octavia flavor's own label.

listeners*array<>
pools*array<>
createdAt*string
Formatdate-time
curl -X GET "https://example.com/scopes/string/network/load-balancers/string"
{  "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"}