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 family classes a commitment can cover in this scope
Returns the compute family CLASSES (General-purpose / Compute-optimized / …) a commitment can
cover in the active scope, as { data: [CommitmentEligibleService] } — the options of
the Savings-Plan classScope and the Reserved-Instance family selector in
the commitment creation form. Coverage is compute-only. A class is listed only when it is BOTH (a)
eligible under the admin discount matrix for at least one commitment type and (b) backed by a
compute SKU of that class with a positive effective HOUR rate in the subscription's default
region (ist-1 when the subscription has none), so the picker never offers a class a
purchase would then reject. Keyed on the billing grain (scope_id == subscription_id).
The list is not paginated and carries no meta.
Validation: scopeId must resolve to a scope the caller can reach (unknown → 404
NOT_FOUND); no other inputs.
RBAC: READ on billing plus the billing:read token scope, held at SUBSCRIPTION level —
a grant on the path project alone is refused 403 (details.reason
SUBSCRIPTION_ROLE_REQUIRED).
Async & state: Synchronous read; no state change.
Errors: 401 unauthenticated; 403 caller lacks subscription-level billing READ or the
token scope; 404 unknown scopeId; 500 internal 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.
The eligible compute family classes (possibly empty).
application/json- response
data*array<>curl -X GET "https://example.com/scopes/string/billing/commitments/eligible-services"{ "data": [ { "id": "string", "name": "string" } ]}