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.
Request
- Base URLhttps://api.emma.ms/external
- AuthHTTP bearer
Path parameters
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
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.