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.
Request an OS image the catalog does not offer
Files a PENDING request for an OS image (family, version, architecture, justification). The
region is the project's region. A platform operator fulfils it by pointing it at a published catalog image
in that region, or rejects it with a note; the requester is emailed either way (in locale), and the
platform operators are emailed when the request is filed.
Authorization: compute manage on the project (compute:write for tokens); a reader gets 403.
Limits: at most 5 pending requests per organisation -- a 6th is 409 CONFLICT
(details.reason image_request_pending_limit).
Errors: 401, 403, 404 (unknown or unreachable scope), 409, 422 (validation), 500.
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.
application/json- body
A request for an OS image the catalog does not offer.
osFamily*string1 <= length <= 64osVersion*string1 <= length <= 64architecture?stringCPU architecture of a requested OS image.
"x86_64""x86_64""aarch64"justification*stringWhy the image is needed (shown to the operator).
10 <= length <= 1000locale?|Language of the decision email (en, tr, de, ar; anything else is en).
The request was filed.
application/json- response
A customer's request for an OS image the catalog does not offer.
id*stringtenantId*stringscopeId*stringThe subscription the request was filed under.
projectId?|The project the request was filed from.
region*stringThe project's region; the image is wanted there.
requesterId*stringrequesterEmail*stringosFamily*stringosVersion*stringarchitecture*ImageArchitectureCPU architecture of a requested OS image.
"x86_64""aarch64"justification*stringstatus*ImageRequestStatusLifecycle of an image request.
"pending""fulfilled""rejected"catalogImageId?|The published catalog image that fulfils the request (set when fulfilled).
catalogImageName?|That image's display name at decision time.
decisionNote*stringThe operator's note (required on reject, optional on fulfil; empty while pending).
decidedBy?string|nulldecidedAt?|date-timecreatedAt*stringdate-timeupdatedAt*stringdate-timecurl -X POST "https://example.com/scopes/string/iam/image-requests" \ -H "Content-Type: application/json" \ -d '{ "osFamily": "Rocky Linux", "osVersion": "9.4", "justification": "stringstri" }'{ "id": "imr-3f2a9c", "tenantId": "string", "scopeId": "string", "projectId": "string", "region": "ist-1", "requesterId": "string", "requesterEmail": "string", "osFamily": "Rocky Linux", "osVersion": "9.4", "architecture": "x86_64", "justification": "string", "status": "pending", "catalogImageId": "string", "catalogImageName": "string", "decisionNote": "string", "decidedBy": "string", "decidedAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}