curl --request PUT \ --url 'https://api.e2enetworks.com/myaccount/api/v1/gpu/tenant_clusters/{tenant_cluster_id}/node-pools/{node_pool_id}/config/?project_id=<PROJECT_ID>&location=<LOCATION>&apikey=<API_KEY>' \ --header 'Authorization: Bearer <API_TOKEN>' \ --header 'Content-Type: application/json' \ --data '{ "labels": [ { "key": "team", "value": "ml" } ], "taints": [ { "key": "dedicated", "value": "training", "effect": "NoSchedule" } ]}'import requests
response = requests.put( "https://api.e2enetworks.com/myaccount/api/v1/gpu/tenant_clusters/{tenant_cluster_id}/node-pools/{node_pool_id}/config/", params={"project_id": "<PROJECT_ID>", "location": "<LOCATION>", "apikey": "<API_KEY>"}, headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "labels": [ { "key": "team", "value": "ml", }, ], "taints": [ { "key": "dedicated", "value": "training", "effect": "NoSchedule", }, ], },)print(response.json())const url = new URL("https://api.e2enetworks.com/myaccount/api/v1/gpu/tenant_clusters/{tenant_cluster_id}/node-pools/{node_pool_id}/config/");url.search = new URLSearchParams({ project_id: "<PROJECT_ID>", location: "<LOCATION>", apikey: "<API_KEY>" });
const response = await fetch(url, { method: "PUT", headers: { "Authorization": "Bearer <API_TOKEN>", "Content-Type": "application/json" }, body: JSON.stringify({ "labels": [ { "key": "team", "value": "ml" } ], "taints": [ { "key": "dedicated", "value": "training", "effect": "NoSchedule" } ] }),});console.log(await response.json());Replaces a worker pool’s node labels and taints. Send both lists: a list you leave out is cleared. The changes apply to the pool’s existing nodes in place, and no node is replaced; running pods are affected only by NoExecute taints.
The pool must be ready, and the cluster ready or worker_joined. Pods use the full key, for example a nodeSelector of node.e2enetworks.com/team: ml.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Kubernetes cluster ID, as returned by List Kubernetes Clusters.
Worker node pool ID, from the cluster’s node_pools list.
Query Parameters
Section titled “Query Parameters”Project ID
Active IAM ID (To access contact person account) Find your Active IAM ID here
Location
Request Bodyrequired
Section titled “Request Bodyrequired”object
The pool’s labels. Keys must be unique.
object
The key without the node.e2enetworks.com/ prefix, which the platform adds. Up to 63 letters, numbers, -, _, or ., starting and ending with a letter or number.
Required. The same characters as the key.
The pool’s taints. Each key and effect pair must be unique.
object
The key without the node.e2enetworks.com/ prefix, which the platform adds. Up to 63 letters, numbers, -, _, or ., starting and ending with a letter or number.
May be empty.
NoExecute evicts running pods that do not tolerate the taint.
Example
{ "labels": [ { "key": "team", "value": "ml" } ], "taints": [ { "key": "dedicated", "value": "training", "effect": "NoSchedule" } ]}Responses
Section titled “Responses”The labels and taints are updated.
object
object
resizing while the pool moves to a new fixed size, scaling while its autoscaler changes the node count.
The node count the pool is set to.
The pool’s nodes that are up and ready.
object
The key without the node.e2enetworks.com/ prefix, which the platform adds. Up to 63 letters, numbers, -, _, or ., starting and ending with a letter or number.
Required. The same characters as the key.
object
The key without the node.e2enetworks.com/ prefix, which the platform adds. Up to 63 letters, numbers, -, _, or ., starting and ending with a letter or number.
May be empty.
NoExecute evicts running pods that do not tolerate the taint.
The computing resource and pricing plan a node pool runs on.
object
object
object
hourly or committed.
Set only for a pool on a committed plan.
object
The computing resource and pricing plan a node pool runs on.
object
object
object
hourly or committed.
The pool’s size bounds. A min_replicas lower than max_replicas means the pool is autoscaled; equal values are a fixed size.
object
object
Example
{ "code": 200, "data": { "id": 22, "tenant_cluster_id": 103, "name": "app-workers", "role": "control_plane", "status": "queued", "replicas": 2, "ready_replicas": 2, "labels": [ { "key": "team", "value": "ml" } ], "taints": [ { "key": "dedicated", "value": "gpu", "effect": "NoSchedule" } ], "sku_details": { "specs": { "sku_id": 101, "name": "C3.8GB", "series": "CPU", "cpu": 4, "memory": 8 }, "plan": { "sku_item_price_id": 1001, "sku_type": "hourly", "committed_days": 0, "unit_price": 4.5, "currency": "INR" } }, "committed_info": { "updation_policy": "auto_renew", "next_sku_item_price": { "specs": { "sku_id": 101, "name": "C3.8GB", "series": "CPU", "cpu": 4, "memory": 8 }, "plan": { "sku_item_price_id": 1001, "sku_type": "hourly", "committed_days": 0, "unit_price": 4.5, "currency": "INR" } }, "end_date": "2026-11-20T10:15:00Z" }, "autoscaling": { "min_replicas": 2, "max_replicas": 2 }, "created_at": "2026-10-20T10:15:00Z", "updated_at": "2026-10-20T10:42:00Z" }, "errors": {}, "message": "Node pool labels and taints updated successfully"}