Skip to main content
POST
Create a Server

Authorizations

Authorization
string
header
required

API token from Dashboard > Settings > API Tokens.

Body

application/json
hostname
string
required

RFC 1123 label. A name used by your servers or open orders returns 409 hostname_taken.

Maximum string length: 63
Pattern: ^[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?$
location
string
required

Location code from GET /locations, any case.

Pattern: ^[A-Za-z0-9-]{1,10}$
plan
string
required

Plan slug from GET /plans.

Pattern: ^[A-Za-z0-9][A-Za-z0-9_.-]{0,49}$
image_id
string<uuid>
required

Image ID from GET /images for the same location.

billing_period
enum<string>
default:monthly

Pre-order locations take only semi_annual or yearly.

Available options:
monthly,
quarterly,
semi_annual,
yearly
ssh_key_ids
string<uuid>[]

IDs of your SSH keys to install. Omit for all saved keys (a password if none); send [] for a password. Ignored for Windows images.

Maximum array length: 20
coupon_code
string | null

Promo code.

Required string length: 1 - 64
enable_backups
boolean
default:false

True adds automatic backups for 20% of the plan price, where backups_available is true.

Response

Successful Response

order
Order · object
required
server
Server · object | null
required

Null until the server is recorded.

password
string | null

Login password for server.login_user. Null when SSH keys are installed; also null at pre-order locations or for a delayed build, and then emailed. Shown only here and in the email. If support retries the build or Windows password setup fails, follow the email.