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 IPsec site connections in the active scope

GET
/scopes/{scopeId}/network/vpn/site-connections

Returns the paginated collection of IPsec site connections in the active scope, mirroring neutron-VPNaaS ipsec_site_connections. Each row references - never copies - the VPN service it terminates on, the IKE and IPsec policies it negotiates with and the local and peer endpoint groups that define the two ends, plus the peer gateway address, initiator mode, DPD settings, MTU, administrative state, neutron's own status and the last provider failure reason. The pre-shared key is NEVER present in any read. Validation: scopeId must resolve to an accessible scope; paging/sort parameters must be well-formed (-> 422); status, vpnServiceId and ikePolicyId filters narrow the table server-side; caller needs the reader role. Async & state: Synchronous read; status reflects the latest provider reconciliation and is null until neutron has reported one. resource.updated SSE frames (kind: network.vpn_site_connection) keep open list views current. Errors: 401; 403; 422; 500. Idempotency/Concurrency: Safe, cacheable. Soft-deleted connections are excluded.

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 the provider-reported connection status.

Value in"ACTIVE""DOWN""PENDING_CREATE""PENDING_UPDATE""PENDING_DELETE""INACTIVE""ERROR"
vpnServiceId?string

Filter to connections terminating on the given VPN service.

Response Body

Paginated collection of IPsec site connections in the active 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/vpn/site-connections"
{  "data": [    {      "origin": "portal",      "id": "string",      "name": "string",      "description": "string",      "vpnServiceId": "string",      "ikePolicyId": "string",      "ipsecPolicyId": "string",      "localEndpointGroupId": "string",      "peerEndpointGroupId": "string",      "localId": "string",      "peerAddress": "string",      "peerId": "string",      "initiator": "bi-directional",      "dpdAction": "hold",      "dpdInterval": 1,      "dpdTimeout": 2,      "mtu": 68,      "adminStateUp": true,      "status": "ACTIVE",      "statusReason": "string",      "statusReasonCode": "string",      "provisioningState": "PENDING_CREATE",      "providerId": "string"    }  ],  "meta": {    "page": 1,    "pageSize": 1,    "total": 0,    "hasNext": true  }}