Skip to main content
POST
Order one or more cloud servers

Authorizations

Authorization
string
header
required

Session access token (JWT) from POST /v1/auth/login or /v1/auth/refresh. A session satisfies every API scope.

Body

application/json
planId
string
required

Cloud plan slug (the id from GET /v1/client/cloud/marketplace).

hostname
string

Hostname for a single server. Required unless hostnames is given.

hostnames
string[]

One hostname per server. Wins over hostname when non-empty.

quantity
integer

Number of servers. Defaults to the number of hostnames, or 1.

Required range: 1 <= x <= 10
location
string

CloudLocation slug. Uncertain — when omitted, the order service picks a default location.

nodeGroupId
string

Pin the order to one group of hardware within the location.

os
string

OS template slug. An unknown slug is rejected.

app
string

One-click app slug. Needs a Docker-capable template to be configured.

appInputs
object

Values for the app's env schema, validated against it.

billingCycle
enum<string>
default:monthly

Term to buy on. Longer terms are discounted (5%–30%). Any other value is rejected.

Available options:
monthly,
quarterly,
semi-annually,
annually,
biennially,
triennially
addonIds
string[]

AddonProduct ids billed alongside every server. Each must be sold in the customer's billing currency.

couponCode
string

Optional discount code, validated server-side.

Response

Order placed; pay the invoice to provision.

success
boolean
required
data
object
required