---
title: "UpdateRunnerWarmPoolStatus"
method: POST
path: "/gitpod.v1.RunnerInteractionService/UpdateRunnerWarmPoolStatus"
tags: ["gitpod.v1.RunnerInteractionService"]
---

# UpdateRunnerWarmPoolStatus

`POST /gitpod.v1.RunnerInteractionService/UpdateRunnerWarmPoolStatus`

Updates the status of a warm pool.

 Use this method to:
 - Report warm pool phase transitions (ready, degraded)
 - Report failure messages when pool instances cannot be created

## Request body

- GitpodV1UpdateRunnerWarmPoolStatusRequest
  - `runnerId` string, uuid, required — The runner's identity
  - `status` GitpodV1WarmPoolStatus, required — WarmPoolStatus contains the current status of a warm pool as reported by the runner
    - `desiredSize` integer — desired_size is the current target number of instances the autoscaler has decided on. Unlike running_instances, this value is stable and does not fluctuate as instances are claimed and backfilled.
    - `failureMessage` string — failure_message contains details about why the warm pool is degraded or failed
    - `phase` 'WARM_POOL_PHASE_UNSPECIFIED' | 'WARM_POOL_PHASE_PENDING' | 'WARM_POOL_PHASE_READY' | 'WARM_POOL_PHASE_DEGRADED' | 'WARM_POOL_PHASE_DELETING' | 'WARM_POOL_PHASE_DELETED', required — WarmPoolPhase represents the lifecycle phase of a warm pool
    - `runningInstances` integer — running_instances is the number of running warm instances in the pool, ready to be claimed for near-instant environment startup.
    - `statusVersion` string — status_version is incremented each time the status is updated. Used for optimistic concurrency control.
    - `stoppedInstances` integer — stopped_instances is the number of pre-provisioned but stopped instances in the pool. When a running instance is claimed, stopped instances are used to backfill the running pool faster than provisioning from scratch. Stopped instances only incur storage costs, allowing a larger total pool at lower cost than keeping all instances running.
  - `warmPoolId` string, uuid, required — warm_pool_id specifies the warm pool to update

## Response `200`

Success

- GitpodV1UpdateRunnerWarmPoolStatusResponse

## Other responses

- `default` — Error

## Changes

- **2026-04-02** `dabc0ff98cd7` — 3 info
  - added the new optional request property `status/desiredSize`
  - added the new optional request property `status/runningInstances`
  - added the new optional request property `status/stoppedInstances`
- **2026-02-11** `b97dcde84128` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/gitpod-io/apis/gitpod-v1/changes/gitpod.v1.RunnerInteractionService/UpdateRunnerWarmPoolStatus/post.md)

---

[API](https://skmtc.dev/gitpod-io/apis/gitpod-v1.md) · [All operations](https://skmtc.dev/gitpod-io/apis/gitpod-v1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gitpod-io/gitpod-v1/revisions/44d50c2ac284/schema)
