POST
Create a server

Authorizations

api-key
string
header
required

Per-project server key, prefixed sk_live_. Full access to every endpoint. Keep it on your backend: never ship it in a game binary.

Query Parameters

project_id
string

Which project to act on. Required when authenticating with a developer session (bearer_auth), which names no project of its own; ignored when authenticating with an API key, which carries its project already.

A project belonging to another account returns PROJECT_NOT_FOUND (7001) rather than a 403, so this cannot be used to probe for project ids.

Example:

"proj_abc123"

Body

application/json

Ports are not set here: they are declared on the build and numbered per server. A request carrying network_ports or internal_port is refused with 400.

name
string
required
Example:

"ranked-2v2-iad-01"

region
enum<string>
required

Datacenter region a server runs in. 15 regions are supported.

Every region is available to every project. Capacity is Simpl's problem, not yours: pick the region closest to your players.

Available options:
ams,
arn,
cdg,
dfw,
ewr,
fra,
iad,
lax,
lhr,
nrt,
ord,
sin,
sjc,
syd,
yyz
Example:

"iad"

tier
enum<string>
required

Machine tier, named transparently as <cpu>-<memory>. 1x = one shared vCPU, 2p = two performance (dedicated) vCPUs, 2g = 2 GB of memory. No guessing what small or nano means.

Available options:
1x-512,
1x-1g,
1x-2g,
2x-2g,
4x-4g,
1p-2g,
1p-4g,
2p-4g,
2p-8g
Example:

"2x-2g"

version_tag
string
required

Build name to run.

Example:

"1.2.3"

version
integer

Pin an exact build version. Omit to run the latest build carrying version_tag.

Example:

12

startup_args
string[]

Extra command-line arguments for this server, one string per argument. A single string is refused with 400 "startup_args is an array of strings": it cannot say where one argument ends.

  • ZIP build: appended after the build's executable and launch_args.
  • docker_image build: appended to the image's own ENTRYPOINT and CMD, after the build's launch_args, as docker run <image> <args> would.

For both, the Simpl entrypoint substitutes {{PORT}}, {{PORT_<NAME>}}, {{UDP_BIND}}, {{TCP_BIND}} and {{SERVER_ID}} in each one. A Docker image build registered before Docker images were wrapped (base_version null) has no Simpl entrypoint, so nothing is substituted in it.

Maximum array length: 64
Maximum string length: 1024
Example:
custom_data
object

Free-form developer-defined data. Carried verbatim and surfaced to the game server in /simpl/its_simpl.json. Soft cap of 64KB serialized; exceeding it returns CUSTOM_DATA_TOO_LARGE (error_id 2008).

Example:
ttl
integer
Required range: x >= 0
match_id
string

Response

Server created and launching.

instance_id
string
required
Example:

"abc123"

name
string
required
Example:

"ranked-2v2-iad-01"

status
enum<string>
required
Available options:
launching,
running,
stopped
region
enum<string>
required

Datacenter region a server runs in. 15 regions are supported.

Every region is available to every project. Capacity is Simpl's problem, not yours: pick the region closest to your players.

Available options:
ams,
arn,
cdg,
dfw,
ewr,
fra,
iad,
lax,
lhr,
nrt,
ord,
sin,
sjc,
syd,
yyz
Example:

"iad"

tier
enum<string>
required

Machine tier, named transparently as <cpu>-<memory>. 1x = one shared vCPU, 2p = two performance (dedicated) vCPUs, 2g = 2 GB of memory. No guessing what small or nano means.

Available options:
1x-512,
1x-1g,
1x-2g,
2x-2g,
4x-4g,
1p-2g,
1p-4g,
2p-4g,
2p-8g
Example:

"2x-2g"

created_at
string<date-time>
required
updated_at
string<date-time>
required
network_ports
object[]
startup_args
string[]

Extra command-line arguments for this server, one string per argument. A single string is refused with 400 "startup_args is an array of strings": it cannot say where one argument ends.

  • ZIP build: appended after the build's executable and launch_args.
  • docker_image build: appended to the image's own ENTRYPOINT and CMD, after the build's launch_args, as docker run <image> <args> would.

For both, the Simpl entrypoint substitutes {{PORT}}, {{PORT_<NAME>}}, {{UDP_BIND}}, {{TCP_BIND}} and {{SERVER_ID}} in each one. A Docker image build registered before Docker images were wrapped (base_version null) has no Simpl entrypoint, so nothing is substituted in it.

Maximum array length: 64
Maximum string length: 1024
Example:
custom_data
object

Free-form developer-defined data. Carried verbatim and surfaced to the game server in /simpl/its_simpl.json. Soft cap of 64KB serialized; exceeding it returns CUSTOM_DATA_TOO_LARGE (error_id 2008).

Example:
ttl
integer

Seconds before Simpl stops this server automatically. 0 or omitted means no TTL.

Required range: x >= 0
Example:

3600

match_id
string

Match this server was created for, if any.

Example:

"xyz789"

version_tag
string

Build name requested at creation time.

Example:

"1.2.3"

version
integer

Resolved integer build version actually running.

Example:

12

started_at
string<date-time> | null
stopped_at
string<date-time> | null