Skip to main content
POST
/
servers
Create a server
curl --request POST \
  --url https://console.cloudblast.io/api/v2/servers \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "plan_id": 1,
  "location_id": 1,
  "template_slug": "ubuntu-24.04",
  "hostname": "web-01.example.com"
}
'
{
  "data": {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "uuid_short": "a1b2c3d4",
    "name": "Starter VPS",
    "status": null,
    "cpu": 2,
    "memory": 2147483648,
    "disk": 42949672960,
    "bandwidth_usage": 536870912,
    "bandwidth_limit": 1073741824000,
    "node_id": 1,
    "created_at": "2026-01-10T14:00:00+00:00",
    "ip_addresses": [
      {
        "address": "203.0.113.50",
        "type": "ipv4",
        "gateway": "203.0.113.1",
        "cidr": 24,
        "rdns": "server1.example.com"
      }
    ],
    "root_password": "k3Fm9xPq",
    "password_status": "ready",
    "plan": {
      "id": 123,
      "name": "<string>",
      "monthly_price": 123,
      "hourly_price": 123
    },
    "operating_system": "Ubuntu 24.04 LTS"
  }
}

Authorizations

Authorization
string
header
required

API token from your CloudBlast account settings. Pass as Authorization: Bearer <token>.

Body

application/json
plan_id
integer
required

Plan ID from GET /plans

Example:

1

location_id
integer
required

Location ID from GET /locations

Example:

1

template_slug
string
required

Template slug from GET /locations/{id}/templates

Example:

"ubuntu-24.04"

hostname
string | null

Server hostname. Defaults to the plan name if omitted.

Maximum string length: 191
Example:

"web-01.example.com"

Response

Server created

data
object