Compute

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 the compute flavor (size) catalog in the active scope

GET
/scopes/{scopeId}/compute/flavors

Returns the paginated, published flavor catalog offered by the region: the size picker both the create-VM wizard and the resize dialog read. Unlike instances/images/key pairs, the flavor catalog is GLOBAL (not owned by a tenant), so the rows returned do not vary by tenant — only by which products the operator has PUBLISHED (an unpublished/unpriced discovered flavor is excluded from both the page and the total count). Each flavor's priceMonthly/priceHourly are sourced from the SAME published catalog product the create-VM wizard and billing rate card use, so this list never disagrees with the wizard for the same flavor. scopeId still gates the call (READ on the compute resource key) so the gateway authorizes it exactly like the other compute reads. Validation: scopeId must resolve to an accessible scope else 403 FORBIDDEN; order must be asc or desc; page >= 1 and pageSize within bounds — violations map to 422 VALIDATION_FAILED. Async & state: Synchronous read; no state change. The catalog changes only when the collector re-syncs Nova flavors or the operator publishes/unpublishes a product. Errors: 401 unauthenticated; 403 caller lacks a read-capable role (owner|admin| contributor|reader) on the scope; 404 unknown scopeId; 422 malformed query parameters; 500 read-model failure. Idempotency/Concurrency: Safe, cacheable; no idempotency key required.

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

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

Response Body

Paginated flavor catalog.

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/compute/flavors"
{  "data": [    {      "id": "string",      "name": "string",      "family": "string",      "restricted": true,      "entitled": true,      "vcpus": 0,      "ramMb": 0,      "diskGb": 0,      "priceMonthly": {        "amount": 0,        "currency": "USD"      },      "priceHourly": {        "amount": 0,        "currency": "USD"      },      "gpu": {        "count": 1,        "model": "string"      }    }  ],  "meta": {    "page": 1,    "pageSize": 1,    "total": 0,    "hasNext": true  }}