Console API
  1. Bare Metal Servers
Console API
  • User
    • User Info
      GET
    • Ssh keys
      GET
  • IAM
    • Add user to user group
      POST
    • Create user group
      POST
    • Get roles
      GET
    • Get all user groups v2
      GET
    • Create user group v2
      PUT
    • Detail user group v2
      GET
    • Update user group v2
      PUT
    • Delete a user group v2
      DELETE
    • Get roles v2
      GET
    • Detail role v2
      GET
    • Delete a Role v2
      DELETE
    • Get user list of all VPCs
      GET
  • Tenant / Regions
    • Get Regions & Tenant info
    • Get Tenant Info
  • Project
    • Get project list
    • Create Project
    • Detail Project
    • Delete Project
  • VPC
    • Get VPC List (Tenant Owner)
    • Get VPC List
    • Rename VPC
    • Create VPC
    • Delete VPC
    • Get VPC Quota
    • Check user can create VPC
    • Get VPCs of User v2
  • Images
    • Get images
  • Flavors
    • Get flavors
  • Storage Policy
    • List
  • Instances
    • List
    • Detail
    • Security Group
    • Create instance
    • Power off
    • Reboot
    • Power on
    • Terminate
    • Resize
    • Lock Termination
    • Rename
    • Manage tag
    • Check VPC enable NVME
    • Get Monitor performance url
  • Subnet
    • List
    • Create
    • Rename
    • Delete
    • Manage tags
  • Security group
    • Security Group List
    • Security Group Detail
    • Rule Types
    • Create Security Group
    • Create Rule
    • Apply to private ip
    • Delete Rule
    • Delete security group
    • Manage tag
    • Get application ports
    • Get quota Security Group
  • Floating IP
    • List
    • Allocate
    • Connect to instance
    • Disconnect
    • Release
    • Manage tag
  • Activity Logs
    • List
  • Tags
    • Lists
  • Billing
    • Bill
      • Get bills by date
      • Get Bills by paging
      • Bill Info
      • Bill service types
  • S3
    • Get bucket policy
    • List buckets
    • Get s3 service enabled
  • IP Access
    • API Portal Access Log
  • Metal Cloud
    • Bare Metal Servers
      • List all servers
        GET
      • Get server details
        GET
      • Get server console URL
        GET
      • Create server (V2)
        POST
      • Create server (V1)
        POST
      • Rename a server (Portal name)
        POST
      • Power on a server
        POST
      • Power off a server
        POST
      • Delete a server
        DELETE
    • Subnets
      • Get an available subnet
      • Create a subnet
      • List all subnets
      • Delete a subnet
      • Update a subnet
    • Network ACLs
      • List all network ACLs
      • Update a network ACL
      • Get a network ACL details
      • List all rule groups of a Network ACL
      • List all rules of a group (Network ACL)
      • Update a rule of a network ACL
    • OS images
      • List all public images
      • List all custom images
      • Upload a new custom image to S3
      • Get presigned upload URLs
      • Upload a custom image from S3 to FPT image repository
      • Delete a custom image
      • Sync an image to Console (Portal)
    • Server flavors
      • Quota list
      • Get list server flavors
  • Storage Disk
    • Create Storage Disk
    • List Storages
    • Update
    • Create snapshot
    • Tagging
    • Attach
    • Detach
    • Delete
  • Instance Group
    • Create
    • Get policies
    • Get Instance groups
    • Delete
  • Instance Schedule
    • Create
    • List
    • Update instance apply
    • Detail
    • Delete
  • VPN
    • Create
    • List
    • Update instance apply
    • Detail
    • Delete
  • Task
    • Mark as read
  • Edge Gateway
    • Get list edge gateways
  • Schemas
    • Sample Schemas
      • CreateInstanceSchema
      • Pet
      • Category
      • Tag
    • Metal Cloud
      • Request
      • Bare Metal Server details
      • Subscription
      • Package details
      • Image
  1. Bare Metal Servers

Create server (V1)

Deprecated
POST
/api/v2/vmware/vpc/{vpc_id}/hpc/server/create
You can create one or multiple servers using the following configuration options:
ParameterTypeRequiredDescription
serverPackstring✅The flavor of the server pack to use. Selection depends on your region and quota.
namesarray[string]✅A list of unique server names within a VPC. The number of names determines how many servers will be created. Each name must match the regex pattern defined in SERVER_NAME_REGEX.
osstring✅The OS image type. Must be either:
- custom: For your own custom images
- ubuntu: For FPT public images
distroobject✅The selected OS image in JSON format.
Example:
json<br/>{ "name": "ubuntu", "title": "Ubuntu 20.04" }<br/>
networkIdstring✅The subnet ID to associate with the server.
sshKeyobject✅SSH key details in JSON format.
Example:
json<br/>{ "name": "key_name", "public_key": "ssh-rsa..." }<br/>
Default username: clouduser
consolePasswordstring❌The password to log in and access the server via SSH. Must match the regex defined in PASSWORD_CONSOLE_REGEX.
Default username: clouduser
userDatastring❌User data scripts executed automatically on first boot using the cloud-init process.
floatingIpboolean❌Attach a public IP to the server. Defaults to false.
raidTypestring❌RAID disk configuration. Supported values:
- raid-0
- raid-1
- raid-5
- raid-6
mountPointstring❌Mount point path for attaching high-performance (file) storage to the server.

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
Path Params

Body Params application/json

Example
{
    "names": [
        "server1",
        "server2"
    ],
    "raidType": "raid-1",
    "serverPack": "123e4567-e89b-12d3-a456-426614174000",
    "os": "ubuntu",
    "distro": "{\"name\": \"ubuntu\", \"title\": \"Ubuntu 20.04\"}",
    "networkId": "123e4567-e89b-12d3-a456-426614174001",
    "sshKey": "{\"name\": \"key_name\", \"public_key\": \"ssh-rsa AAAAB3...\"}",
    "consolePassword": "P@ssw0rd123",
    "userData": "#cloud-config\npackages:\n - nginx",
    "floatingIp": true,
    "mountPoint": "/mnt/data"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/api/v2/vmware/vpc//hpc/server/create' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "names": [
        "server1",
        "server2"
    ],
    "raidType": "raid-1",
    "serverPack": "123e4567-e89b-12d3-a456-426614174000",
    "os": "ubuntu",
    "distro": "{\"name\": \"ubuntu\", \"title\": \"Ubuntu 20.04\"}",
    "networkId": "123e4567-e89b-12d3-a456-426614174001",
    "sshKey": "{\"name\": \"key_name\", \"public_key\": \"ssh-rsa AAAAB3...\"}",
    "consolePassword": "P@ssw0rd123",
    "userData": "#cloud-config\npackages:\n - nginx",
    "floatingIp": true,
    "mountPoint": "/mnt/data"
}'

Responses

🟢201Created
application/json
Created successfully
Body

Example
{
    "data": [
        null
    ],
    "message": null
}
🟠400Bad Request
🟠401Unauthorized
🟠404Record Not Found
🔴500Server Error
Modified at 2025-08-27 08:02:22
Previous
Create server (V2)
Next
Rename a server (Portal name)
Built with