Kubernetes clusters

Edit Kubernetes cluster

The method for editing a Managed Kubernetes cluster enables you to delete and add new worker nodes and autoscaling groups, as well as change the settings of existing autoscaling groups. You can only edit a cluster when it is in "ACTIVE" status. To select hardware configurations for worker nodes, use the /v1/kubernetes-configs endpoint.

When editing a Kubernetes cluster, you can only add or delete worker nodes, but you cannot change the name or configuration of existing worker nodes. If you want to keep a node when editing a cluster, simply specify its ID in the 'workerNodes' object. All other fields in 'workerNodes' are ignored for existing nodes and are not required. If you want to delete a node, remove its ID.

When you create a new node, all fields in the 'workerNodes' object (except ID) are required. Do not add the ID field for a new node.

Please note that the spotMarkup field is ignored for the GCP provider.

If workerNodes is not provided, at least one autoscaling group must have minimumNodes >= 1.

When you delete an autoscaling group with existing worker nodes, the worker nodes are also deleted.

During the changes, the cluster status will change to "UPDATING." Nodes undergoing changes will be displayed with a "PROVISIONING", "JOINING" status. When the changes are successfully applied, the cluster will transition back to the "ACTIVE" status, and the nodes will be in the "ACTIVE" status.

put/v1/kubernetes/{kubernetesId}

Request

  • Base URL
    https://api.emma.ms/external
  • Auth
    HTTP bearer

Path parameters

kubernetesIdinteger required

ID of the Kubernetes cluster

Request body

Example request

{
  "workerNodes": [
    {
      "id": 108380,
      "name": "lsydyf-node",
      "dataCenterId": "gcp-europe-west4-a",
      "vCpuType": "standard",
      "vCpu": 4,
      "ramGb": 16,
      "volumeType": "ssd",
      "volumeGb": 32,
      "acceleratorTypeId": "7bf9d828-e3e8-496f-9901-9045640bb287",
      "accelerators": 1,
      "instanceType": "on_demand"
    }
  ],
  "autoscalingConfigs": [
    {
      "groupName": "autonodegroup",
      "dataCenterId": "gcp-europe-west1-b",
      "minimumNodes": 1,
      "maximumNodes": 2,
      "targetNodes": 1,
      "minOnDemandCount": 1,
      "nodeGroupPriceLimit": 50,
      "useOnDemandInstancesInsteadOfSpots": true,
      "spotPercent": 50,
      "spotMarkup": 5,
      "userLabels": [
        {
          "key": "workload",
          "value": "batch"
        }
      ],
      "configurationPriorities": [
        {
          "vCpuType": "shared",
          "vCpu": 2,
          "ramGb": 4,
          "volumeGb": 16,
          "volumeType": "ssd",
          "priority": "high"
        }
      ]
    }
  ]
}

Response

Successful operation

idinteger required

Kubernetes cluster ID

createdAtstring date-time required

Cluster creation date and time

createdByIdinteger required

ID of the user who created the cluster

createdByNamestring required

Name of the user who created the cluster

modifiedAtstring date-time required

Cluster last modification date and time

modifiedByNamestring required

Name of the user who last modified the cluster

modifiedByIdinteger required

ID of the user who last modified the cluster

namestring required

Cluster name

versionstring required

Kubernetes version

deploymentLocationstring required

Deployment location

k8sConnectionType'direct_connect' | 'internet_connect' required

Kubernetes connection type

domainNamestring nullable

Cluster domain name

statusstring required

Cluster status

controlPlaneStatus'CREATING' | 'ACTIVE' | 'UPDATING' | 'DEGRADED' | 'UNHEALTHY' | 'FAILED' | 'DESTRUCTION' required

Control plane status

Example response

{
  "id": 108379,
  "createdAt": "2026-03-16T07:54:14.066",
  "createdById": 2394,
  "createdByName": "Automation User",
  "modifiedAt": "2026-03-16T08:09:34.354",
  "modifiedByName": "Automation User",
  "modifiedById": 2427,
  "name": "default-k8s-managed-cluster-name",
  "version": "1.35",
  "deploymentLocation": "eu",
  "k8sConnectionType": "direct_connect",
  "domainName": null,
  "status": "ENV_DEPLOYMENT",
  "controlPlaneStatus": "CREATING",
  "cost": {
    "unit": "MONTHS",
    "currency": "EUR",
    "price": 77.4160050040314
  },
  "nodeGroups": [
    {
      "name": "autonodegroup",
      "nodes": [
        {
          "id": 108406,
          "createdAt": "2026-03-16T09:21:45.235",
          "name": "pfpuyr-autonodegroup",
          "status": "DRAFT",
          "instanceType": "on_demand",
          "nodeStatus": "ACTIVE",
          "provider": {
            "id": 78,
            "name": "GCP"
          },
          "location": {
            "id": 77,
            "name": "St. Ghislain",
            "country": "Belgium",
            "continent": "Europe",
            "region": "EMEA",
            "latitude": 50.44816,
            "longitude": 3.81886
          },
          "dataCenter": {
            "id": "gcp-europe-west1-b",
            "name": "europe-west1-b",
            "providerName": "GCP",
            "providerId": 78,
            "locationId": 77,
            "locationName": "St. Ghislain"
          },
          "os": {
            "id": 48,
            "family": "Linux",
            "type": "Ubuntu",
            "architecture": "x86-64",
            "version": "24.04"
          },
          "cloudNetworkType": "multi-cloud",
          "vCpuType": "shared",
          "vCpu": 2,
          "ramGb": 4,
          "disks": [
            {
              "id": 108407,
              "name": "volume-bz0b1n",
              "sizeGb": 16,
              "typeId": 2,
              "type": "ssd",
              "isBootable": true
            }
          ],
          "networks": null,
          "cost": {
            "unit": "MONTHS",
            "currency": "EUR",
            "price": 38.708004
          },
          "securityGroup": null,
          "accelerator": null,
          "localDisks": null
        }
      ],
      "status": "CREATING",
      "scalingPolicy": "ENABLED"
    },
    {
      "name": "Nodes",
      "nodes": [
        {
          "id": 108380,
          "createdAt": "2026-03-16T07:54:14.085",
          "name": "lsydyf-node",
          "status": "DRAFT",
          "instanceType": "on_demand",
          "nodeStatus": "ACTIVE",
          "provider": {
            "id": 78,
            "name": "GCP"
          },
          "location": {
            "id": 77,
            "name": "St. Ghislain",
            "country": "Belgium",
            "continent": "Europe",
            "region": "EMEA",
            "latitude": 50.44816,
            "longitude": 3.81886
          },
          "dataCenter": {
            "id": "gcp-europe-west1-b",
            "name": "europe-west1-b",
            "providerName": "GCP",
            "providerId": 78,
            "locationId": 77,
            "locationName": "St. Ghislain"
          },
          "os": {
            "id": 48,
            "family": "Linux",
            "type": "Ubuntu",
            "architecture": "x86-64",
            "version": "24.04"
          },
          "cloudNetworkType": "multi-cloud",
          "vCpuType": "shared",
          "vCpu": 2,
          "ramGb": 4,
          "disks": [
            {
              "id": 108381,
              "name": "volume-kivy61",
              "sizeGb": 16,
              "typeId": 2,
              "type": "ssd",
              "isBootable": true
            }
          ],
          "networks": null,
          "cost": {
            "unit": "MONTHS",
            "currency": "EUR",
            "price": 28257
          },
          "securityGroup": null,
          "accelerator": null,
          "localDisks": null
        }
      ],
      "status": "ACTIVE",
      "scalingPolicy": "SCALE_UP_ONLY"
    }
  ],
  "autoscalingConfigs": [
    {
      "groupName": "autonodegroup",
      "dataCenterId": "gcp-europe-west1-b",
      "minimumNodes": 1,
      "maximumNodes": 2,
      "targetNodes": 1,
      "minimumVCpus": 1,
      "maximumVCpus": null,
      "targetVCpus": null,
      "nodeGroupPriceLimit": 50,
      "useOnDemandInstancesInsteadOfSpots": true,
      "spotPercent": 50,
      "spotMarkup": 0,
      "userLabels": [
        {
          "key": "workload",
          "value": "batch"
        }
      ],
      "configurationPriorities": [
        {
          "vCpuType": "shared",
          "vCpu": 2,
          "ramGb": 4,
          "volumeGb": 16,
          "volumeType": "ssd",
          "priority": "high"
        }
      ],
      "limitsNotice": null
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.