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.
Rotate the project's Swift Temp-URL key
Replaces the account's Temp-URL-Key (slot 1) with a new random value. The new key is
never returned. The body is optional; an empty body means mode: revoke.
revoke(default): also removesTemp-URL-Key-2and every container-level key. Every Temp-URL signed with an old key stops working at once -- including URLs other members handed out -- and the pending rotation advice is cleared.graceful: the current slot-1 key moves toTemp-URL-Key-2and keeps working -- any key already inTemp-URL-Key-2is replaced by it; container keys are untouched and the rotation advice is NOT cleared (the old key is still valid). Exactly one previous key survives, so a second graceful rotation retires it. Key slots: the platform signs console upload/download links only with slot 1 and reuses whatever slot-1 key the account holds. Slot 2 (Temp-URL-Key-2) is replaced by EVERY rotation (revoke removes it; graceful overwrites it with the previous slot-1 key). The only key the platform never reads, writes or rotates is a container-level key (X-Container-Meta-Temp-URL-Key) -- except arevokerotation, which removes every key including container keys. The console's own links keep working after either mode (they are signed with the current key on demand). Errors: 401 unauthenticated; 403 caller lacks manage access to the scope's storage; 404 unknownscopeId; 409 the project is not provisioned, or 409details.reason=project_suspendedwhile the project is suspended; 422 unknownmode; 502/503 the object store refused or is unavailable.
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
Optional body of a Temp-URL key rotation.
mode?TempUrlKeyRotationModerevoke removes every old key (slot 2 and container keys included); graceful keeps the
current key valid in slot 2.
"revoke""revoke""graceful"The key was rotated.
application/json- response
Outcome of a Temp-URL key rotation.
rotatedAt*stringdate-timecontainerKeysRemoved*integerHow many containers had a container-level key removed (0 for graceful).
mode*TempUrlKeyRotationModerevoke removes every old key (slot 2 and container keys included); graceful keeps the
current key valid in slot 2.
"revoke""revoke""graceful"previousKeyRetained*booleanTrue when the previous slot-1 key is still valid in slot 2 (graceful only).
curl -X POST "https://example.com/scopes/string/storage/temp-url-key/actions/rotate" \ -H "Content-Type: application/json" \ -d '{}'{ "rotatedAt": "2019-08-24T14:15:22Z", "containerKeysRemoved": 0, "mode": "revoke", "previousKeyRetained": true}