Create server
Creates a new server in your account. To be able to do this properly you will need 3 key values: plan
, region
and credential
.
These values are available here: Get server providers
You will also need to have server providers added to your account to be able to retrieve these. Setup new server providers in your account here: Server providers
POST api/servers
Required scopes:
Create servers
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name | string | optional | The server name, cannot contain any special characters and is alpha-numeric, if left empty a random name will be used |
plan | string | required | The plan ID to install the server with |
region | string | required | The region where to install the server with |
credential | integer | required | The server provider from your account - Get server providers |
type | string | required | Type of the server to install, must be either: server , load-balancer , database-server or redis-server |
database_type | string | required | The type of database to install, must be either: none , mysql , mariadb , postgresql or postgresql13 |
webserver_type | string | required | The type of webserver to install, must be either: nginx or nginx-apache |
os_type | string | optional | The OS version, defaults to the latest version available, available options: ubuntu-18-04-lts , ubuntu-20-04-lts , ubuntu-22-04-lts , ubuntu-24-04-lts |
php_version | string | required | The PHP version installed, only applicable on the server type. Must be any of these values: 5.6 , 7.0 , 7.1 , 7.2 , 7.3 , 7.4 , 8.0 , 8.1 , 8.2 , 8.3 |
description | string | optional | Allows you to send in an additional description for your server as note |
install_monitoring | boolean | optional | Allows you to install Ploi monitoring as well, requires Pro plan or higher |
webhook_url | url | optional | This URL gets triggered by Ploi when installation has completed, you can use this for your own system, this will only send 1 signal, there is no retry schedule, it will contain a ID of the server that is finished installing (contents of this URL down in this document) |
Example request:
curl -X POST "https://ploi.io/api/servers" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"name": "awesome-server",
"plan": "1xCPU-1GB",
"region": "nl-ams1",
"credential": 1,
"type": "server",
"database_type": "mysql",
"webserver_type" : "nginx"
}'
Example response:
HTTP/1.1 201 CREATED
Content-Type: application/json
{
"data": {
"id": 2,
"status": "created",
"type": "server",
"name": "awesome-server",
"ip_address": "12.34.56.78",
"php_version": 7.1,
"mysql_version": 5.7,
"sites_count": 0,
"monitoring": false,
"status_id": 0,
"created_at": "2019-01-01 09:00:00"
}
}
Contents of webhook URL data (optional webhook_url field)
Example response:
POST
Content-Type: application/json
{
"message": "Server installation has completed",
"server": {
"id": 1,
"name": "calm-breeze"
}
}