Skip to main content
POST
Python

Authorizations

Authorization
string
header
default:default
required

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

Body

application/json

GPU Cluster create request

region
string
required

Region to create the GPU cluster in. Usable regions can be found from client.clusters.list_regions()

gpu_type
enum<string>
required

Type of GPU to use in the cluster

Available options:
H100_SXM,
H200_SXM,
RTX_6000_PCI,
L40_PCIE,
B200_SXM,
H100_SXM_INF
num_gpus
integer
required

Number of GPUs to allocate in the cluster. This must be multiple of 8. For example, 8, 16 or 24

cluster_name
string
required

Name of the GPU cluster.

billing_type
enum<string>
required

RESERVED billing types allow you to specify the duration of the cluster reservation via the duration_days field. ON_DEMAND billing types will give you ownership of the cluster until you delete it. SCHEDULED_CAPACITY billing types allow you to reserve capacity for a scheduled time window. You must specify the reservation_start_time and reservation_end_time with this request.

Available options:
RESERVED,
ON_DEMAND,
SCHEDULED_CAPACITY
cuda_version
string
required

CUDA version for this cluster. For example, 12.5

nvidia_driver_version
string
required

Nvidia driver version for this cluster. For example, 550. Only some combination of cuda_version and nvidia_driver_version are supported.

cluster_type
enum<string>

Type of cluster to create.

Available options:
KUBERNETES,
SLURM
duration_days
integer

Duration in days to keep the cluster running.

shared_volume
object

Inline configuration to create a shared volume with the cluster creation.

volume_id
string

ID of an existing volume to use with the cluster creation.

auto_scaled
boolean
default:false
deprecated

Whether GPU cluster should be auto-scaled based on the workload. By default, it is not auto-scaled.

auto_scale_max_gpus
integer

Maximum number of GPUs to which the cluster can be auto-scaled up. This field is required if auto_scaled is true.

slurm_shm_size_gib
integer

Shared memory size in GiB for Slurm cluster. This field is required if cluster_type is SLURM.

capacity_pool_id
string

ID of the capacity pool to use for the cluster. This field is optional and only applicable if the cluster is created from a capacity pool.

reservation_start_time
string<date-time>

Reservation start time of the cluster. This field is required for SCHEDULED billing to specify the reservation start time for the cluster. If not provided, the cluster provisions immediately.

reservation_end_time
string<date-time>

Reservation end time of the cluster. This field is required for SCHEDULED billing to specify the reservation end time for the cluster.

install_traefik
boolean
default:false

Whether to install Traefik ingress controller in the cluster. This field is only applicable for Kubernetes clusters and is false by default.

slurm_image
string

Custom Slurm image for Slurm clusters.

oidc_config
object
project_id
string

Project ID for the cluster. If not set, the project from the request context is used.

acceptance_tests_params
object

AcceptanceTestsParams groups all GPU acceptance test options when enabled is true.

cluster_config
object
num_capacity_pool_gpus
integer

Number of GPUs to allocate from the capacity pool. Must be a multiple of 8 and not exceed num_gpus.

auto_scale
boolean

Whether to enable auto-scaling for the cluster. If true, the cluster will automatically scale the number of GPU worker nodes between num_gpus and auto_scale_max_gpus based on the workload.

num_preemptible_gpus
integer

Number of preemptible GPUs to request alongside on-demand capacity. Must be a multiple of 8. Preemptible nodes are cheaper but may be reclaimed when on-demand capacity is needed elsewhere; the system fulfills this asynchronously and surfaces the actual count in allocated_preemptible_gpus.

num_reserved_gpus
integer

Number of prepaid (PLG) reserved GPUs for this cluster. When omitted for RESERVED billing on create, the server defaults this to num_gpus.

add_ons
object[]

Add-ons to enable on the cluster at creation time.

Response

200 - application/json

OK

cluster_id
string
required
cluster_type
enum<string>
required

Type of cluster.

Available options:
KUBERNETES,
SLURM
region
string
required
gpu_type
enum<string>
required
Available options:
H100_SXM,
H200_SXM,
RTX_6000_PCI,
L40_PCIE,
B200_SXM,
H100_SXM_INF
cluster_name
string
required
volumes
object[]
required
status
enum<string>
required

Current status of the GPU cluster.

Available options:
WaitingForControlPlaneNodes,
WaitingForDataPlaneNodes,
WaitingForSubnet,
WaitingForSharedVolume,
InstallingDrivers,
RunningAcceptanceTests,
Paused,
OnDemandComputePaused,
Ready,
Degraded,
Deleting
control_plane_nodes
object[]
required
gpu_worker_nodes
object[]
required
kube_config
string
required
num_gpus
integer
required
cuda_version
string
required
nvidia_driver_version
string
required
project_id
string
required
num_cpu_workers
integer
required

Number of CPU-only worker nodes in the cluster.

phase_transitions
object[]
required

Cluster-level phase transition history.

desired_preemptible_gpus
integer
required

Customer's requested number of preemptible GPUs. Set on cluster create or update; persists until changed.

allocated_preemptible_gpus
integer
required

Actual number of preemptible GPUs currently allocated to the cluster. Updated asynchronously by the fulfillment and reclamation workers; may be less than desired_preemptible_gpus when capacity is constrained.

billing_type
enum<string>
required

Billing type for the cluster (RESERVED, ON_DEMAND, or SCHEDULED_CAPACITY).

Available options:
RESERVED,
ON_DEMAND,
SCHEDULED_CAPACITY
add_ons
object[]
required

Enabled add-ons on this cluster. Only add-ons with enabled=true in their config are returned.

num_capacity_pool_gpus
integer<int32>
required

Number of GPUs to draw from a capacity pool. A component of the overall num_gpus, alongside num_reserved_gpus.

num_reserved_gpus
integer<int32>
required

Number of prepaid reserved GPUs for this cluster. A component of the overall num_gpus, alongside num_capacity_pool_gpus.

duration_hours
integer
slurm_shm_size_gib
integer
capacity_pool_id
string
reservation_start_time
string<date-time>
reservation_end_time
string<date-time>
install_traefik
boolean
created_at
string<date-time>
oidc_config
object
cluster_config
object
machine_cluster_id
string

ID of the machine cluster backing this GPU cluster.

first_ready_at
string<date-time>

Timestamp when the cluster first reached the Ready phase.

is_in_substrate
boolean

Whether the cluster is managed inside a substrate environment.

control_plane_ready
boolean

Whether the control plane is currently ready.

ums_project_id
string

UMS project ID associated with this cluster.

ums_org_id
string

UMS organization ID associated with this cluster.

os_image
string

Data-volume image name for GPU worker nodes.

nvidia_driver_version_id
string

Internal NVIDIA version ID for this cluster's driver and CUDA combination.

deleted_gpu_worker_nodes
object[]

GPU worker nodes retained after they left the live data plane. These are separate from gpu_worker_nodes and must not be counted as live capacity.

node_lifecycle_events
object[]

Recent node lifecycle events such as scale-up, scale-down, and preemption. Combine these with live and deleted node lists to render the cluster timeline.