---
title: "Update Autoscale Pool"
method: PUT
path: "/v2/droplets/autoscale/{autoscale_pool_id}"
tags: ["DigitalOcean-public.v2-new_Droplet Autoscale Pools"]
---

# Update Autoscale Pool

`PUT /v2/droplets/autoscale/{autoscale_pool_id}`

To update the configuration of an existing autoscale pool, send a PUT request to
`/v2/droplets/autoscale/$AUTOSCALE_POOL_ID`. The request must contain a full representation
of the autoscale pool including existing attributes.

## Path parameters

- `autoscale_pool_id` string, required

## Request body

- AutoscalePoolCreate
  - `name` string, required — The human-readable name of the autoscale pool. This field cannot be updated
  - `config` union, required — The scaling configuration for an autoscale pool, which is how the pool scales up and down (either by resource utilization or static configuration).
    - object
      - `target_number_instances` integer, required — Fixed number of instances in an autoscale pool.
    - object
      - `min_instances` integer, required — The minimum number of Droplets in an autoscale pool.
      - `max_instances` integer, required — The maximum number of Droplets in an autoscale pool.
      - `target_cpu_utilization` number, float — Target CPU utilization as a decimal.
      - `target_memory_utilization` number, float — Target memory utilization as a decimal.
      - `cooldown_minutes` integer — The number of minutes to wait between scaling events in an autoscale pool. Defaults to 10 minutes.
  - `droplet_template` AutoscalePoolDropletTemplate, required
    - `name` string — The name(s) to be applied to all Droplets in the autoscale pool.
    - `region` 'nyc1' | 'nyc2' | 'nyc3' | 'ams2' | 'ams3' | 'sfo1' | 'sfo2' | 'sfo3' | 'sgp1' | 'lon1' | 'fra1' | 'tor1' | 'blr1' | 'syd1', required — The datacenter in which all of the Droplets will be created.
    - `size` string, required — The Droplet size to be used for all Droplets in the autoscale pool.
    - `image` string, required — The Droplet image to be used for all Droplets in the autoscale pool. You may specify the slug or the image ID.
    - `ssh_keys` string[], required — The SSH keys to be installed on the Droplets in the autoscale pool. You can either specify the key ID or the fingerprint. Requires `ssh_key:read` scope.
    - `tags` string[] — The tags to apply to each of the Droplets in the autoscale pool. Requires `tag:read` scope.
    - `vpc_uuid` string — The VPC where the Droplets in the autoscale pool will be created. The VPC must be in the region where you want to create the Droplets. Requires `vpc:read` scope.
    - `with_droplet_agent` boolean — Installs the Droplet agent. This must be set to true to monitor Droplets for resource utilization scaling.
    - `project_id` string — The project that the Droplets in the autoscale pool will belong to. Requires `project:read` scope.
    - `ipv6` boolean — Assigns a unique IPv6 address to each of the Droplets in the autoscale pool.
    - `user_data` string — A string containing user data that cloud-init consumes to configure a Droplet on first boot. User data is often a cloud-config file or Bash script. It must be plain text and may not exceed 64 KiB in size.

## Response `200`

Accepted

- object
  - `autoscale_pool` AutoscalePool
    - `id` string, required — A unique identifier for each autoscale pool instance. This is automatically generated upon autoscale pool creation.
    - `name` string, required — The human-readable name set for the autoscale pool.
    - `config` union, required — The scaling configuration for an autoscale pool, which is how the pool scales up and down (either by resource utilization or static configuration).
      - object
        - `target_number_instances` integer, required — Fixed number of instances in an autoscale pool.
      - object
        - `min_instances` integer, required — The minimum number of Droplets in an autoscale pool.
        - `max_instances` integer, required — The maximum number of Droplets in an autoscale pool.
        - `target_cpu_utilization` number, float — Target CPU utilization as a decimal.
        - `target_memory_utilization` number, float — Target memory utilization as a decimal.
        - `cooldown_minutes` integer — The number of minutes to wait between scaling events in an autoscale pool. Defaults to 10 minutes.
    - `droplet_template` AutoscalePoolDropletTemplate, required
      - `name` string — The name(s) to be applied to all Droplets in the autoscale pool.
      - `region` 'nyc1' | 'nyc2' | 'nyc3' | 'ams2' | 'ams3' | 'sfo1' | 'sfo2' | 'sfo3' | 'sgp1' | 'lon1' | 'fra1' | 'tor1' | 'blr1' | 'syd1', required — The datacenter in which all of the Droplets will be created.
      - `size` string, required — The Droplet size to be used for all Droplets in the autoscale pool.
      - `image` string, required — The Droplet image to be used for all Droplets in the autoscale pool. You may specify the slug or the image ID.
      - `ssh_keys` string[], required — The SSH keys to be installed on the Droplets in the autoscale pool. You can either specify the key ID or the fingerprint. Requires `ssh_key:read` scope.
      - `tags` string[] — The tags to apply to each of the Droplets in the autoscale pool. Requires `tag:read` scope.
      - `vpc_uuid` string — The VPC where the Droplets in the autoscale pool will be created. The VPC must be in the region where you want to create the Droplets. Requires `vpc:read` scope.
      - `with_droplet_agent` boolean — Installs the Droplet agent. This must be set to true to monitor Droplets for resource utilization scaling.
      - `project_id` string — The project that the Droplets in the autoscale pool will belong to. Requires `project:read` scope.
      - `ipv6` boolean — Assigns a unique IPv6 address to each of the Droplets in the autoscale pool.
      - `user_data` string — A string containing user data that cloud-init consumes to configure a Droplet on first boot. User data is often a cloud-config file or Bash script. It must be plain text and may not exceed 64 KiB in size.
    - `current_utilization` CurrentUtilization
      - `memory` number, float — The average memory utilization of the autoscale pool.
      - `cpu` number, float — The average CPU utilization of the autoscale pool.
    - `created_at` string, date-time, required — A time value given in ISO8601 combined date and time format that represents when the autoscale pool was created.
    - `updated_at` string, date-time, required — A time value given in ISO8601 combined date and time format that represents when the autoscale pool was last updated.
    - `status` 'active' | 'deleting' | 'error', required — The current status of the autoscale pool.
    - `active_resources_count` integer, required — The number of active Droplets in the autoscale pool.

## Other responses

- `401` — Authentication failed due to invalid credentials.
- `404` — The resource was not found.
- `429` — The API rate limit has been exceeded.
- `500` — There was a server error.
- `default` — There was an unexpected error.

---

[API](https://skmtc.net/digitalocean/apis/digitalocean-api.md) · [All operations](https://skmtc.net/digitalocean/apis/digitalocean-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/digitalocean/digitalocean-api/versions/cb3bf9b21459/schema)
