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

# Get Kubernetes cluster by id

`GET /v1/kubernetes/{kubernetesId}`

## Request

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

Returns a Managed Kubernetes cluster by cluster ID.

## Path parameters

- `kubernetesId` integer, required

## Query parameters

- `projectId` integer

## Response `200`

Successful operation

- KubernetesGetResponse
  - `id` integer: ID of the Kubernetes cluster
  - `createdAt` string: Date and time of the Kubernetes cluster creation
  - `createdById` integer: ID of the user who created the Kubernetes cluster
  - `createdByName` string: Name of the user who created the Kubernetes cluster
  - `modifiedAt` string: Date and time when the Kubernetes cluster was last edited
  - `modifiedByName` string: Name of the user who last edited the Kubernetes cluster
  - `modifiedById` integer: ID of the user who last edited the Kubernetes cluster
  - `name` string: Name of the Kubernetes cluster
  - `version` string: Version of the Kubernetes cluster
  - `deploymentLocation` 'eu' | 'us': Deployment region of the Kubernetes cluster
  - `k8sConnectionType` 'direct_connect' | 'internet_connect': Kubernetes connection type
  - `domainName` string, nullable: Domain attached to the Kubernetes cluster
  - `status` string: Status of the Kubernetes cluster
  - `controlPlaneStatus` 'CREATING' | 'ACTIVE' | 'UPDATING' | 'DEGRADED' | 'UNHEALTHY' | 'FAILED' | 'DESTRUCTION': Control plane status
  - `cost` object: Total cost of the Kubernetes cluster for the period
    - `unit` string: Cost period
    - `currency` string: Currency of the cost
    - `price` number: Cost for the period
  - `nodeGroups` object[]: List of the worker node groups
    - `name` string: Name of the worker node group
    - `nodes` object[]: List of the worker nodes
      - `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` number: 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
    - `status` 'CREATING' | 'ACTIVE' | 'SCALING_UP' | 'SCALING_DOWN' | 'READY' | 'UNHEALTHY' | 'DESTRUCTION', nullable: Node group (ASG) runtime status. Null for static (non-autoscaling) node groups.
    - `scalingPolicy` 'ENABLED' | 'SCALE_UP_ONLY' | 'SCALE_DOWN_ONLY' | 'DISABLED', nullable: Autoscaling policy applied to the node group. Null for static node groups.
  - `autoscalingConfigs` object[], nullable: Configurations of the autoscaling group
    - `groupName` string: Name of the autoscaling group
    - `dataCenterId` string: ID of the data center
    - `minimumNodes` integer, nullable: Minimum number of nodes. Required when using node-count based autoscaling. Must be null if `minimumVCpus` is set.
    - `maximumNodes` integer, nullable: Maximum number of nodes.Required when using node-count based autoscaling. Must be null if `maximumVCpus` is set.
    - `targetNodes` integer, nullable: Target number of nodes. Required when using node-count based autoscaling. Must be null if `targetVCpus` is set.
    - `minimumVCpus` integer, nullable: Minimum number of vCPUs. Required when using vCPU-count based autoscaling. Must be null if `minimumNodes` is set.
    - `maximumVCpus` integer, nullable: Maximum number of vCPUs. Required when using vCPU-count based autoscaling. Must be null if `maximumNodes` is set.
    - `targetVCpus` integer, nullable: Target number of vCPUs. Required when using vCPU-count based autoscaling. Must be null if `targetNodes` is set.
    - `minOnDemandCount` integer, nullable: Minimum guaranteed number of on-demand (non-spot) units in the group — nodes for node-count scaling, vCPUs for vCPU-count scaling. Allowed range is 0..maximum. It constrains the composition of the existing nodes, not the group size. Defaults to 0 (or to the deprecated target field when provided).
    - `nodeGroupPriceLimit` number, nullable: Price limit of the autoscaling group
    - `useOnDemandInstancesInsteadOfSpots` boolean: Use on-demand compute instances instead of spot compute instances
    - `spotPercent` integer: Percentage of spot instances in the autoscaling group
    - `spotMarkup` number: Extra markup to the spot instance price
    - `userLabels` object[], nullable: ASG labels applied to nodes created by this autoscaling group
      - `key` string, required: ASG label key
      - `value` string, required: ASG label value. Required and non-nullable; empty string is allowed.
    - `configurationPriorities` object[]: Compute instance configurations with priorities
      - `vCpuType` 'shared' | 'standard' | 'hpc': Type of the virtual Central Processing Unit (vCPU)
      - `vCpu` integer: Number of virtual Central Processing Units (vCPUs)
      - `ramGb` integer: Capacity of the RAM in gigabytes
      - `volumeGb` integer: Capacity of the volume in gigabytes
      - `volumeType` 'ssd' | 'ssd-plus': Volume type
      - `priority` 'high' | 'med' | 'low': Configuration priority
    - `limitsNotice` string, nullable: Limits notice message

## 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)
