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.

List floating IPs in the active scope

GET
/scopes/{scopeId}/network/floating-ips

Returns the floating (public) IP addresses allocated in the active tenant/subscription/project scope, as rendered by the Floating IPs page on route load. This single endpoint also serves the search/filter/sort/paginate behavior (canonical action network.floating_ip.search_filter_sort): the free-text q parameter matches the address, pool, and associated instance/port names; the status filter maps to the UI chips All / Associated (ACTIVE) / Unassociated (DOWN); sort+order cover the sortable columns (ip, status, pool, instance, createdAt); page+pageSize paginate. Each row exposes the stable identifiers (id, ip, port, router) the view needs for follow-up actions. No resource state is mutated by this call. Validation: scopeId must reference a scope the caller can read, otherwise 403 FORBIDDEN; unknown scope → 404 NOT_FOUND; malformed pagination/sort/filter values (negative page, unknown sort key, status outside ACTIVE|DOWN) → 422 VALIDATION_FAILED. Async & state: Synchronous read; no state change. Transitional allocation states created by network.floating_ip.create are visible here as soon as the allocation is accepted. Errors: 401 when unauthenticated; 403 when the caller lacks reader access to the scope; 404 when the scope does not exist or is soft-deleted; 422 on invalid query parameters; 429 on rate limit; 500 on backend failure. Idempotency/Concurrency: Safe, cacheable; no idempotency key required. Responses may carry an ETag for conditional GET but no If-Match handling applies.

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.

Query Parameters

region?string

Restrict the result set to a single region.

Match^[a-z][a-z0-9-]{1,39}$
q?string

Free-text search.

sort?string

Field to sort by (entity-specific; defaults to the entity's natural order).

order?string

Sort direction.

Default"asc"
Value in"asc""desc"
page?integer

1-based page number.

Range1 <= value
Default1
pageSize?integer

Items per page (max 200).

Range1 <= value <= 200
Default50
status?string

Filter by association status (UI chips Associated → ACTIVE, Unassociated → DOWN).

Value in"ACTIVE""DOWN"
pool?string

Filter by the external network pool the address was allocated from.

Response Body

Paginated collection of floating IPs visible in the scope.

application/json
  1. 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/floating-ips"
{  "data": [    {      "origin": "portal",      "id": "string",      "ip": "string",      "status": "ACTIVE",      "fixedIp": "string",      "pool": "string",      "instance": "string",      "port": "string",      "router": "string",      "createdAt": "2019-08-24T14:15:22Z"    }  ],  "meta": {    "page": 1,    "pageSize": 1,    "total": 0,    "hasNext": true  }}