Apps
Replicated HTTP workloads with immutable versions, hostname routing and scale-to-zero activation.
postAcquire Instance
Returns the address of a ready instance, cold-starting one through the single-flight activator if none exists. Blocks up to wait_ms, clamped to the App's activation_timeout_sec (0 means that timeout); DeadlineExceeded when the budget runs out. Mainly for warmup, since hostname routing activates on request. Unimplemented without cluster access. **Access:** namespace VIEWER or above (read)
postCreate App
Creates an empty App in a namespace: an assigned hostname, a freshly minted key and an operational envelope, serving nothing until a version is created and promoted. access UNSPECIFIED is stored as KEY. Scaling defaults: max_instances 1 (raised to min_instances if lower), concurrency 100, idle_timeout_sec 300, activation_timeout_sec 30. NotFound for an unknown namespace; FailedPrecondition when the egress policy needs the proxy and App egress is not configured; Unimplemented without cluster access. **Access:** namespace OPERATOR or above (write)
postCreate App Version
Adds an immutable (environment, port, workspace) version under an App and, when promote is set, makes it the active version in the same call. port must be 1-65535; the environment must belong to the App's namespace (PermissionDenied otherwise); working_dir must be absolute and clean (InvalidArgument). Returns the version and the App. **Access:** namespace OPERATOR or above (write)
postDelete App
Deletes an App: tears down every replica pod, revokes the replicas' workspace-mount keys, deletes their ephemeral workspaces, then removes the App and its record. **Access:** namespace OPERATOR or above (write)
postDelete App Version
Deletes a version, typically a superseded rollback target. FailedPrecondition for the active version (promote another first); InvalidArgument if it belongs to another App. **Access:** namespace OPERATOR or above (write)
postGet App
Returns an App, including its key, plus its live instances derived from pods (an instance has no address until a version is promoted). The hostname is derived for the current app domain. NotFound for an unknown id. **Access:** namespace VIEWER or above (read)
postList App Versions
Lists every version of an App, newest first. page_size and page_token are not applied yet: the whole history is returned in one page. **Access:** namespace VIEWER or above (read)
postList Apps
Lists Apps in a namespace, newest first. page_size defaults to 100 and is clamped to 1000. **Access:** namespace VIEWER or above (read). `namespace` is required unless the caller is a platform admin, for whom empty covers every namespace.
postPromote App Version
Moves the App's traffic pointer to a version and marks the previously active one superseded. Returns immediately without waiting for the version to warm; running instances of the old version are reaped once idle. InvalidArgument if the version belongs to another App. **Access:** namespace OPERATOR or above (write)
postReport Load
Records an App's aggregate in-flight request count and last-request time, which drives idle reaping without an RPC per request. last_request_unix 0 with in_flight > 0 is stored as now. rps is accepted but not used yet. **Access:** namespace OPERATOR or above (write)
postRotate App Key
Issues a new App key and invalidates the previous one. The new key is returned and stays readable through GetApp. **Access:** namespace OPERATOR or above (write)
postTail App Logs
Streams an App's retained output, merged across replicas and tagged with the replica that produced each chunk, starting after from_offset. Replays at most `limit` history chunks (0 means 1000); with follow it then polls for new output every second, ending after 30 idle minutes when the App has no live replica. replica narrows to one replica. **Access:** namespace VIEWER or above (read)
postUpdate App
Changes an App's operational envelope in place: scaling, resources, env, egress and label. Only fields named in update_mask are applied; an empty mask applies all of them (scaling only when set). An egress change takes effect by replacing replicas once the App is idle. Also repairs a stored hostname or a missing key. access and auto_start are not applied by this call today. **Access:** namespace OPERATOR or above (write)
postWatch App
Streams the App and its live instances, re-sent every 3 seconds until the client disconnects. **Access:** namespace VIEWER or above (read)
Warm pools
Pre-warmed, identity-free, single-shot pods for latency-sensitive job lanes.
Acquire Instance POST
Returns the address of a ready instance, cold-starting one through the single-flight activator if none exists. Blocks up to wait_ms, clamped to the App's activation_timeout_sec (0 means that timeout); DeadlineExceeded when the budget runs out. Mainly for warmup, since hostname routing activates on request. Unimplemented without cluster access. **Access:** namespace VIEWER or above (read)