Skip to main content
POST
/
cluster
/
create
Create a new cluster
curl --request POST \
  --url https://api.example.com/cluster/create \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "instance_type": "<string>",
  "public_keys": [],
  "num_nodes": 1,
  "tp_cluster_name": "<string>",
  "experimental_container": "<string>",
  "deletion_protection": false,
  "save_keys": true
}
'
{
  "cluster_id": "<string>",
  "message": "<string>",
  "instance_ids": [
    "<string>"
  ],
  "request_id": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Request body for POST /cluster/create.

instance_type
string
required

GPU instance type (e.g., '1xH100', '8xH100', '1xH200', '8xH200', '8xB200'). See https://docs.tensorpool.dev/resources/instance-types

public_keys
string[] | null

SSH public keys to add to cluster nodes. Combined with user and org saved keys.

num_nodes
integer | null
default:1

Number of nodes in the cluster

Required range: x >= 1
tp_cluster_name
string | null

Custom name for the cluster

experimental_container
string | null

Experimental container image override for cluster provisioning.

deletion_protection
boolean | null
default:false

Enable deletion protection

save_keys
boolean
default:true

Save new SSH keys to user profile

Response

Cluster creation initiated

Response for POST /cluster/create.

cluster_id
string
required

TensorPool cluster ID

message
string
required

Status message

instance_ids
string[]

List of instance IDs

request_id
string | null

Request ID for tracking