Skip to content

Get a node pool

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

Organization UUID.

clusterID
required
string format: uuid

Cluster UUID.

poolID
required
string format: uuid

Node pool UUID.

The node pool.

Media typeapplication/json
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
Example
{
"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
status_url

The platform status page (https://status.aetherplatform.cloud). Present on 5xx answers written by the API’s error writer and on no other; absent, not null, on 4xx.

string format: uri
decline_code

The payment provider’s decline code. Present only on 402 payment_declined; it is its own field and is never folded into message.

string
invoice_id

Present on exactly these errors of the invoice pay and pay/confirm endpoints: 402 payment_declined, 402 payment_method_required, 409 invoice_already_paid, 409 invoice_not_issued, 409 invoice_below_minimum, 409 payment_not_in_flight, and 409 invoice_void when the void invoice was replaced. It is the id of the live invoice, which after a re-issue is the replacement and not the id in the request URL (on 409 invoice_void from pay/confirm it is the replacement’s id). Absent on every other error — 400 (including discount_code_invalid), 403, 404, the discount_* 409s, 409 invoice_void with no replacement (nothing live to name), every 5xx and 503 code — and never null.

string format: uuid
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
],
"status_url": "https://example.com",
"decline_code": "example",
"invoice_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}
}

Refused by the organization role policy (see Authorization in the API description). error.code is forbidden when the caller is not a member of the organization (or the API token belongs to another organization), insufficient_role when the caller’s organization role is below the operation’s minimum role, and token_not_permitted when the request was authenticated with an API token on an operation API tokens may not use (the API Tokens operations; the handler-gated operations named in the API description: deleting the organization, changing a member’s role or payment_mode, paying an invoice including its confirm step, and discounts; and for a cluster-pinned machine token every operation except the loadbalancer-ips and loadbalancer-vms operations). email_unverified when a portal user’s e-mail address is not verified (see Authentication).

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
status_url

The platform status page (https://status.aetherplatform.cloud). Present on 5xx answers written by the API’s error writer and on no other; absent, not null, on 4xx.

string format: uri
decline_code

The payment provider’s decline code. Present only on 402 payment_declined; it is its own field and is never folded into message.

string
invoice_id

Present on exactly these errors of the invoice pay and pay/confirm endpoints: 402 payment_declined, 402 payment_method_required, 409 invoice_already_paid, 409 invoice_not_issued, 409 invoice_below_minimum, 409 payment_not_in_flight, and 409 invoice_void when the void invoice was replaced. It is the id of the live invoice, which after a re-issue is the replacement and not the id in the request URL (on 409 invoice_void from pay/confirm it is the replacement’s id). Absent on every other error — 400 (including discount_code_invalid), 403, 404, the discount_* 409s, 409 invoice_void with no replacement (nothing live to name), every 5xx and 503 code — and never null.

string format: uuid
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
],
"status_url": "https://example.com",
"decline_code": "example",
"invoice_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}
}

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
status_url

The platform status page (https://status.aetherplatform.cloud). Present on 5xx answers written by the API’s error writer and on no other; absent, not null, on 4xx.

string format: uri
decline_code

The payment provider’s decline code. Present only on 402 payment_declined; it is its own field and is never folded into message.

string
invoice_id

Present on exactly these errors of the invoice pay and pay/confirm endpoints: 402 payment_declined, 402 payment_method_required, 409 invoice_already_paid, 409 invoice_not_issued, 409 invoice_below_minimum, 409 payment_not_in_flight, and 409 invoice_void when the void invoice was replaced. It is the id of the live invoice, which after a re-issue is the replacement and not the id in the request URL (on 409 invoice_void from pay/confirm it is the replacement’s id). Absent on every other error — 400 (including discount_code_invalid), 403, 404, the discount_* 409s, 409 invoice_void with no replacement (nothing live to name), every 5xx and 503 code — and never null.

string format: uuid
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
],
"status_url": "https://example.com",
"decline_code": "example",
"invoice_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}
}