Console

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.

The published, priced products of a region (the pricing preview)

GET
/regions/{region}/products

The published + still-present + priced products of the region, recommended first, plus every non-compute preview SKU the RATER prices -- each quoted at the price the rater resolves, the same number usage metering bills. A SKU whose product the operator withdrew is listed BARE (id = the SKU, name = the SKU, no description/category/series); a SKU the rater does not price is absent (the console shows it as free). priceHourlyMinor is in ten-thousandths of the currency unit (the rate-card precision), not hundredths. With scopeId (the caller's project): the caller must reach it (else 404); every caller is quoted in the currency the project's subscription is billed in, and a caller who may read the subscription's billing (subscription-level billing READ plus, for a token, billing:read) gets that subscription's own price (tenant rate-card override or contract line); anyone else gets the list price, never a 403. Without scopeId the quote is the list price. Validation: an unknown or disabled region answers an EMPTY products list (owner ruling 2026-09-21: a preview is not a gate), never an invented offer. kind is an exact match filter (unvalidated; an unknown kind yields an empty list). Async & state: Synchronous read; no state change. Errors: 401 unauthenticated; 404 scopeId unknown or unreached; 500. Idempotency/Concurrency: Safe. The quote is the price at request time.

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

region*string

The platform region code.

Query Parameters

kind?string

Restrict to one product kind (e.g. compute, volume, floating_ip, router, service).

scopeId?string

The caller's project scope. When given, prices are quoted in that subscription's billing currency and, for a caller allowed to read its billing, at its own negotiated price.

Response Body

The region's priced products.

application/json
  1. response
region*string

The requested region, echoed.

products*array<>
curl -X GET "https://example.com/regions/string/products"
{  "region": "string",  "products": [    {      "id": "string",      "kind": "string",      "sku": "string",      "unit": "string",      "name": "string",      "description": "string",      "categoryId": "string",      "seriesId": "string",      "isRecommended": true,      "region": "string",      "priceHourlyMinor": 0,      "currency": "string",      "vcpus": 0,      "ramMb": 0,      "diskGb": 0    }  ]}