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.
Name a principal a project creator on the subscription
Grants principalId the right to open projects under the subscription. No request
body. Re-granting an existing grant answers that grant unchanged (200); a grant that is
actually written records a SUCCEEDED iam.project_creator.grant Operation for the IAM
activity trail.
Authorization: unreached/unknown subscription 404; no SUBSCRIPTION-level owner grant 403;
an API token is refused 403 TOKEN_SCOPE_MISSING (iam:write is never grantable); tenant on
non-payment hold 403 TENANT_SUSPENDED.
Validation: the grantee must already reach the subscription (a role on it or on a project
beneath it), otherwise the grant could never be exercised -- 422 VALIDATION_FAILED,
field=principalId.
Async & state: Synchronous.
Errors: 401; 403; 404; 422; 500.
Idempotency/Concurrency: Idempotent by nature (PUT); no Idempotency-Key is read.
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.
tenantId*stringThe tenant id.
subscriptionId*stringThe subscription id (unique platform-wide, derived from the tenant id + the subscription's name at creation).
principalId*stringThe principal (user id = e-mail, or service-account id) the grant is about.
The (new or existing) grant.
application/json- response
One project-creator grant on a subscription.
principalId*stringgrantedBy*|The owner who granted it; null for a grant with no recorded granter.
createdAt*|date-timecurl -X PUT "https://example.com/tenants/string/subscriptions/string/project-creators/string"{ "principalId": "string", "grantedBy": "string", "createdAt": "2019-08-24T14:15:22Z"}