Skip to content

Create Training Cluster

POST
/distributed_jobs_v2/cluster/
curl --request POST \
--url 'https://api.e2enetworks.com/myaccount/api/v1/gpu/distributed_jobs_v2/cluster/?project_id=<PROJECT_ID>&location=<LOCATION>&apikey=<API_KEY>' \
--header 'Authorization: Bearer <API_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
"name": "string",
"image_version_id": 0,
"ssh_key_ids": [
0
],
"security_group_id": 0,
"script_added": false,
"lifecycle_script": "string",
"sfs_mount_list": [
{
"id": 0,
"name": "string",
"mount_path": "string"
}
],
"pfs_mount_list": [
{}
],
"dataset_mount_list": [
{}
],
"sku_id": 0,
"no_of_nodes": 0,
"sku_item_price_id": 0
}'
project_id
required
integer

Project ID

active_iam
integer

Active IAM ID (To access contact person account) Find your Active IAM ID here

location
required
string
Allowed values: Delhi Chennai

Location

Media typeapplication/json
object
name
required

Name of the training cluster.

string
image_version_id
required

ID of the image version to use for cluster nodes (Ubuntu Slurm or NeMo).

integer
ssh_key_ids
required

List of SSH key IDs to attach to the cluster login node.

Array<integer>
security_group_id
required

Security group ID controlling inbound and outbound traffic to cluster nodes.

integer
script_added

Whether a lifecycle script has been provided.

boolean
lifecycle_script

Script executed on each node after the cluster starts.

string
sfs_mount_list

Shared File System volumes to mount on cluster nodes.

Array<object>
object
id
integer
name
string
mount_path
string
pfs_mount_list

Parallel File System volumes to mount on cluster nodes.

Array<object>
object
dataset_mount_list

Read-only dataset volumes to mount on cluster nodes.

Array<object>
object
sku_id
required

SKU ID for the cluster node type.

integer
no_of_nodes
required

Number of nodes in the cluster.

integer
sku_item_price_id
required

SKU item price ID for the cluster plan. This value is region-specific.

integer

Example generated

{
"name": "example",
"image_version_id": 1,
"ssh_key_ids": [
1
],
"security_group_id": 1,
"script_added": true,
"lifecycle_script": "example",
"sfs_mount_list": [
{
"id": 1,
"name": "example",
"mount_path": "example"
}
],
"pfs_mount_list": [
{}
],
"dataset_mount_list": [
{}
],
"sku_id": 1,
"no_of_nodes": 1,
"sku_item_price_id": 1
}

Cluster created successfully.

Media typeapplication/json
object
code
integer
data
object
id
integer
name
string
created_by
object
id
integer
name
string
email
string
username
string
is_primary_contact
boolean
currency
string
is_suspended
boolean
no_of_nodes
integer
created_at
string format: date-time
private_cloud_id
integer
nullable
private_cloud_name
string
nullable
sku_details
object
specs
object
sku_id
integer
name
string
series
string
cpu
integer
gpu
integer
memory
integer
ephemeral_storage
integer
gpu_memory
integer
is_free
boolean
is_active
boolean
local_storage_in_gb
integer
sku_type
string
gpu_card_type
string
nullable
category
string
variant
string
no_of_nodes
integer
plan
object
sku_item_price_id
integer
sku_type
string
Allowed values: hourly committed
committed_days
integer
unit_price
number
currency
string
is_active
boolean
description
string
nullable
location
string
total_gpu
integer
total_cpu
integer
total_memory
string
available_gpu
integer
available_cpu
integer
available_memory
string
worker_nodes
Array<object>
object
has_local_storage
boolean
local_storage_per_node
integer
nullable
status
string
image_pull_policy
string
image_version
object
id
integer
version
string
description
string
tags
Array<string>
name
string
slug_name
string
framework
string
is_internal
boolean
ssh_keys
Array<object>
object
pk
integer
label
string
ssh_key
string
ssh_public_ip
string
has_floating_ip
boolean
reserve_ip
Array<object>
object
clone_data
object
name
string
image_version_id
integer
ssh_key_ids
Array<integer>
security_group_id
integer
script_added
boolean
lifecycle_script
string
sfs_mount_list
Array<object>
object
id
integer
name
string
mount_path
string
pfs_mount_list
Array<object>
object
dataset_mount_list
Array<object>
object
sku_id
integer
no_of_nodes
integer
sku_item_price_id
integer
project_id
integer
errors
object
message
string

Example

{
"code": 201,
"data": {
"id": 101,
"name": "training-cluster-010125103045",
"created_by": {
"id": 1001,
"name": "John Doe",
"email": "user@example.com",
"username": "user@example.com",
"is_primary_contact": true,
"currency": "INR",
"is_suspended": false
},
"no_of_nodes": 1,
"created_at": "2025-01-15T10:30:00Z",
"private_cloud_id": null,
"private_cloud_name": null,
"sku_details": {
"specs": {
"sku_id": 139,
"name": "C3.32GB",
"series": "CPU",
"cpu": 8,
"gpu": 0,
"memory": 32,
"ephemeral_storage": 0,
"gpu_memory": 0,
"is_free": false,
"is_active": true,
"local_storage_in_gb": 0,
"sku_type": "C3-250GB",
"gpu_card_type": null,
"category": "distributed_job",
"variant": "e2e",
"no_of_nodes": 1
},
"plan": {
"sku_item_price_id": 645,
"sku_type": "hourly",
"committed_days": 0,
"unit_price": 12.3,
"currency": "INR",
"is_active": true,
"description": null,
"location": "Delhi"
}
},
"total_gpu": 0,
"total_cpu": 0,
"total_memory": "0 GB",
"available_gpu": 0,
"available_cpu": 0,
"available_memory": "0 GB",
"worker_nodes": [],
"has_local_storage": false,
"local_storage_per_node": null,
"status": "Creating",
"image_pull_policy": "IfNotPresent",
"image_version": {
"id": 2,
"version": "v2-slurm25.11-ubuntu24.04",
"description": "",
"tags": [],
"name": "Ubuntu Slurm",
"slug_name": "ubuntu-slurm",
"framework": "Slurm",
"is_internal": false
},
"ssh_keys": [
{
"pk": 1001,
"label": "my-ssh-key",
"ssh_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAB... user@example.com"
}
],
"ssh_public_ip": "",
"has_floating_ip": true,
"reserve_ip": [],
"clone_data": {
"name": "training-cluster-010125103045",
"image_version_id": 2,
"ssh_key_ids": [
1001
],
"security_group_id": 1001,
"script_added": false,
"lifecycle_script": "",
"sfs_mount_list": [],
"pfs_mount_list": [],
"dataset_mount_list": [],
"sku_id": 139,
"no_of_nodes": 1,
"sku_item_price_id": 645,
"project_id": 10001
}
},
"errors": {},
"message": "Cluster created successfully"
}

Bad request due to invalid parameters.

Media typeapplication/json
object
code
integer
errors
object
message
string

Example

{
"code": 400,
"errors": {
"sku_id": [
"This field is required."
]
},
"message": "Bad Request"
}

Unauthorized — missing or invalid API key.

Media typeapplication/json
object
code
integer
message
string

Example

{
"code": 401,
"message": "Unauthorized access."
}