Create a project
Authorizations:
Request Body schema: application/jsonrequired
Details of the project to create
| name required | string Name of the project |
object Tags for the project. Tag keys must be 1–63 characters, start and end with alphanumerics, and may include |
Responses
Request samples
- Payload
{- "name": "project-1",
- "tags": {
- "team": "ml-ops"
}
}Response samples
- 201
- 400
- 403
- 500
- 501
{- "id": "123e4567-e89b-12d3-a456-426614174003",
- "name": "project-1",
- "state": "active",
- "tags": {
- "team": "ml-ops"
}
}Create a machine instance
Authorizations:
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Request Body schema: application/jsonrequired
Details of the instance to create
| name required | string Name of the instance |
| type required | string Instance type |
| image | string Default: "image://ubuntu22.04" Operating system image for the instance |
| preemptible | boolean Default: false Whether the instance is preemptible |
| ephemeral | boolean Default: false Whether the instance is ephemeral |
| userData | string or null <byte> Default: null Base64-encoded cloud-init user data for instance initialization |
| filesystems | Array of strings <uuid> [ items <uuid > ] List of filesystem UUIDs attached to the instance |
object Tags for the instance. Tag keys must be 1–63 characters, start and end with alphanumerics, and may include |
Responses
Request samples
- Payload
{- "name": "instance-1",
- "type": "h100.8x",
- "image": "image://ubuntu22.04",
- "preemptible": false,
- "ephemeral": false,
- "userData": "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKICAtIG5naW54\n",
- "filesystems": [
- "123e4567-e89b-12d3-a456-426614174000",
- "123e4567-e89b-12d3-a456-426614174001"
], - "tags": {
- "environment": "production"
}
}Response samples
- 201
- 400
- 403
- 404
- 500
- 501
{- "id": "550e8400-e29b-41d4-a716-446655440000",
- "name": "instance-1",
- "type": "h100.8x",
- "ip": "10.0.0.2",
- "state": "running",
- "image": "ubuntu22.04",
- "preemptible": false,
- "ephemeral": false,
- "userData": "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKICAtIG5naW54\n",
- "filesystems": [
- "123e4567-e89b-12d3-a456-426614174000",
- "123e4567-e89b-12d3-a456-426614174001"
], - "tags": {
- "environment": "production"
}
}List all machine instances
Authorizations:
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 403
- 404
- 500
- 501
[- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "name": "instance-1",
- "type": "h100.8x",
- "ip": "10.0.0.2",
- "state": "running",
- "image": "ubuntu22.04",
- "preemptible": false,
- "ephemeral": false,
- "userData": "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKICAtIG5naW54\n",
- "filesystems": [
- "123e4567-e89b-12d3-a456-426614174000",
- "123e4567-e89b-12d3-a456-426614174001"
], - "tags": {
- "environment": "production"
}
}
]Get a machine instance
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the instance |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 403
- 404
- 500
- 501
{- "id": "550e8400-e29b-41d4-a716-446655440000",
- "name": "instance-1",
- "type": "h100.8x",
- "ip": "10.0.0.2",
- "state": "running",
- "image": "ubuntu22.04",
- "preemptible": false,
- "ephemeral": false,
- "userData": "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKICAtIG5naW54\n",
- "filesystems": [
- "123e4567-e89b-12d3-a456-426614174000",
- "123e4567-e89b-12d3-a456-426614174001"
], - "tags": {
- "environment": "production"
}
}Delete a machine instance
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the instance |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 403
- 404
- 500
- 501
{- "message": "string"
}Start a machine instance
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the instance |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 400
- 403
- 404
- 409
- 500
- 501
{- "message": "string"
}Stop a machine instance
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the instance |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 400
- 403
- 404
- 409
- 500
- 501
{- "message": "string"
}Create a filesystem
Authorizations:
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Request Body schema: application/jsonrequired
Details of the filesystem to create
| name required | string Name of the filesystem |
| size required | string Size of the filesystem in GB |
Responses
Request samples
- Payload
{- "name": "fs-1",
- "size": "512Gi"
}Response samples
- 201
- 400
- 403
- 500
- 501
{- "id": "123e4567-e89b-12d3-a456-426614174002",
- "name": "fs-1",
- "size": "512Gi"
}Get a filesystem
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the filesystem |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 403
- 404
- 500
- 501
{- "id": "123e4567-e89b-12d3-a456-426614174002",
- "name": "fs-1",
- "size": "512Gi"
}List all clusters
Authorizations:
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 403
- 500
- 501
[- {
- "id": "123e4567-e89b-12d3-a456-426614174003",
- "name": "cluster-01",
- "version": "1.32.1",
- "certificateAuthorityData": "string",
- "status": {
- "type": "READY",
- "details": { }
}
}
]Create a Kubernetes cluster
Authorizations:
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Request Body schema: application/jsonrequired
Details of the Kubernetes cluster to create
| name required | string The cluster name. |
| version required | string The cluster version. |
| podCIDRBlock required | string Default: "10.233.0.0/18" The CIDR block for pod IPs in the cluster. |
| serviceCIDRBlock required | string Default: "10.233.64.0/18" The CIDR block for service IPs in the cluster. |
object Definition of the default node pool for the cluster |
Responses
Request samples
- Payload
{- "name": "cluster-01",
- "version": "1.32.5",
- "podCIDRBlock": "10.233.0.0/18",
- "serviceCIDRBlock": "10.233.64.0/18",
- "defaultNodePool": {
- "create": true,
- "name": "default",
- "type": "cpu.4x",
- "count": 3
}
}Response samples
- 201
- 400
- 403
- 404
- 500
- 501
{- "id": "123e4567-e89b-12d3-a456-426614174003",
- "name": "cluster-01",
- "version": "1.32.1",
- "certificateAuthorityData": "string",
- "status": {
- "type": "READY",
- "details": { }
}
}Get a cluster
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the kubernetes cluster |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 400
- 403
- 404
- 500
- 501
{- "id": "123e4567-e89b-12d3-a456-426614174003",
- "name": "cluster-01",
- "version": "1.32.1",
- "certificateAuthorityData": "string",
- "status": {
- "type": "READY",
- "details": { }
}
}Update a Kubernetes cluster
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the kubernetes cluster to update |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Request Body schema: application/jsonrequired
Updated details of the Kubernetes cluster
| version | string^v([0-9]+)\.([0-9]+)(\.([0-9]+))?$ The new cluster version. |
Responses
Request samples
- Payload
{- "version": "v1.32.5"
}Response samples
- 200
- 400
- 403
- 404
- 500
- 501
{- "id": "123e4567-e89b-12d3-a456-426614174003",
- "name": "cluster-01",
- "version": "1.32.1",
- "certificateAuthorityData": "string",
- "status": {
- "type": "READY",
- "details": { }
}
}Delete a Kubernetes cluster
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the kubernetes cluster to delete |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 403
- 404
- 500
- 501
{- "message": "string"
}List all node pools for a cluster
Authorizations:
path Parameters
| cluster_id required | string <uuid> Unique identifier of the cluster |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 403
- 404
- 500
- 501
[- {
- "id": "123e4567-e89b-12d3-a456-426614174003",
- "name": "pool-01",
- "cluster": "cluster-01",
- "type": "h100.8x",
- "count": 3,
- "version": "1.32.1",
- "nodes": [
- {
- "name": "node-01",
- "instanceID": "64599b27-ad1f-4725-b964-9d44e66bdf9c",
- "state": "ready",
- "kubeletVersion": "v1.32.1",
- "createdAt": "2023-10-01T12:00:00Z",
- "publicIP": "203.0.113.1",
- "privateIP": "10.0.0.2",
- "conditions": [
- {
- "type": "Ready",
- "status": "True",
- "lastHeartbeatTime": "2023-10-01T12:00:00Z",
- "lastTransitionTime": "2023-10-01T12:00:00Z",
- "reason": "KubeletReady",
- "message": "Kubelet is ready"
}
], - "accelerator": {
- "type": "nvidia/gpu",
- "product": "NVIDIA-H100-80GB-HBM3",
- "driverVersion": "550.127.08"
}, - "labels": {
- "kubernetes.io/hostname": "node-01",
- "node-role.kubernetes.io/worker": ""
}, - "taints": [
- {
- "key": "nvidia.com/gpu",
- "value": "present",
- "effect": "NoSchedule"
}
]
}
]
}
]Get a node pool
Authorizations:
path Parameters
| cluster_id required | string <uuid> Unique identifier of the cluster |
| node_pool_id required | string <uuid> Unique identifier of the node pool |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 403
- 404
- 500
- 501
{- "id": "123e4567-e89b-12d3-a456-426614174003",
- "name": "pool-01",
- "cluster": "cluster-01",
- "type": "h100.8x",
- "count": 3,
- "version": "1.32.1",
- "nodes": [
- {
- "name": "node-01",
- "instanceID": "64599b27-ad1f-4725-b964-9d44e66bdf9c",
- "state": "ready",
- "kubeletVersion": "v1.32.1",
- "createdAt": "2023-10-01T12:00:00Z",
- "publicIP": "203.0.113.1",
- "privateIP": "10.0.0.2",
- "conditions": [
- {
- "type": "Ready",
- "status": "True",
- "lastHeartbeatTime": "2023-10-01T12:00:00Z",
- "lastTransitionTime": "2023-10-01T12:00:00Z",
- "reason": "KubeletReady",
- "message": "Kubelet is ready"
}
], - "accelerator": {
- "type": "nvidia/gpu",
- "product": "NVIDIA-H100-80GB-HBM3",
- "driverVersion": "550.127.08"
}, - "labels": {
- "kubernetes.io/hostname": "node-01",
- "node-role.kubernetes.io/worker": ""
}, - "taints": [
- {
- "key": "nvidia.com/gpu",
- "value": "present",
- "effect": "NoSchedule"
}
]
}
]
}Get kubeconfig credentials for a cluster
Authorizations:
path Parameters
| cluster_id required | string <uuid> Unique identifier of the kubernetes cluster |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 403
- 404
- 500
- 501
{- "message": "string"
}List all clusters
Authorizations:
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 403
- 500
- 501
[- {
- "id": "123e4567-e89b-12d3-a456-426614174003",
- "name": "cluster-01",
- "version": "24.05.6",
- "loginNodes": [
- {
- "name": "login-01",
- "publicIP": "203.0.113.0"
}
]
}
]Get a cluster
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the cluster |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 403
- 404
- 500
- 501
{- "id": "123e4567-e89b-12d3-a456-426614174003",
- "name": "cluster-01",
- "version": "24.05.6",
- "loginNodes": [
- {
- "name": "login-01",
- "publicIP": "203.0.113.0"
}
]
}List all node pools for a cluster
Authorizations:
path Parameters
| cluster_id required | string <uuid> Unique identifier of the cluster |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 403
- 404
- 500
- 501
[- {
- "id": "123e4567-e89b-12d3-a456-426614174003",
- "name": "pool-01",
- "type": "h100.8x",
- "count": 3,
- "nodes": [
- {
- "name": "node-01",
- "instanceID": "64599b27-ad1f-4725-b964-9d44e66bdf9c",
- "states": [
- "string"
], - "slurmdVersion": "24.05.7",
- "publicIP": "203.0.113.1",
- "privateIP": "10.0.0.2",
- "partitions": [
- "high-priority"
], - "reservation": "string",
- "reason": "string"
}
]
}
]Get a node pool
Authorizations:
path Parameters
| cluster_id required | string <uuid> Unique identifier of the cluster |
| node_pool_id required | string <uuid> Unique identifier of the node pool |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 403
- 404
- 500
- 501
{- "id": "123e4567-e89b-12d3-a456-426614174003",
- "name": "pool-01",
- "type": "h100.8x",
- "count": 3,
- "nodes": [
- {
- "name": "node-01",
- "instanceID": "64599b27-ad1f-4725-b964-9d44e66bdf9c",
- "states": [
- "string"
], - "slurmdVersion": "24.05.7",
- "publicIP": "203.0.113.1",
- "privateIP": "10.0.0.2",
- "partitions": [
- "high-priority"
], - "reservation": "string",
- "reason": "string"
}
]
}List users on a Slurm cluster
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the cluster |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 403
- 404
- 500
- 501
[- {
- "username": "user01",
- "sshKeys": [
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEaSkijEWFbnjixzWRw3u2spZZaeVeWO5/ymySevCvXh"
], - "sudo": false
}
]Add a user to a Slurm cluster
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the cluster |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Request Body schema: application/jsonrequired
Add a user to a Slurm cluster
| username required | string Username of the user. |
| sshKeys required | Array of strings SSH public keys authorized for the user. |
| sudo | boolean Default: false Whether the user has sudo access. Defaults to false if not specified. |
Responses
Request samples
- Payload
{- "username": "user01",
- "sshKeys": [
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEaSkijEWFbnjixzWRw3u2spZZaeVeWO5/ymySevCvXh"
], - "sudo": false
}Response samples
- 201
- 400
- 403
- 404
- 409
- 500
- 501
{- "username": "user01",
- "sshKeys": [
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEaSkijEWFbnjixzWRw3u2spZZaeVeWO5/ymySevCvXh"
], - "sudo": false
}Get a user on a Slurm cluster
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the cluster |
| username required | string Username of the user |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 200
- 403
- 404
- 500
- 501
{- "username": "user01",
- "sshKeys": [
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEaSkijEWFbnjixzWRw3u2spZZaeVeWO5/ymySevCvXh"
], - "sudo": false
}Update a user's SSH keys on a Slurm cluster
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the cluster |
| username required | string Username of the user |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Request Body schema: application/jsonrequired
Updated SSH keys for the user
| sshKeys required | Array of strings Updated SSH public keys for the user. |
| sudo | boolean Whether the user has sudo access. If not provided, the current value is preserved. |
Responses
Request samples
- Payload
{- "sshKeys": [
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEaSkijEWFbnjixzWRw3u2spZZaeVeWO5/ymySevCvXh"
], - "sudo": false
}Response samples
- 200
- 400
- 403
- 404
- 500
- 501
{- "username": "user01",
- "sshKeys": [
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEaSkijEWFbnjixzWRw3u2spZZaeVeWO5/ymySevCvXh"
], - "sudo": false
}Delete a user from a Slurm cluster
Authorizations:
path Parameters
| id required | string <uuid> Unique identifier of the cluster |
| username required | string Username of the user |
header Parameters
| X-PROJECT-ID required | string <uuid> Project identifier passed as a header |
Responses
Response samples
- 403
- 404
- 500
- 501
{- "message": "string"
}