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 VPN endpoint groups in the active scope
Returns the paginated collection of VPN endpoint groups in the active scope, mirroring the
neutron-VPNaaS endpoint_groups resource (extension alias vpn-endpoint-groups). An endpoint group names
one end of a tunnel: type subnet for the LOCAL side (a tenant subnet id) or type cidr for the PEER side
(a remote CIDR). Groups are reusable - one local group may be the local end of many site connections.
Each row carries the type, the single endpoint, this record's provisioning state and usedByCount.
Validation: scopeId must resolve to an accessible scope; paging/sort parameters must be well-formed
(-> 422); caller needs the reader role. An optional type filter narrows to local (subnet) or peer (cidr)
groups.
Async & state: Synchronous read; no state change.
Errors: 401; 403; 422; 500.
Idempotency/Concurrency: Safe, cacheable. Soft-deleted groups are excluded.
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 <= 20050type?stringFilter to local (subnet) or peer (cidr) endpoint groups.
"subnet""cidr"Paginated collection of VPN endpoint groups 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/vpn/endpoint-groups"{ "data": [ { "origin": "portal", "id": "string", "name": "string", "description": "string", "type": "subnet", "endpoints": [ "string" ], "endpointLabel": "string", "provisioningState": "PENDING_CREATE", "statusReason": "string", "statusReasonCode": "string", "providerId": "string", "usedByCount": 0 } ], "meta": { "page": 1, "pageSize": 1, "total": 0, "hasNext": true }}