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 (Phase 2) policies in the active scope
Returns the paginated collection of IPsec (Phase 2) policies in the active scope. Like the IKE policy, an
IPsec policy is a FIRST-CLASS, REUSABLE resource mirroring neutron-VPNaaS ipsecpolicies one-for-one:
many site connections may share one policy and no connection ever gets a private clone. Each row carries
the transform protocol, encapsulation mode, auth and encryption algorithms, the PFS group, the lifetime as
neutron's units+value pair, this record's provisioning state and usedByCount.
Validation: scopeId must resolve to an accessible scope (unknown/forbidden -> 403 or 404);
paging/sort parameters must be well-formed (-> 422 VALIDATION_FAILED); caller needs the reader role.
Async & state: Synchronous read; no state change.
Errors: 401 unauthenticated; 403 without read permission; 422 on bad query parameters;
500 on backend read failure.
Idempotency/Concurrency: Safe, cacheable. Soft-deleted policies 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 <= 20050Paginated collection of IPsec policies 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/ipsec-policies"{ "data": [ { "origin": "portal", "id": "string", "name": "string", "description": "string", "transformProtocol": "esp", "authAlgorithm": "sha1", "encryptionAlgorithm": "3des", "encapsulationMode": "tunnel", "pfs": "group2", "lifetimeUnits": "seconds", "lifetimeValue": 60, "provisioningState": "PENDING_CREATE", "statusReason": "string", "statusReasonCode": "string", "providerId": "string", "usedByCount": 0 } ], "meta": { "page": 1, "pageSize": 1, "total": 0, "hasNext": true }}