---
updatedAt: 2026-04-21T19:15:17.000Z
agentTools:
  siteIndex: https://techdocs.akamai.com/llms.txt
  projectIndex: https://techdocs.akamai.com/linode-api/llms.txt
---

# List node pools

Returns all active node pools on a Kubernetes cluster.


**Permissions and scopes**

To call this operation, you need the following:

- **Identity and access permissions**. Your user needs these roles assigned. [Learn more](https://techdocs.akamai.com/cloud-computing/docs/identity-access-cm-available-roles).
  - Roles: `lkecluster_viewer`
- **OAuth scopes**. Your user needs these scopes assigned. [Learn more](https://techdocs.akamai.com/linode-api/reference/get-started#oauth).

  - Scopes: `lke:read_only`


**CLI**

```shell
linode-cli lke pools-list 12345
```

[Learn more](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)

# OpenAPI definition

````json
{
  "components": {
    "securitySchemes": {
      "oauth": {
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://login.linode.com/oauth/authorize",
            "scopes": {
              "account:read_only": "Allows access to GET information about your account.",
              "account:read_write": "Allows access to all endpoints related to your account.",
              "child_account:read_only": "Allows access to GET information about deprecated parent/child operations.",
              "child_account:read_write": "Allows access to deprecated parent/child operations.",
              "databases:read_only": "Allows access to GET information about databases.",
              "databases:read_write": "Allows access to all endpoints related to databases.",
              "domains:read_only": "Allows access to GET Domains on your account.",
              "domains:read_write": "Allows access to all Domain endpoints.",
              "events:read_only": "Allows access to GET your Events.",
              "events:read_write": "Allows access to all endpoints related to your Events.",
              "firewall:read_only": "Allows access to GET information about your Firewalls.",
              "firewall:read_write": "Allows access to all Firewall endpoints.",
              "images:read_only": "Allows access to GET your Images.",
              "images:read_write": "Allows access to all endpoints related to your Images.",
              "ips:read_only": "Allows access to GET your ips.",
              "ips:read_write": "Allows access to all endpoints related to your ips.",
              "linodes:read_only": "Allows access to GET Linodes on your account.",
              "linodes:read_write": "Allow access to all endpoints related to your Linodes.",
              "lke:read_only": "Allows access to GET LKE Clusters on your account.",
              "lke:read_write": "Allows access to all endpoints related to LKE Clusters on your account.",
              "longview:read_only": "Allows access to GET your Longview Clients.",
              "longview:read_write": "Allows access to all endpoints related to your Longview Clients.",
              "monitor:read_only": "Allows access to Monitor (Akamai Cloud Pulse) data.",
              "monitor:read_write": "Allows access to GET Monitor (Akamai Cloud Pulse) data.",
              "nodebalancers:read_only": "Allows access to GET NodeBalancers on your account.",
              "nodebalancers:read_write": "Allows access to all NodeBalancer endpoints.",
              "object_storage:read_only": "Allows access to GET information related to your Object Storage.",
              "object_storage:read_write": "Allows access to all Object Storage endpoints.",
              "stackscripts:read_only": "Allows access to GET your StackScripts.",
              "stackscripts:read_write": "Allows access to all endpoints related to your StackScripts.",
              "volumes:read_only": "Allows access to GET your Volumes.",
              "volumes:read_write": "Allows access to all endpoints related to your Volumes.",
              "vpc:read_write": "Allows access to all endpoints related to VPC and Subnet creation, updating, and deletion."
            },
            "tokenUrl": "https://login.linode.com/oauth/token"
          }
        },
        "type": "oauth2"
      },
      "personalAccessToken": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "externalDocs": {
    "description": "See documentation for Akamai's Linode API",
    "url": "https://techdocs.akamai.com/linode-api/reference"
  },
  "info": {
    "description": "\"[Read the API documentation](https://techdocs.akamai.com/linode-api/reference/api).\"",
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "title": "Linode Kubernetes Engine (LKE)",
    "version": "4.229.1"
  },
  "openapi": "3.0.1",
  "paths": {
    "/{apiVersion}/lke/clusters/{clusterId}/pools": {
      "get": {
        "description": "Returns all active node pools on a Kubernetes cluster.\n\n\n**Permissions and scopes**\n\nTo call this operation, you need the following:\n\n- **Identity and access permissions**. Your user needs these roles assigned. [Learn more](https://techdocs.akamai.com/cloud-computing/docs/identity-access-cm-available-roles).\n  - Roles: `lkecluster_viewer`\n- **OAuth scopes**. Your user needs these scopes assigned. [Learn more](https://techdocs.akamai.com/linode-api/reference/get-started#oauth).\n\n  - Scopes: `lke:read_only`\n\n\n**CLI**\n\n```shell\nlinode-cli lke pools-list 12345\n```\n\n[Learn more](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)",
        "externalDocs": {
          "description": "See documentation for this operation in Akamai's Linode API",
          "url": "https://techdocs.akamai.com/linode-api/reference/get-lke-cluster-pools"
        },
        "operationId": "get-lke-cluster-pools",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "data": [
                    {
                      "autoscaler": {
                        "enabled": true,
                        "max": 25,
                        "min": 5
                      },
                      "count": 10,
                      "disk_encryption": "enabled",
                      "disks": [],
                      "id": 123456,
                      "label": "db-pool",
                      "labels": {},
                      "nodes": [
                        {
                          "id": "123456-0183d7fc0000",
                          "instance_id": 954321,
                          "status": "ready"
                        },
                        {
                          "id": "123456-1b6f610f0000",
                          "instance_id": 954322,
                          "status": "ready"
                        },
                        {
                          "id": "123456-3054ff330000",
                          "instance_id": 954323,
                          "status": "ready"
                        }
                      ],
                      "tags": [],
                      "taints": [
                        {
                          "effect": "NoSchedule",
                          "key": "example.com/my-app",
                          "value": "teamA"
                        },
                        {
                          "effect": "NoExecute",
                          "key": "myapp.io/team",
                          "value": "teamC"
                        }
                      ],
                      "type": "g6-standard-4"
                    },
                    {
                      "autoscaler": {
                        "enabled": true,
                        "max": 12,
                        "min": 3
                      },
                      "count": 3,
                      "disk_encryption": "enabled",
                      "disks": [],
                      "id": 876543,
                      "label": "app-pool",
                      "labels": {},
                      "nodes": [
                        {
                          "id": "876543-1946f91b0000",
                          "instance_id": 95200753,
                          "status": "ready"
                        },
                        {
                          "id": "876543-2d5349460000",
                          "instance_id": 95200756,
                          "status": "ready"
                        },
                        {
                          "id": "876543-465f1e240000",
                          "instance_id": 95200759,
                          "status": "ready"
                        }
                      ],
                      "tags": [],
                      "taints": [],
                      "type": "g6-standard-4"
                    }
                  ],
                  "page": 1,
                  "pages": 1,
                  "results": 2
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "Node pools within the Kubernetes cluster.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "autoscaler": {
                            "additionalProperties": false,
                            "description": "When enabled, the number of nodes autoscales within the defined minimum and maximum values.",
                            "properties": {
                              "enabled": {
                                "description": "Whether autoscaling is enabled for this node pool. Defaults to `false`.",
                                "example": true,
                                "type": "boolean",
                                "x-linode-cli-display": 5
                              },
                              "max": {
                                "description": "The maximum number of nodes for the node pool when you enable autoscaling. This defaults to the node pool's `count`.\n\n> 📘\n>\n> The ability to scale node pools to zero nodes is in limited availability and works with LKE Enterprise clusters only. If your account has access to this feature, `max` can be set to `0` if desired.",
                                "example": 12,
                                "maximum": 100,
                                "minimum": 1,
                                "type": "integer",
                                "x-linode-cli-display": 6
                              },
                              "min": {
                                "description": "The minimum number of nodes for the node pool when you enable autoscaling. This defaults to the node pool's `count`.\n\n> 🚧\n>\n> Before you can upgrade an LKE Enterprise node pool's Kubernetes version, adjust this value so that it is at least three nodes for Kubernetes v1.33 (and higher) and at least two nodes for Kubernetes v1.32.\n\n> 📘\n>\n> The ability to scale node pools to zero nodes is in limited availability and works with LKE Enterprise clusters only. If your account has access to this feature, set `min` to `0` to scale down this node pool to a minimum of zero nodes. This can help reduce costs when the node pool is not in use.",
                                "example": 3,
                                "maximum": 100,
                                "minimum": 1,
                                "type": "integer",
                                "x-linode-cli-display": 7
                              }
                            },
                            "type": "object"
                          },
                          "count": {
                            "description": "The number of nodes in the node pool.\n\n> 🚧\n>\n> Before you can upgrade an LKE Enterprise node pool's Kubernetes version, adjust this value so that it is at least three nodes for Kubernetes v1.33 (and higher) and at least two nodes for Kubernetes v1.32.\n\n> 📘\n>\n> The ability to scale node pools to zero nodes is in limited availability and works with LKE Enterprise clusters only. If your account has access to this feature, set `count` to `0` to create a node pool with zero nodes or adjust an existing node pool down to zero nodes.",
                            "example": 6,
                            "maximum": 100,
                            "minimum": 1,
                            "type": "integer",
                            "x-linode-cli-display": 4
                          },
                          "disk_encryption": {
                            "description": "Indicates the local disk encryption status for this LKE node pool, either `enabled` or `disabled`.",
                            "enum": [
                              "enabled",
                              "disabled"
                            ],
                            "example": "disabled",
                            "type": "string",
                            "x-linode-cli-display": 9
                          },
                          "disks": {
                            "description": "This node pool's custom disk layout.",
                            "items": {
                              "additionalProperties": false,
                              "description": "The values to assign to each partition in this node pool's custom disk layout.",
                              "properties": {
                                "size": {
                                  "description": "The size of this custom disk partition in MB. The size of this disk partition can't exceed the capacity of the node's plan type.",
                                  "example": 1024,
                                  "type": "integer"
                                },
                                "type": {
                                  "description": "This custom disk partition's file system type, either `raw` or `ext4`.",
                                  "enum": [
                                    "raw",
                                    "ext4"
                                  ],
                                  "example": "ext4",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array",
                            "x-linode-cli-format": "json"
                          },
                          "firewall_id": {
                            "description": "__Beta__, __LKE Enterprise__ The `id` of the Cloud Firewall assigned to this node pool.",
                            "type": "integer",
                            "x-akamai": {
                              "labels": [
                                "LKE Enterprise"
                              ],
                              "status": "BETA"
                            }
                          },
                          "id": {
                            "description": "__Filterable__ This node pool's unique ID.",
                            "example": 456,
                            "type": "integer",
                            "x-akamai": {
                              "labels": [
                                "Filterable"
                              ]
                            },
                            "x-linode-cli-display": 1,
                            "x-linode-filterable": true
                          },
                          "k8s_version": {
                            "description": "__Beta__ The Kubernetes version used for the worker nodes within this node pool.\n\n> 🚧\n>\n> This field is available as part of the beta API and can only be used by accounts with access to LKE Enterprise. Call the URL with the `apiVersion` path parameter set to `v4beta`.",
                            "example": "v1.31.8+lke3",
                            "type": "string",
                            "x-akamai": {
                              "status": "BETA"
                            }
                          },
                          "label": {
                            "description": "The optional label defined for this node pool.",
                            "example": "app-pool",
                            "maxLength": 32,
                            "minLength": 1,
                            "type": "string",
                            "x-linode-cli-display": 2
                          },
                          "labels": {
                            "additionalProperties": {
                              "description": "The label's value.",
                              "maxLength": 63,
                              "minLength": 0,
                              "pattern": "^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?",
                              "type": "string",
                              "x-additionalPropertiesName": "value"
                            },
                            "description": "Key-value pairs added as labels to nodes in the node pool. Labels help classify your nodes and easily select subsets of objects. To learn more, review the [Labels and taints](https://techdocs.akamai.com/cloud-computing/docs/labels-and-taints) guide.",
                            "example": {
                              "example.com/my-app": "teams"
                            },
                            "type": "object"
                          },
                          "locks": {
                            "description": "__Beta__, __Read-only__ Indicates if the node pool is protected by a resource lock. Supported values are:\n\n- `cannot_delete`. The node pool can't be deleted.\n\n- An empty array indicates there is no resource lock. The cluster can be deleted.\n\nOnly account administrators can remove locks using the [Delete a resource lock](https://techdocs.akamai.com/linode-api/reference/delete-resource-lock) operation.\n\n> 🚧\n>\n> - This field is available as part of the beta API. Call the URL with the `apiVersion` path parameter set to `v4beta`.\n>\n> - The `cannot_delete_with_subresources` form of lock that's available with other resources does not apply to an LKE node pool.",
                            "example": [
                              "cannot_delete"
                            ],
                            "items": {
                              "enum": [
                                "cannot_delete"
                              ],
                              "type": "string"
                            },
                            "readOnly": true,
                            "type": "array",
                            "x-akamai": {
                              "status": "BETA"
                            }
                          },
                          "nodes": {
                            "description": "__Read-only__ Status information for the nodes that are members of this node pool. If a Linode has not been provisioned for a given node slot, the `instance_id` is `null`.",
                            "items": {
                              "additionalProperties": false,
                              "description": "Status for a node which is a member of a Kubernetes cluster.",
                              "properties": {
                                "id": {
                                  "description": "The node's ID.",
                                  "example": "12345-6aa78910bc",
                                  "type": "string"
                                },
                                "instance_id": {
                                  "description": "The Linode's ID. When no Linode is currently provisioned for this node, this is `null`.",
                                  "example": 123458,
                                  "nullable": true,
                                  "type": "integer"
                                },
                                "pool_id": {
                                  "description": "__Beta__, __LKE Enterprise__ The ID of the parent node pool.\n\n> 🚧\n>\n> This field is available as part of the beta API and can only be used by accounts with access to LKE Enterprise. Call the URL with the `apiVersion` path parameter set to `v4beta`.",
                                  "example": 12345,
                                  "type": "integer",
                                  "x-akamai": {
                                    "labels": [
                                      "LKE Enterprise"
                                    ],
                                    "status": "BETA"
                                  }
                                },
                                "status": {
                                  "description": "The creation status of this node. This status is distinct from this node's readiness as a Kubernetes node object as determined by the command `kubectl get nodes`.\n\n`not_ready` indicates that the Linode is still being created.\n\n`ready` indicates that the Linode has successfully been created and is running Kubernetes software.",
                                  "enum": [
                                    "ready",
                                    "not_ready"
                                  ],
                                  "example": "ready",
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "x-akamai": {
                                "file-path": "schemas/lke-node-status.yaml"
                              }
                            },
                            "readOnly": true,
                            "type": "array"
                          },
                          "tags": {
                            "description": "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only.",
                            "example": [
                              "example tag",
                              "another example"
                            ],
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-akamai": {
                              "labels": [
                                "Filterable"
                              ]
                            },
                            "x-linode-cli-display": 8,
                            "x-linode-filterable": true
                          },
                          "taints": {
                            "description": "Kubernetes taints added to nodes in the node pool. Taints help control how pods are scheduled onto nodes, specifically allowing them to repel certain pods.",
                            "example": [
                              {
                                "effect": "NoSchedule",
                                "key": "example.com/my-app",
                                "value": "teamA"
                              },
                              {
                                "effect": "NoExecute",
                                "key": "myapp.io/team",
                                "value": "teamC"
                              }
                            ],
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "effect": {
                                  "description": "The Kubernetes taint effect. For `NoSchedule`, `PreferNoSchedule` and `NoExecute` descriptions, see [Kubernetes Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/).",
                                  "enum": [
                                    "NoSchedule",
                                    "PreferNoSchedule",
                                    "NoExecute"
                                  ],
                                  "example": "NoSchedule",
                                  "type": "string"
                                },
                                "key": {
                                  "description": "The Kubernetes taint key.",
                                  "example": "example.com/my-app",
                                  "maxLength": 63,
                                  "minLength": 1,
                                  "pattern": "^([A-Za-z0-9][-A-Za-z0-9_.]*)?(\\/)?([A-Za-z0-9][-A-Za-z0-9_.]{1,63})?$",
                                  "type": "string"
                                },
                                "value": {
                                  "description": "The Kubernetes taint value.",
                                  "example": "teamC",
                                  "maxLength": 63,
                                  "minLength": 0,
                                  "pattern": "^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?",
                                  "type": "string"
                                }
                              }
                            },
                            "type": "array"
                          },
                          "type": {
                            "description": "The Linode type for all of the nodes in the node pool.",
                            "example": "g6-standard-4",
                            "type": "string",
                            "x-linode-cli-display": 3
                          },
                          "update_strategy": {
                            "default": "on_recycle",
                            "description": "__Beta__ Determines when the worker nodes within this node pool upgrade to the latest selected Kubernetes version after the cluster has been upgraded. This field is required for LKE Enterprise clusters is not supported for non-Enterprise clusters. Supported values are:\n\n- `rolling_update`: Immediately triggers a recycle of this node pool when the Kubernetes version is updated.\n- `on_recycle` (default): Doesn't trigger any immediate recycle. New worker nodes are created with the new Kubernetes version. Existing worker nodes will be upgraded when a recycle is manually triggered.",
                            "enum": [
                              "rolling_update",
                              "on_recycle"
                            ],
                            "example": "on_recycle",
                            "type": "string",
                            "x-akamai": {
                              "status": "BETA"
                            }
                          }
                        },
                        "type": "object",
                        "x-akamai": {
                          "file-path": "schemas/lke-node-pool.yaml"
                        }
                      },
                      "type": "array"
                    },
                    "page": {
                      "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).",
                      "example": 1,
                      "readOnly": true,
                      "type": "integer"
                    },
                    "pages": {
                      "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).",
                      "example": 1,
                      "readOnly": true,
                      "type": "integer"
                    },
                    "results": {
                      "description": "__Read-only__ The total number of results.",
                      "example": 1,
                      "readOnly": true,
                      "type": "integer"
                    }
                  },
                  "type": "object",
                  "x-akamai": {
                    "file-path": "schemas/get-lke-cluster-pools-200.yaml"
                  }
                }
              }
            },
            "description": "Returns all node pools in this Kubernetes cluster."
          },
          "default": {
            "content": {
              "application/json": {
                "example": {
                  "errors": [
                    {
                      "reason": "Invalid JSON"
                    }
                  ]
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "errors": {
                      "description": "Any warnings associated with a response.",
                      "items": {
                        "additionalProperties": false,
                        "description": "An object for describing a single error that occurred during the processing of a request.",
                        "properties": {
                          "field": {
                            "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.",
                            "example": "fieldname",
                            "type": "string"
                          },
                          "reason": {
                            "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.",
                            "example": "fieldname must be a valid value",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-akamai": {
                          "file-path": "schemas/error-object.yaml"
                        }
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
          }
        },
        "security": [
          {
            "personalAccessToken": []
          },
          {
            "oauth": [
              "lke:read_only"
            ]
          }
        ],
        "summary": "List node pools",
        "tags": [
          "LKE node pools"
        ],
        "x-akamai": {
          "tabs": [
            {
              "syntax": "linode-cli lke pools-list 12345",
              "title": "CLI",
              "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli"
            }
          ]
        },
        "x-linode-cli-action": "pools-list",
        "x-linode-iam": [
          {
            "roles": [
              "lkecluster_viewer"
            ]
          }
        ]
      },
      "parameters": [
        {
          "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.",
          "in": "path",
          "name": "apiVersion",
          "required": true,
          "schema": {
            "enum": [
              "v4",
              "v4beta"
            ],
            "example": "v4",
            "type": "string"
          },
          "x-akamai": {
            "file-path": "parameters/api-version-path.yaml"
          }
        },
        {
          "description": "ID of the Kubernetes cluster to look up.",
          "in": "path",
          "name": "clusterId",
          "required": true,
          "schema": {
            "example": 12345,
            "type": "integer"
          },
          "x-akamai": {
            "file-path": "parameters/cluster-id-path.yaml"
          }
        }
      ],
      "x-akamai": {
        "file-path": "paths/lke-pools.yaml",
        "path-info": "/{apiVersion}/lke/clusters/{clusterId}/pools"
      },
      "x-linode-cli-command": "lke"
    }
  },
  "servers": [
    {
      "url": "https://api.linode.com"
    }
  ],
  "tags": [
    {
      "description": "Create, manage, and configure node pools within your LKE clusters. Node pools allow you to group nodes with similar configurations and manage them collectively.",
      "name": "LKE node pools"
    }
  ],
  "x-akamai": {
    "auth-type": "OAUTH",
    "file-path": "lke.yaml"
  },
  "x-readme": {
    "explorer-enabled": false,
    "samples-languages": [
      "curl",
      "python",
      "node"
    ]
  }
}
````

# Sibling pages

* [Create a node pool](https://techdocs.akamai.com/linode-api/reference/post-lke-cluster-pools.md)
* [Get a node pool](https://techdocs.akamai.com/linode-api/reference/get-lke-node-pool.md)
* [Update a node pool](https://techdocs.akamai.com/linode-api/reference/put-lke-node-pool.md)
* [Delete a node pool](https://techdocs.akamai.com/linode-api/reference/delete-lke-node-pool.md)
* [Recycle a node pool](https://techdocs.akamai.com/linode-api/reference/post-lke-cluster-pool-recycle.md)