---
title: "List All Kubernetes Clusters"
method: GET
path: "/v2/kubernetes/clusters"
tags: ["DigitalOcean-public.v2-new_Kubernetes"]
---

# List All Kubernetes Clusters

`GET /v2/kubernetes/clusters`

To list all of the Kubernetes clusters on your account, send a GET request
to `/v2/kubernetes/clusters`.

## Query parameters

- `per_page` integer
- `page` integer

## Response `200`

The response will be a JSON object with a key called `kubernetes_clusters`.
This will be set to an array of objects, each of which will contain the
standard Kubernetes cluster attributes.

- object
  - `kubernetes_clusters` ClusterRead[]
    - `id` string, uuid — A unique ID that can be used to identify and reference a Kubernetes cluster.
    - `name` string, required — A human-readable name for a Kubernetes cluster.
    - `region` string, required — The slug identifier for the region where the Kubernetes cluster is located.
    - `version` string, required — The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions.
    - `cluster_subnet` string, cidr — The range of IP addresses for the overlay network of the Kubernetes cluster in CIDR notation.
    - `service_subnet` string, cidr — The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation.
    - `vpc_uuid` string, uuid — A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned.<br><br>Requires `vpc:read` scope.
    - `ipv4` string — The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)
    - `endpoint` string — The base URL of the API server on the Kubernetes master node.
    - `tags` string[] — An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. <br><br>Requires `tag:read` scope.
    - `node_pools` KubernetesNodePool[], required — An object specifying the details of the worker nodes available to the Kubernetes cluster.
      - `size` string, required — The slug identifier for the type of Droplet used as workers in the node pool.
      - `id` string, uuid — A unique ID that can be used to identify and reference a specific node pool.
      - `name` string, required — A human-readable name for the node pool.
      - `count` integer, required — The number of Droplet instances in the node pool.
      - `tags` string[] — An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. <br><br>Requires `tag:read` scope.
      - `labels` object, nullable — An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool.
      - `taints` KubernetesNodePoolTaint[] — An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool.
        - `key` string — An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`.
        - `value` string — An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`.
        - `effect` 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute' — How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.
      - `auto_scale` boolean — A boolean value indicating whether auto-scaling is enabled for this node pool.
      - `min_nodes` integer — The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.
      - `max_nodes` integer — The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.
      - `nodes` Node[] — An object specifying the details of a specific worker node in a node pool.
        - `id` string, uuid — A unique ID that can be used to identify and reference the node.
        - `name` string — An automatically generated, human-readable name for the node.
        - `status` object — An object containing a `state` attribute whose value is set to a string indicating the current status of the node.
          - `state` 'provisioning' | 'running' | 'draining' | 'deleting' — A string indicating the current status of the node.
        - `droplet_id` string — The ID of the Droplet used for the worker node.
        - `created_at` string, date-time — A time value given in ISO8601 combined date and time format that represents when the node was created.
        - `updated_at` string, date-time — A time value given in ISO8601 combined date and time format that represents when the node was last updated.
    - `maintenance_policy` MaintenancePolicy, nullable — An object specifying the maintenance window policy for the Kubernetes cluster.
      - `start_time` string — The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`).
      - `duration` string — The duration of the maintenance window policy in human-readable format.
      - `day` 'any' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday' — The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day.
    - `auto_upgrade` boolean — A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
    - `status` object — An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster.
      - `state` 'running' | 'provisioning' | 'degraded' | 'error' | 'deleted' | 'upgrading' | 'deleting' — A string indicating the current status of the cluster.
      - `message` string — An optional message providing additional information about the current cluster state.
    - `created_at` string, date-time — A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created.
    - `updated_at` string, date-time — A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated.
    - `surge_upgrade` boolean — A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes.
    - `ha` boolean — A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled.
    - `registry_enabled` boolean — A read-only boolean value indicating if a container registry is integrated with the cluster.
    - `control_plane_firewall` ControlPlaneFirewall, nullable — An object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only).
      - `enabled` boolean — Indicates whether the control plane firewall is enabled.
      - `allowed_addresses` string[] — An array of public addresses (IPv4 or CIDR) allowed to access the control plane.
    - `cluster_autoscaler_configuration` ClusterAutoscalerConfiguration, nullable — An object specifying custom cluster autoscaler configuration.
      - `scale_down_utilization_threshold` number — Used to customize when cluster autoscaler scales down non-empty nodes by setting the node utilization threshold.
      - `scale_down_unneeded_time` string — Used to customize how long a node is unneeded before being scaled down.
      - `expanders` string[] — Customizes expanders used by cluster-autoscaler. The autoscaler will apply each expander from the provided list to narrow down the selection of node types created to scale up, until either a single node type is left, or the list of expanders is exhausted. If this flag is unset, autoscaler will use its default expander `random`. Passing an empty list (_not_ `null`) will unset any previous expander customizations. Available expanders: - `random`: Randomly selects a node group to scale. - `priority`: Selects the node group with the highest priority as per [user-provided configuration](https://docs.digitalocean.com/products/kubernetes/how-to/autoscale/#configuring-priority-expander) - `least_waste`: Selects the node group that will result in the least amount of idle resources.
    - `routing_agent` RoutingAgent, nullable — An object specifying whether the routing-agent component should be enabled for the Kubernetes cluster.
      - `enabled` boolean — Indicates whether the routing-agent component is enabled.
    - `amd_gpu_device_plugin` AmdGpuDevicePlugin, nullable — An object specifying whether the AMD GPU Device Plugin should be enabled in the Kubernetes cluster. It's enabled by default for clusters with an AMD GPU node pool.
      - `enabled` boolean — Indicates whether the AMD GPU Device Plugin is enabled.
    - `amd_gpu_device_metrics_exporter_plugin` AmdGpuDeviceMetricsExporterPlugin, nullable — An object specifying whether the AMD Device Metrics Exporter should be enabled in the Kubernetes cluster.
      - `enabled` boolean — Indicates whether the AMD Device Metrics Exporter is enabled.
    - `nvidia_gpu_device_plugin` NvidiaGpuDevicePlugin, nullable — An object specifying whether the Nvidia GPU Device Plugin should be enabled in the Kubernetes cluster. It's enabled by default for clusters with an Nvidia GPU node pool.
      - `enabled` boolean — Indicates whether the Nvidia GPU Device Plugin is enabled.
  - `links` PageLinks
    - `pages` union
      - ForwardLinks
        - `last` string — URI of the last page of the results.
        - `next` string — URI of the next page of the results.
      - BackwardLinks
        - `first` string — URI of the first page of the results.
        - `prev` string — URI of the previous page of the results.
      - unknown
  - `meta` object, required — Information about the response itself.
    - `total` integer, required — Number of objects returned by the request.

## Other responses

- `401` — Authentication failed due to invalid credentials.
- `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/revisions/cb3bf9b21459/schema)
