Skip to main content

IaaS API (v1alpha1)

Download OpenAPI specification:Download

Capabilities

List available capabilities

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • "instances:list",
  • "slurm:clusters:list"
]

Projects

Create a project

Authorizations:
bearerAuth
header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Request Body schema: application/json
required

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 -, _, and ..

Responses

Request samples

Content type
application/json
{
  • "name": "project-1",
  • "tags": {
    }
}

Response samples

Content type
application/json
{
  • "id": "123e4567-e89b-12d3-a456-426614174003",
  • "name": "project-1",
  • "state": "active",
  • "tags": {
    }
}

List all projects

Authorizations:
bearerAuth
header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a project

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Unique identifier of the project

header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Responses

Response samples

Content type
application/json
{
  • "id": "123e4567-e89b-12d3-a456-426614174003",
  • "name": "project-1",
  • "state": "active",
  • "tags": {
    }
}

Delete a project

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Unique identifier of the project to delete

header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Instances

Create a machine instance

Authorizations:
bearerAuth
header Parameters
X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Request Body schema: application/json
required

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 -, _, and ..

Responses

Request samples

Content type
application/json
{
  • "name": "instance-1",
  • "type": "h100-hgx-80gb.8x",
  • "image": "image://ubuntu22.04",
  • "preemptible": false,
  • "ephemeral": false,
  • "userData": "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKICAtIG5naW54\n",
  • "filesystems": [
    ],
  • "tags": {
    }
}

Response samples

Content type
application/json
{
  • "id": "550e8400-e29b-41d4-a716-446655440000",
  • "name": "instance-1",
  • "type": "h100-hgx-80gb.8x",
  • "ip": "10.0.0.2",
  • "state": "running",
  • "image": "ubuntu22.04",
  • "preemptible": false,
  • "ephemeral": false,
  • "userData": "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKICAtIG5naW54\n",
  • "filesystems": [
    ],
  • "tags": {
    }
}

List all machine instances

Authorizations:
bearerAuth
header Parameters
X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a machine instance

Authorizations:
bearerAuth
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

X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Responses

Response samples

Content type
application/json
{
  • "id": "550e8400-e29b-41d4-a716-446655440000",
  • "name": "instance-1",
  • "type": "h100-hgx-80gb.8x",
  • "ip": "10.0.0.2",
  • "state": "running",
  • "image": "ubuntu22.04",
  • "preemptible": false,
  • "ephemeral": false,
  • "userData": "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKICAtIG5naW54\n",
  • "filesystems": [
    ],
  • "tags": {
    }
}

Delete a machine instance

Authorizations:
bearerAuth
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

X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Start a machine instance

Authorizations:
bearerAuth
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

X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Stop a machine instance

Authorizations:
bearerAuth
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

X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Instance Types

List all available instance types

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Filesystems

Create a filesystem

Authorizations:
bearerAuth
header Parameters
X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Request Body schema: application/json
required

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

Content type
application/json
{
  • "name": "fs-1",
  • "size": "512Gi"
}

Response samples

Content type
application/json
{
  • "id": "123e4567-e89b-12d3-a456-426614174002",
  • "name": "fs-1",
  • "size": "512Gi"
}

List all filesystems

Authorizations:
bearerAuth
header Parameters
X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a filesystem

Authorizations:
bearerAuth
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

X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Responses

Response samples

Content type
application/json
{
  • "id": "123e4567-e89b-12d3-a456-426614174002",
  • "name": "fs-1",
  • "size": "512Gi"
}

Delete a filesystem

Authorizations:
bearerAuth
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

X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Capacity

List available capacity

Authorizations:
bearerAuth
header Parameters
X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Kubernetes

List all clusters

Authorizations:
bearerAuth
header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a cluster

Authorizations:
bearerAuth
header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

Request Body schema: application/json
required

Details of the cluster to create

name
required
string

The cluster name.

version
string

The cluster version.

Responses

Request samples

Content type
application/json
{
  • "name": "cluster-01",
  • "version": "1.32.1"
}

Response samples

Content type
application/json
{
  • "id": "123e4567-e89b-12d3-a456-426614174003",
  • "name": "cluster-01",
  • "version": "1.32.1"
}

Get a cluster

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Unique identifier of the kubernetes cluster

header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

Responses

Response samples

Content type
application/json
{
  • "id": "123e4567-e89b-12d3-a456-426614174003",
  • "name": "cluster-01",
  • "version": "1.32.1"
}

Delete a cluster

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Unique identifier of the kubernetes cluster to delete

header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

List all node pools

Authorizations:
bearerAuth
header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a node pool

Authorizations:
bearerAuth
header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

Request Body schema: application/json
required

Details of the node pool to create

name
required
string

Name of the kubernetes node pool

cluster
required
string

Name of the kubernetes cluster

type
required
string

Instance type of the kubernetes node pool

count
required
integer

Number of nodes in the kubernetes node pool

version
string

Version of the kubernetes node pool

Responses

Request samples

Content type
application/json
{
  • "name": "pool-01",
  • "cluster": "cluster-01",
  • "type": "h100-hgx-80gb.8x",
  • "count": 3,
  • "version": "1.32.1"
}

Response samples

Content type
application/json
{
  • "id": "123e4567-e89b-12d3-a456-426614174003",
  • "name": "pool-01",
  • "cluster": "cluster-01",
  • "type": "h100-hgx-80gb.8x",
  • "count": 3,
  • "version": "1.32.1"
}

Get a node pool

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Unique identifier of the node pool

header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

Responses

Response samples

Content type
application/json
{
  • "id": "123e4567-e89b-12d3-a456-426614174003",
  • "name": "pool-01",
  • "cluster": "cluster-01",
  • "type": "h100-hgx-80gb.8x",
  • "count": 3,
  • "version": "1.32.1"
}

Delete a node pool

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Unique identifier of the node pool to delete

header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Slurm

Get all slurm clusters

Authorizations:
bearerAuth
header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all slurm node pools

Authorizations:
bearerAuth
header Parameters
X-ORG-ID
string

Organization identifier passed as a header. This is optional and can normally inferred by the bearer token used for authentication.

X-PROJECT-ID
required
string <uuid>

Project identifier passed as a header

Responses

Response samples

Content type
application/json
[
  • {
    }
]