---
title: "Returns details for a single Kubernetes node pool in the project."
method: GET
path: "/projects/{project_id}/kubernetes/nodepools/{node_pool_id}"
tags: ["Kubernetes Node Pools"]
---

# Returns details for a single Kubernetes node pool in the project.

`GET /projects/{project_id}/kubernetes/nodepools/{node_pool_id}`

## Path parameters

- `project_id` string, required
- `node_pool_id` string, required

## Response `200`

- KubernetesNodePool
  - `cluster_id` string, required — ID of the Kubernetes cluster the node pool belongs to.
  - `count` integer, required — Number of nodes in the node pool.
  - `created_at` string, required — Creation timestamp of the node pool, in RFC3339 format.
  - `ephemeral_storage_for_containerd` boolean, required — Whether the first local ephemeral NVMe disk is used for containerd storage.
  - `id` string, required — ID of the node pool.
  - `image_id` string, required — ID of the image used for the node pool.
  - `instance_details` InstanceDetails[] — Details about the instances within the node pool.
    - `id` string, required — ID of the instance.
    - `using_latest_config` boolean, required — Whether the instance was created with the current node pool configuration.
  - `instance_ids` string[], required — IDs of the instances within the node pool.
  - `name` string, required — Name of the node pool.
  - `node_labels` object, required — Labels assigned to nodes in the node pool.
  - `node_taints` KubernetesNodeTaint[], required — Taints applied to nodes in the node pool.
    - `effect` 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute', required — Taint effect, controlling how pods are treated on matching nodes: NoSchedule: new pods are not scheduled unless they tolerate. PreferNoSchedule: new pods avoid the node if possible. NoExecute: new pods are not scheduled AND existing non-tolerating pods are evicted.
    - `key` string, required — Taint key. Follows the Kubernetes qualified-name format: an optional DNS subdomain prefix (up to 253 characters) followed by a '/', then a name segment (up to 63 characters). Allowed characters: alphanumerics, '-', '_', and '.'. Must start and end with an alphanumeric character. Keys beginning with "crusoe.ai/" are reserved for internal use.
    - `value` string — Taint value. May be empty. Follows the same format rules as a Kubernetes label value: up to 63 characters, alphanumerics and '-', '_', '.'.
  - `nvlink_domain_id` string — NVLink domain ID assigned to the node pool.
  - `project_id` string, required — ID of the project that owns the node pool.
  - `public_ip_type` string — Public IP type for the node pool's nodes: dynamic, static, or none.
  - `reservation_id` string, required — ID of the billing reservation associated with the node pool.
  - `state` string, required — Current state of the node pool.
  - `subnet_id` string, required — ID of the subnet the node pool belongs to.
  - `type` string, required — VM type of the node pool.
  - `updated_at` string, required — Last update timestamp of the node pool, in RFC3339 format.

## Other responses

- `401` — Error Authentication Failed
- `500` — Error Internal Server

---

[API](https://skmtc.dev/crusoecloud/apis/crusoe-cloud-api-gateway.md) · [All operations](https://skmtc.dev/crusoecloud/apis/crusoe-cloud-api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/crusoecloud/crusoe-cloud-api-gateway/revisions/a3fd2dedc72b/schema)
