Skip to main content
POST
/
cloud
/
v1
/
ai
/
clusters
/
gpu
/
{project_id}
/
{region_id}
Create bare metal GPU cluster
curl --request POST \
  --url https://api.gcore.com/cloud/v1/ai/clusters/gpu/{project_id}/{region_id} \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "flavor": "<string>",
  "image_id": "<string>",
  "interfaces": [
    {
      "type": "<string>",
      "interface_name": "<string>",
      "ip_family": "ipv4"
    }
  ],
  "name": "<string>",
  "instances_count": 1,
  "password": "<string>",
  "security_groups": [
    {
      "id": "<string>"
    }
  ],
  "ssh_key_name": "<string>",
  "tags": {},
  "user_data": "<string>",
  "username": "<string>"
}
'
{
  "tasks": [
    "<string>"
  ]
}

Authorizations

Authorization
string
header
required

API key for authentication. Make sure to include the word apikey, followed by a single space and then your token. Example: apikey 1234$abcdef

Path Parameters

project_id
integer
required

Project ID

region_id
integer
required

Region ID

Body

application/json
flavor
string
required

Flavor name

image_id
string<uuid4>
required

Image ID

interfaces
(CreateGPUClusterExternalInterfaceSerializer · object | CreateGPUClusterSubnetInterfaceSerializer · object | CreateGPUClusterAnySubnetInterfaceSerializer · object)[]
required

A list of network interfaces for the server. You can create one or more interfaces - private, public, or both.

Minimum array length: 1
  • CreateGPUClusterExternalInterfaceSerializer
  • CreateGPUClusterSubnetInterfaceSerializer
  • CreateGPUClusterAnySubnetInterfaceSerializer
name
string
required

GPU Cluster name

instances_count
integer
default:1

Number of servers to create

Required range: x >= 1
password
string

A password for a bare metal server. This parameter is used to set a password for the "Admin" user on a Windows instance, a default user or a new user on a Linux instance

security_groups
MandatoryIdSchema schema · object[]

Security group UUIDs

ssh_key_name
string

Specifies the name of the SSH keypair, created via the /v1/ssh_keys endpoint.

tags
CreateTagsSerializer · object

Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.

user_data
string

String in base64 format. Must not be passed together with 'username' or 'password'. Examples of the user_data: https://cloudinit.readthedocs.io/en/latest/topics/examples.html

username
string

A name of a new user in the Linux instance. It may be passed with a 'password' parameter

Response

created tasks for cluster creation

tasks
string[]
required

List of task IDs representing asynchronous operations. Use these IDs to monitor operation progress:

  • GET /v1/tasks/{task_id} - Check individual task status and details Poll task status until completion (FINISHED/ERROR) before proceeding with dependent operations.