Nodes API
List Kubernetes nodes and get per-node time-series metrics including CPU, memory, capacity, allocatable resources, and cost data via the Kubeadapt API.
Node endpoints return infrastructure details, capacity, and time-series utilization metrics for the nodes in your clusters.
Required scope: nodes:read
List Nodes
text
GET /v1/nodesReturns a paginated list of nodes across your organization.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
cluster_id | string | Filter by cluster ID | |
node_group | string | Filter by node group name | |
limit | integer | 100 | Number of results to return (1 to 500) |
offset | integer | 0 | Number of results to skip |
Example Request
bash
curl -H "Authorization: Bearer ka_your_api_key" \
"https://public-api.kubeadapt.io/v1/nodes?cluster_id=cls-abc123&limit=20"Example Response
json
{
"nodes": [
{
"id": "nd-node01",
"node_uid": "3a7b36c9-9438-4643-9a82-2659c285994a",
"cluster_id": "cls-abc123",
"cluster_name": "prod-us-east",
"node_name": "ip-10-0-1-100.ec2.internal",
"instance_type": "m5.xlarge",
"node_group": "general-purpose",
"availability_zone": "us-east-1a",
"is_ready": true,
"is_schedulable": true,
"cpu_capacity": 4.0,
"cpu_allocatable": 3.92,
"memory_capacity_gb": 16.0,
"memory_allocatable_gb": 15.2,
"pods_capacity": 58,
"pods_allocatable": 58,
"hourly_cost": 0.192,
"spot_instance": false,
"pod_count": 12,
"monthly_cost": 140.16
}
],
"total": 10
}Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Node identifier (PostgreSQL UUID) |
node_uid | string | Kubernetes node UID — use this for metrics calls |
cluster_id | string | Cluster this node belongs to |
cluster_name | string | Cluster display name |
node_name | string | Kubernetes node name |
instance_type | string | Cloud instance type |
node_group | string | Node group or autoscaling group name |
availability_zone | string | Cloud availability zone |
is_ready | boolean | Whether the node is in Ready state |
is_schedulable | boolean | Whether the node accepts new pods |
cpu_capacity | float | Total CPU cores |
cpu_allocatable | float | Allocatable CPU cores (after system reservation) |
memory_capacity_gb | float | Total memory in GB |
memory_allocatable_gb | float | Allocatable memory in GB |
pods_capacity | integer | Maximum pod capacity |
pods_allocatable | integer | Allocatable pod slots |
hourly_cost | float | Estimated hourly cost in USD |
spot_instance | boolean | Whether this is a spot or preemptible instance |
pod_count | integer | Current number of pods running on this node |
monthly_cost | float | Estimated monthly cost in USD |
Node Metrics
text
GET /v1/nodes/{node_uid}/metricsReturns time-series CPU and memory utilization for a specific node.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
node_uid | string | Yes | Node UID |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
cluster_id | string | Required. The cluster the node belongs to | |
timeframe | string | 24h | Time window. Valid values: 1h, 24h, 7d, 30d, 90d, 360d |
Example Request
bash
curl -H "Authorization: Bearer ka_your_api_key" \
"https://public-api.kubeadapt.io/v1/nodes/nd-node01/metrics?cluster_id=cls-abc123&timeframe=7d"Example Response
json
{
"node_uid": "nd-node01",
"cluster_id": "cls-abc123",
"timeframe": "7d",
"data_points": [
{
"timestamp": "2026-03-10T00:00:00Z",
"cpu_usage": 1.82,
"cpu_capacity": 4.0,
"memory_usage_bytes": 8589934592,
"memory_capacity_bytes": 17179869184,
"cpu_usage_percent": 45.5,
"memory_usage_percent": 50.0
},
{
"timestamp": "2026-03-10T01:00:00Z",
"cpu_usage": 1.96,
"cpu_capacity": 4.0,
"memory_usage_bytes": 8858370048,
"memory_capacity_bytes": 17179869184,
"cpu_usage_percent": 49.0,
"memory_usage_percent": 51.6
}
]
}Related
- Node Groups - Autoscaling group and node pool data
- Clusters - Cluster-level cost data
- Workloads - Workload distribution across nodes