---
title: "Get Kubernetes cluster node by id"
method: GET
path: "/v1/kubernetes/{kubernetesId}/nodes/{nodeId}"
tags: ["Kubernetes clusters"]
---

# Get Kubernetes cluster node by id

`GET /v1/kubernetes/{kubernetesId}/nodes/{nodeId}`

## Request

- Base URL: `https://api.emma.ms/external`
- URL: `https://api.emma.ms/external/v1/kubernetes/{kubernetesId}/nodes/{nodeId}`
- Auth: HTTP bearer

Returns a single worker node of a Managed Kubernetes cluster. Use this method to poll the node status after adding nodes: a new node progresses through "PROVISIONING" and "JOINING" to the "ACTIVE" status.

## Path parameters

- `kubernetesId` integer, required
- `nodeId` integer, required

## Response `200`

Successful operation

- KubernetesNodeGetResponse
  - `id` integer: ID of the worker node
  - `createdAt` string: Date and time when the worker node was created
  - `name` string: Name of the worker node
  - `status` 'POWERED_ON' | 'POWERED_OFF' | 'BUSY' | 'DRAFT': Status of the worker node
  - `instanceType` 'on_demand' | 'spot': How the node's VM was purchased. A `spot` node is cheaper, but the provider may reclaim it at any time and the platform then recreates it. Absent when the purchase mode cannot be resolved — read that as `on_demand`.
  - `nodeStatus` 'PROVISIONING' | 'JOINING' | 'ACTIVE' | 'PENDING' | 'DELETING' | 'FAILED': Worker node lifecycle status
  - `provider` object: Cloud provider of the worker node
    - `id` integer: ID of the cloud provider of the worker node
    - `name` string: Name of the cloud provider of the worker node
  - `location` object: Geographic location where the worker node is deployed
    - `id` integer: Location ID of the worker node
    - `name` string: Location name of the worker node
    - `country` string: Country of the worker node location
    - `continent` string: Name of the geographical continent
    - `region` string: Name of the geographical region
    - `latitude` number, double: Approximate latitude of the geographical location
    - `longitude` number, double: Approximate longitude of the geographical location
  - `dataCenter` object: Data center where the worker node is deployed
    - `id` string: ID of the cloud provider's data center
    - `name` string: Name of the cloud provider's data center
    - `providerName` string: Name of the cloud provider
    - `providerId` integer: ID of the cloud provider
    - `locationId` integer: Location ID
    - `locationName` string: Location name
  - `os` object: Operating system
    - `id` integer: ID of the operating system
    - `family` string: Family of the operating system
    - `type` string: Type of the operating system
    - `architecture` string: Architecture of the operating system
    - `version` string: Version of the operating system
  - `cloudNetworkType` 'multi-cloud' | 'default': Type of the cloud network
  - `vCpuType` 'shared' | 'standard' | 'hpc': Type of the virtual Central Processing Unit
  - `vCpu` integer: Number of virtual Central Processing Units (vCPUs)
  - `ramGb` integer: Capacity of the RAM in gigabytes
  - `disks` object[]: Volumes attached
    - `id` integer: Volume ID
    - `name` string: Volume name
    - `sizeGb` integer: Volume size in gigabytes
    - `typeId` integer: ID of the volume type
    - `type` string: Volume type
    - `isBootable` boolean: Indicates whether the volume is bootable or not
    - `deviceIdentifier` string, nullable: Device identifier of the volume as seen by the operating system
  - `networks` object[]: Public and private networks
    - `id` integer: Network ID
    - `ip` string, nullable: Network IP. Null for nodes that have not yet received an IP address (e.g. PENDING or FAILED nodes).
    - `networkTypeId` integer: ID of the network type
    - `networkType` string: Network type
    - `ipVersion` string, nullable: IP version
  - `cost` object: Total cost of the worker node for the period
    - `unit` string: Period
    - `currency` string: Currency of the cost
    - `price` number: Cost for the period
  - `securityGroup` object, nullable: Security group of the worker node
    - `id` integer: ID of the security group
    - `name` string: Name of the security group
  - `accelerator` object, nullable: GPU accelerator
    - `acceleratorTypeId` string: GPU accelerator type ID
    - `acceleratorType` string: GPU accelerator type
    - `accelerators` integer: Quantity of GPU accelerators
    - `totalGpuMemoryGb` integer: Total GPU memory
  - `localDisks` object[], nullable: Local SSD storage directly attached to the host
    - `sizeTb` number: Volume size in TB
    - `typeId` integer, nullable: ID of the volume type
    - `type` string: Volume type

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `500`: Internal server error

---

[API](https://skmtc.dev/emma/apis/public-emma-api.md) - [All operations](https://skmtc.dev/emma/apis/public-emma-api/llms.txt) - [OpenAPI document](https://skmtc.dev/emma/apis/public-emma-api/revisions/9e55f0920078?raw)
