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-docker |
| os_type | string | optional | The OS version, defaults to the latest version available, available options: 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: 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 |
| 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": "8.4",
"mysql_version": "8.0",
"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"
}
}