v32

latestOpenAPI 3.1.0raw.githubusercontent.com2026-05-151,1412,2144.5 MB
Instances

Create instance

Create an instance with specified configuration.

How to get access:

For Linux,

  • Use the user_data field to provide a cloud-init script in base64 to apply configurations to the instance.
  • Specify the username and password to create a new user.
  • When only password is provided, it is set as the password for the default user of the image.
  • The user_data is ignored when the password is specified.

For Windows,

  • Use the user_data field to provide a cloudbase-init script in base64 to create new users on Windows.
  • Use the password field to set the password for the 'Admin' user on Windows.
  • The password of the Admin user cannot be updated via user_data.
  • The username cannot be specified in the request.
post/cloud/v2/instances/{project_id}/{region_id}

Path parameters

project_idinteger required

Project ID

Example:1

Project ID

region_idinteger required

Region ID

Example:1

Region ID

Request body

allow_app_portsboolean

Set to true if creating the instance from an apptemplate. This allows application ports in the security group for instances created from a marketplace application template.

configurationobject nullable

Parameters for the application template if creating the instance from an apptemplate.

flavorstring required

The flavor of the instance.

namestring

Instance name.

name_templatestring

If you want the instance name to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during provisioning. Supported placeholders are: {ip_octets} (last 3 octets of the IP), {two_ip_octets}, and {one_ip_octet}.

passwordstring

For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user of the image. For Windows instances, 'username' cannot be specified. Use the 'password' field to set the password for the 'Admin' user on Windows. Use the 'user_data' field to provide a script to create new users on Windows. The password of the Admin user cannot be updated via 'user_data'.

servergroup_idstring uuid4

Placement group ID for instance placement policy.

Supported group types:

  • anti-affinity: Ensures instances are placed on different hosts for high availability.
  • affinity: Places instances on the same host for low-latency communication.
  • soft-anti-affinity: Tries to place instances on different hosts but allows sharing if needed.
ssh_key_namestring nullable

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

tagsCreateTagsSerializer

A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. 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_datastring

String in base64 format. For Linux instances, 'user_data' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'user_data'. Examples of the user_data: https://cloudinit.readthedocs.io/en/latest/topics/examples.html

usernamestring

For Linux instances, 'username' and 'password' are used to create a new user. For Windows instances, 'username' cannot be specified. Use 'password' field to set the password for the 'Admin' user on Windows.

Example request

{
  "flavor": "g2-standard-32-64",
  "interfaces": [
    {
      "type": "external"
    }
  ],
  "name": "my-instance",
  "ssh_key_name": "my-ssh-key",
  "volumes": [
    {
      "boot_index": 0,
      "image_id": "e460e48c-6836-447e-bc9c-16fc4225d318",
      "size": 50,
      "source": "image"
    }
  ]
}

Response

OK

tasksstring[] 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.
idstring required

Example response

{
  "tasks": [
    "d478ae29-dedc-4869-82f0-96104425f565"
  ]
}