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.
Preview the live resources a project's cascade delete would destroy
Returns a preview of everything that currently lives inside a project, grouped into four fixed
categories (compute, storage, network, other), so a confirmation UI can show exactly what a
cascade delete of the project would destroy before the caller consents. Each category is always
present in the response, in that fixed order, even when its count is 0 — the confirmation dialog
renders one checkbox per category and depends on a stable category set to know how many consents exist.
Each category carries up to 100 named items (kind, id, name); itemsTruncated is true when
count exceeds the number of items returned, so a project holding thousands of volumes never
produces an unbounded payload. name is always populated — for the floatingIp kind it carries the IP
address, since floating IPs have no name column.
Validation: scopeId must reference an accessible scope and projectId must reference a
project visible in that scope; an unknown or out-of-scope project maps to NOT_FOUND
(404). No body or mutation parameters exist.
Async & state: Synchronous read; no state change — nothing is deleted, locked, or reserved by
calling this endpoint.
Errors: 401 when unauthenticated; 403 from any of three checks — the caller's role does not grant
IAM read on the scope, a bearer API token is missing the iam:read action scope (token principals
only, so even an owner's token gets 403 without it), or the caller is not an owner of the resource
group (this preview carries the same authorization as the cascade delete it gates, so a contributor or
reader who does hold IAM read still gets 403); 404 when the project does not exist or is not
visible in this scope; 500 on read-model failure.
Idempotency/Concurrency: Safe, cacheable; no idempotency key required.
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.
projectId*stringIdentifier of the project whose live resources are being previewed.
Live-resource inventory of the project, grouped into fixed categories for cascade-delete confirmation.
application/json- response
Preview of everything a project's cascade delete would destroy, grouped into fixed categories, as rendered by the cascade-delete confirmation dialog.
totalCount*integerTotal number of live resources across all categories in the project.
categories*array<>Always contains exactly one entry per LiveResourceCategory value, in that fixed order (compute, storage, network, other).
4 <= items <= 4curl -X GET "https://example.com/scopes/string/iam/projects/string/live-resources"{ "totalCount": 0, "categories": [ { "category": "compute", "count": 0, "items": [ { "kind": "instance", "id": "string", "name": "string" } ], "itemsTruncated": true }, { "category": "compute", "count": 0, "items": [ { "kind": "instance", "id": "string", "name": "string" } ], "itemsTruncated": true }, { "category": "compute", "count": 0, "items": [ { "kind": "instance", "id": "string", "name": "string" } ], "itemsTruncated": true }, { "category": "compute", "count": 0, "items": [ { "kind": "instance", "id": "string", "name": "string" } ], "itemsTruncated": true } ]}