curl --request POST \ --url 'https://api.e2enetworks.com/myaccount/api/v1/gpu/tenant_clusters/{tenant_cluster_id}/node-pools/?project_id=<PROJECT_ID>&location=<LOCATION>&apikey=<API_KEY>' \ --header 'Authorization: Bearer <API_TOKEN>' \ --header 'Content-Type: application/json' \ --data '{ "name": "string", "sku_id": 0, "sku_item_price_id": 0, "replicas": 0, "committed_instance_policy": "auto_renew", "next_sku_item_price_id": 0, "labels": [ { "key": "team", "value": "ml" } ], "taints": [ { "key": "dedicated", "value": "gpu", "effect": "NoSchedule" } ]}'import requests
response = requests.post( "https://api.e2enetworks.com/myaccount/api/v1/gpu/tenant_clusters/{tenant_cluster_id}/node-pools/", params={"project_id": "<PROJECT_ID>", "location": "<LOCATION>", "apikey": "<API_KEY>"}, headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "name": "string", "sku_id": 0, "sku_item_price_id": 0, "replicas": 0, "committed_instance_policy": "auto_renew", "next_sku_item_price_id": 0, "labels": [ { "key": "team", "value": "ml", }, ], "taints": [ { "key": "dedicated", "value": "gpu", "effect": "NoSchedule", }, ], },)print(response.json())const url = new URL("https://api.e2enetworks.com/myaccount/api/v1/gpu/tenant_clusters/{tenant_cluster_id}/node-pools/");url.search = new URLSearchParams({ project_id: "<PROJECT_ID>", location: "<LOCATION>", apikey: "<API_KEY>" });
const response = await fetch(url, { method: "POST", headers: { "Authorization": "Bearer <API_TOKEN>", "Content-Type": "application/json" }, body: JSON.stringify({ "name": "string", "sku_id": 0, "sku_item_price_id": 0, "replicas": 0, "committed_instance_policy": "auto_renew", "next_sku_item_price_id": 0, "labels": [ { "key": "team", "value": "ml" } ], "taints": [ { "key": "dedicated", "value": "gpu", "effect": "NoSchedule" } ] }),});console.log(await response.json());Adds a worker node pool to a cluster that is ready or worker_joined. The pool starts queued, and a ready cluster moves to worker_joining while the new nodes join.
The name must be unique among the cluster’s pools, ignoring case; a deleted pool’s name can be used again. Credit and free stock are checked as they are when you create a cluster, and a committed plan charges its whole term upfront.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Kubernetes cluster ID, as returned by List Kubernetes Clusters.
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
Lowercase letters, numbers, and hyphens, starting and ending with a letter or number; unique in the cluster, ignoring case.
The computing resource for this pool’s nodes.
An hourly or committed plan of that resource, in this region.
Node count.
Required when the plan is committed. What happens when the term ends.
Required with a committed plan: a committed plan of the same resource with auto_renew, or an hourly one with convert_to_hourly_billing.
Node labels for this pool. 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.
Example
teamRequired. The same characters as the key.
Example
mlNode taints for this pool. 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.
Example
dedicatedMay be empty.
Example
gpuNoExecute evicts running pods that do not tolerate the taint.
Example
NoScheduleResponses
Section titled “Responses”The pool is queued for creation.
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": 201, "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 creation queued successfully"}