> ## Documentation Index
> Fetch the complete documentation index at: https://ona.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Delete Warm Pool

> Deletes a warm pool.

`Unary` · [`Prebuilds`](/docs/api-reference/generated/prebuild/overview)

Deletes a warm pool.

Deletion is processed asynchronously. The pool is marked for deletion
and the runner drains instances in the background.

Warm pools are also automatically deleted when prebuilds are disabled
on the project or the environment class is removed from the prebuild
configuration.

### Examples

* Delete warm pool:

  ```yaml theme={null}
  warmPoolId: "a1b2c3d4-5678-9abc-def0-1234567890ab"
  ```

## Endpoint

```text theme={null}
POST /api/gitpod.v1.PrebuildService/DeleteWarmPool
```

Send a Bearer token as described in [Authentication](/docs/api-reference#authenticate-requests). If your organization uses a custom management-plane domain, replace `https://app.ona.com` with that domain.

## Request example

<CodeGroup>
  ```bash cURL theme={null}
  export ONA_HOST=https://app.ona.com
  export ONA_API_KEY=<your-token>

  curl --request POST \
    --url "$ONA_HOST/api/gitpod.v1.PrebuildService/DeleteWarmPool" \
    --header "Authorization: Bearer $ONA_API_KEY" \
    --header "Content-Type: application/json" \
    --data '{
    "warmPoolId": "<warm-pool-id>"
  }'
  ```

  ```python Python theme={null}
  import gitpod.v1.prebuild_pb2 as prebuild_pb2
  from ona_sdk import create_client_from_env

  ona = create_client_from_env()
  request = prebuild_pb2.DeleteWarmPoolRequest(
      warm_pool_id="<warm-pool-id>",
  )
  response = ona.services.prebuild.delete_warm_pool(request)
  print(response)
  ```

  ```typescript TypeScript theme={null}
  import { create } from "@bufbuild/protobuf";
  import { createClientFromEnv } from "@gitpod/sdk";
  import { DeleteWarmPoolRequestSchema } from "@gitpod/sdk/gitpod/v1/prebuild_pb";

  async function main() {
    const ona = createClientFromEnv();
    const request = create(DeleteWarmPoolRequestSchema, {
      warmPoolId: "<warm-pool-id>",
    });
    const response = await ona.services.prebuild.deleteWarmPool(request);
    console.log(response);
  }

  main().catch(console.error);
  ```

  ```go Go theme={null}
  package main

  import (
  	"context"
  	"fmt"
  	"log"

  	"connectrpc.com/connect"
  	"github.com/gitpod-io/gitpod-sdk-go/sdk"
  	gitpodpb "github.com/gitpod-io/gitpod-sdk-go/v1"
  )

  func main() {
  	ona, err := sdk.NewFromEnv()
  	if err != nil {
  		log.Fatal(err)
  	}

  	request := connect.NewRequest(&gitpodpb.DeleteWarmPoolRequest{
  		WarmPoolId: "<warm-pool-id>",
  	})
  	response, err := ona.Services.Prebuild.DeleteWarmPool(context.Background(), request)
  	if err != nil {
  		log.Fatal(err)
  	}
  	fmt.Println(response.Msg)
  }
  ```

  ```json Request body theme={null}
  {
    "warmPoolId": "<warm-pool-id>"
  }
  ```
</CodeGroup>

## Request

`gitpod.v1.DeleteWarmPoolRequest`

| Field        | Type   | Required | Description                                                                                      |
| ------------ | ------ | -------- | ------------------------------------------------------------------------------------------------ |
| `warmPoolId` | string | Yes      | warm\_pool\_id specifies the warm pool to delete Constraints: `required=true, string.uuid=true`. |

## Response

`gitpod.v1.DeleteWarmPoolResponse`

This message has no fields.
