Skip to content

List node pools

GET
/api/v1/organizations/{orgID}/clusters/{clusterID}/nodepools
curl --request GET \
--url 'https://api.aetherplatform.cloud/api/v1/organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/clusters/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/nodepools?limit=50' \
--header 'Authorization: Bearer <token>'
orgID
required
string format: uuid

Organization UUID.

clusterID
required
string format: uuid

Cluster UUID.

cursor
string format: uuid

Opaque cursor (a UUID) for pagination; pass back the prior page’s next_cursor.

limit
integer
default: 50 >= 1 <= 100

Maximum number of items per page (1-100, default 50).

A page of node pools.

Media typeapplication/json
object
items
required
Array<object>
object
id
required
string format: uuid
cluster_id
required
string format: uuid
name
required
string
vcpus
required
integer
memory_gb
required
integer
disk_gb
required
integer
min_nodes
required
integer
max_nodes
required
integer
desired_nodes
required
integer
min_vcpus

Optional per-pool CPU autoscaling budget (total pool vCPUs); max > min ⇒ autoscaling. A non-zero minimum must cover at least one node; set BOTH min_vcpus and min_memory_gb to 0 (with the maxima set) to let the pool scale to zero nodes.

integer
max_vcpus

Optional per-pool CPU autoscaling budget (total pool vCPUs); max > min ⇒ autoscaling.

integer
min_memory_gb

Optional per-pool memory autoscaling budget (total pool GB); max > min ⇒ autoscaling. A non-zero minimum must cover at least one node; set BOTH min_vcpus and min_memory_gb to 0 (with the maxima set) to let the pool scale to zero nodes.

integer
max_memory_gb

Optional per-pool memory autoscaling budget (total pool GB); max > min ⇒ autoscaling.

integer
node_labels

Labels applied to the pool’s nodes at bootstrap.

object
key
additional properties
string
node_taints

Taints applied to the pool’s nodes at bootstrap (set at create; immutable).

Array<object>
object
key
required
string
value
string
effect
required
string
Allowed values: NoSchedule PreferNoSchedule NoExecute
drain_timeout_seconds

How long the platform drains a node in this pool before deleting it anyway. Omitted when the pool has none configured, which means the platform default of 600s applies (and keeps applying if that default changes).

integer
>= 30 <= 3600
scale_down_delay_seconds

How long a node in this pool must stay underutilised before the autoscaler removes it. Omitted when the pool has none configured, which means the platform default of 600s applies (and keeps applying if that default changes). Acts on the scale-down DECISION; drain_timeout_seconds bounds the removal once it is decided. Only autoscaling pools have an autoscaler node group, so on a fixed pool the value is stored and reported but has no effect.

integer
>= 60 <= 3600
scale_down_utilization_percent

A node counts as underutilised when its CPU and memory requests are both below this share of allocatable capacity. Omitted when the pool has none configured, which means the platform default of 50 applies.

integer
>= 10 <= 90
current_nodes
required
integer
first_ready_at
string | null format: date-time
status
required
string
Allowed values: provisioning ready scaling deleting failed
status_message
string | null
created_at
required
string format: date-time
updated_at
required
string format: date-time
next_cursor
string | null
Example
{
"items": [
{
"node_taints": [
{
"effect": "NoSchedule"
}
],
"status": "provisioning"
}
]
}

Missing or invalid credentials.

Media typeapplication/json
object
error
required
object
code
required

A stable, machine-readable error code.

string
message
required
string
details
Array<object>
object
field
required
string
code
required
string
message
required
string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}
}

The requested resource was not found.

Media typeapplication/json
object
error
required
object
code
required

A stable, machine-readable error code.

string
message
required
string
details
Array<object>
object
field
required
string
code
required
string
message
required
string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}
}