Servers

Create a server

Connect a new server.

Parameters
namerequiredStringName of the server
ipAddressrequiredStringPublic IP Address of the server
provideroptionalStringThe provider of server. E.g: Digital Ocean, Linode, Vultr, AWS, etc

POST /servers

HTTP Request
POST https://manage.runcloud.io/api/v2/servers
Request
curl --request POST \
  --url https://manage.runcloud.io/api/v2/servers \
  -u YOUR_API_KEY:YOUR_API_SECRET \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "name": "My First Server",
    "ipAddress": "127.0.0.1",
    "provider": "Localhost"
}'
Response
{
  "id": 65,
  "name": "My First Server",
  "provider": "Localhost",
  "ipAddress": "127.0.0.1",
  "os": "Ubuntu",
  "osVersion": null,
  "connected": false,
  "online": false,
  "agentVersion": null,
  "phpCLIVersion": "php73rc",
  "softwareUpdate": false,
  "securityUpdate": true,
  "transferStatus": "AVAILABLE",
  "created_at": "2019-06-20 18:10:23"
}

List servers

Query String Parameters
searchoptionalSearch string

GET /servers

HTTP Request
GET https://manage.runcloud.io/api/v2/servers
Request
curl --request GET \
  --url "https://manage.runcloud.io/api/v2/servers?page=1" \
  -u YOUR_API_KEY:YOUR_API_SECRET \
  --header 'accept: application/json' \
  --header 'content-type: application/json'
Response
{
  "data": [
    {
      "id": 65,
      "name": "My First Server",
      "provider": "Localhost",
      "ipAddress": "127.0.0.1",
      "os": "Ubuntu",
      "osVersion": null,
      "connected": false,
      "online": false,
      "agentVersion": null,
      "phpCLIVersion": "php73rc",
      "softwareUpdate": false,
      "securityUpdate": true,
      "transferStatus": "AVAILABLE",
      "created_at": "2019-06-20 18:10:23"
    },
    {
      "id": 7,
      "name": "RunCloud 2 1604",
      "provider": "VMWare Fusion 10",
      "ipAddress": "192.168.43.210",
      "os": "Ubuntu",
      "osVersion": "xenial",
      "connected": true,
      "online": true,
      "agentVersion": "2.1.7-1+ubuntu16.04+2",
      "phpCLIVersion": "php56rc",
      "softwareUpdate": false,
      "securityUpdate": true,
      "transferStatus": "AVAILABLE",
      "created_at": "2019-01-16 02:03:14"
    }
  ],
  "meta": {
    "pagination": {
      "total": 2,
      "count": 2,
      "per_page": 15,
      "current_page": 1,
      "total_pages": 1,
      "links": {}
    }
  }
}

List shared servers

Query string
searchoptionalSearch string

GET /servers

HTTP Request
GET https://manage.runcloud.io/api/v2/servers/shared
Request
curl --request GET \
  --url "https://manage.runcloud.io/api/v2/servers/shared?page=1" \
  -u YOUR_API_KEY:YOUR_API_SECRET \
  --header 'accept: application/json' \
  --header 'content-type: application/json'
Response
{
  "data": [
    {
      "id": 55,
      "name": "Test 2",
      "provider": "DigitalOcean",
      "ipAddress": "1.1.1.2",
      "os": "Ubuntu",
      "osVersion": null,
      "connected": true,
      "online": false,
      "agentVersion": "2.1.7-1+ubuntu16.04+1",
      "phpCLIVersion": "php73rc",
      "softwareUpdate": false,
      "securityUpdate": true,
      "transferStatus": "AVAILABLE",
      "created_at": "2019-05-19 05:13:13"
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 16,
      "current_page": 1,
      "total_pages": 1,
      "links": {}
    }
  }
}

Server object

GET /servers/{id}

HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{id}
Request
curl --request GET \
  --url https://manage.runcloud.io/api/v2/servers/65 \
  -u YOUR_API_KEY:YOUR_API_SECRET \
  --header 'accept: application/json' \
  --header 'content-type: application/json'
Response
{
  "id": 65,
  "name": "My First Server",
  "provider": "Localhost",
  "ipAddress": "127.0.0.1",
  "os": "Ubuntu",
  "osVersion": null,
  "connected": false,
  "online": false,
  "agentVersion": null,
  "phpCLIVersion": "php73rc",
  "softwareUpdate": false,
  "securityUpdate": true,
  "transferStatus": "AVAILABLE",
  "created_at": "2019-06-20 18:10:23"
}

Installation Script

GET /servers/{id}/installationscript

HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{id}/installationscript
Request
  curl --request GET \
    --url https://manage.runcloud.io/api/v2/servers/65/installationscript \
    -u YOUR_API_KEY:YOUR_API_SECRET \
    --header 'accept: application/json' \
    --header 'content-type: application/json'
Response
{
  "script": "export DEBIAN_FRONTEND=noninteractive; echo 'Acquire::ForceIPv4 \"true\";' | tee \/etc\/apt\/apt.conf.d\/99force-ipv4; apt-get update; apt-get install curl netcat-openbsd -y; curl --silent --location https:\/\/manage.runcloud.io\/scripts\/installer\/cix510RbawOVExZANlzgUqcU9E1561024841dzRy0jIa3F0d7ibg4J94xSl1yB0dDBy0IJrIYMkjX2lNfu8JOY8gWbGB4tMWUwsw\/d5fUlLVNYMvhm3c7LXGnTFgYw6KzN1qHNMc3ibafsyRWWICkGZseQ6OFtzARZiULAYTRwf9maKraHdtBCgZWgiCNNZx9Tqx8HVTL2XVivy56kD4MrHImxJJujeGNQCIk | bash -; export DEBIAN_FRONTEND=newt"
}

Server Stats

GET /servers/{id}/stats

HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{id}/stats
Request
curl --request GET \
  --url https://manage.runcloud.io/api/v2/servers/7/stats \
  -u YOUR_API_KEY:YOUR_API_SECRET \
  --header 'accept: application/json' \
  --header 'content-type: application/json'
Response
{
  "stats": {
    "webApplication": 5,
    "database": 3,
    "cronJob": 1,
    "supervisor": 0
  },
  "geoRecord": {
    "country": "Singapore",
    "subdivision": "Unknown",
    "latitude": 1.2929,
    "longitude": 103.8547
  }
}

Hardware Info

GET /servers/{id}/hardwareinfo

HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{id}/hardwareinfo
Request
curl --request GET \
    --url https://manage.runcloud.io/api/v2/servers/7/hardwareinfo \
    -u YOUR_API_KEY:YOUR_API_SECRET \
    --header 'accept: application/json' \
    --header 'content-type: application/json'
Response
{
  "kernelVersion": "4.4.0-87-generic",
  "processorName": "Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz",
  "totalCPUCore": 2,
  "totalMemory": 0.9520301818847656,
  "freeMemory": 0.3449363708496094,
  "diskTotal": 9.376751616,
  "diskFree": 5.573582848,
  "loadAvg": 0,
  "uptime": "74h 54m 7s"
}

List available PHP version

GET /servers/{serverId}/php/version

HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{serverId}/php/version
Request
curl --request GET \
  --url https://manage.runcloud.io/api/v2/servers/7/php/version \
  -u YOUR_API_KEY:YOUR_API_SECRET \
  --header 'accept: application/json' \
  --header 'content-type: application/json'
Response
[
  "php55rc",
  "php56rc",
  "php70rc",
  "php71rc",
  "php72rc",
  "php73rc"
]

Change PHP-CLI version

Parameters
phpVersionrequiredStringPHP version you want to use for the CLI of this server/td>

PATCH /servers/{serverId}/php/cli

HTTP Request
PATCH https://manage.runcloud.io/api/v2/servers/{serverId}/php/cli
Request
curl --request PATCH \
  --url https://manage.runcloud.io/api/v2/servers/7/php/cli \
  -u YOUR_API_KEY:YOUR_API_SECRET \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
  "phpVersion":  "php72rc"
}'
Response
{
  "id": 7,
  "name": "RunCloud Xenial Test",
  "provider": "VMWare Fusion 11",
  "ipAddress": "192.168.43.210",
  "os": "Ubuntu",
  "osVersion": "xenial",
  "connected": true,
  "online": true,
  "agentVersion": "2.1.7-1+ubuntu16.04+2",
  "phpCLIVersion": "php72rc",
  "softwareUpdate": false,
  "securityUpdate": true,
  "transferStatus": "AVAILABLE",
  "created_at": "2019-01-16 02:03:14"
}

Update Meta Data

Parameters
namerequiredStringName of the server
provideroptionalStringName of the company that provides your server

PATCH /servers/{id}/settings/meta

HTTP Request
PATCH https://manage.runcloud.io/api/v2/servers/{id}/settings/meta
Request
curl --request PATCH \
  --url https://manage.runcloud.io/api/v2/servers/7/settings/meta \
  -u YOUR_API_KEY:YOUR_API_SECRET \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "name": "RunCloud Xenial Test",
    "provider": "VMWare Fusion 11"
}'
Response
{
  "id": 7,
  "name": "RunCloud Xenial Test",
  "provider": "VMWare Fusion 11",
  "ipAddress": "192.168.43.210",
  "os": "Ubuntu",
  "osVersion": "xenial",
  "connected": true,
  "online": true,
  "agentVersion": "2.1.7-1+ubuntu16.04+2",
  "phpCLIVersion": "php56rc",
  "softwareUpdate": false,
  "securityUpdate": true,
  "transferStatus": "AVAILABLE",
  "created_at": "2019-01-16 02:03:14"
}

Get SSH configuration

GET /servers/{id}/settings/ssh

HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{id}/settings/ssh
Request
curl --request GET \
  --url https://manage.runcloud.io/api/v2/servers/7/settings/ssh \
  -u YOUR_API_KEY:YOUR_API_SECRET \
  --header 'accept: application/json' \
  --header 'content-type: application/json'
Response
{
  "passwordlessLogin": false,
  "useDns": false,
  "preventRootLogin": false
}

Update SSH configuration

Parameters
passwordlessLoginrequiredBooleanOnly allow SSH using SSH Key
useDnsrequiredBooleanCheck reverse DNS of connecting machine
preventRootLoginrequiredBooleanDisable SSH login as "root"

PATCH /servers/{id}/settings/ssh

HTTP Request
PATCH https://manage.runcloud.io/api/v2/servers/{id}/settings/ssh
Request
curl --request PATCH \
  --url https://manage.runcloud.io/api/v2/servers/7/settings/ssh \
  -u YOUR_API_KEY:YOUR_API_SECRET \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "passwordlessLogin": true,
    "useDns": false,
    "preventRootLogin": true
}'
Response
{
  "passwordlessLogin": true,
  "useDns": false,
  "preventRootLogin": true
}

Software update

Parameters
softwareUpdaterequiredBooleanEnable update for installed software
securityUpdaterequiredBooleanEnable update for security package

PATCH /servers/{id}/settings/autoupdate

HTTP Request
PATCH https://manage.runcloud.io/api/v2/servers/{id}/settings/autoupdate
Request
curl --request PATCH \
  --url https://manage.runcloud.io/api/v2/servers/7/settings/autoupdate \
  -u YOUR_API_KEY:YOUR_API_SECRET \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "softwareUpdate": false,
    "securityUpdate": true
}'
Response
{
  "id": 7,
  "name": "RunCloud Xenial Test",
  "provider": "VMWare Fusion 11",
  "ipAddress": "192.168.43.210",
  "os": "Ubuntu",
  "osVersion": "xenial",
  "connected": true,
  "online": true,
  "agentVersion": "2.1.7-1+ubuntu16.04+2",
  "phpCLIVersion": "php56rc",
  "softwareUpdate": false,
  "securityUpdate": true,
  "transferStatus": "AVAILABLE",
  "created_at": "2019-01-16 02:03:14"
}

Delete server

Deletes existing server.

DELETE /servers/{id}

HTTP Request
DELETE https://manage.runcloud.io/api/v2/servers/65
Request
curl --request DELETE \
  --url https://manage.runcloud.io/api/v2/servers/65 \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  -u YOUR_API_KEY:YOUR_API_SECRET
Response
{
  "id": 65,
  "name": "My First Server",
  "provider": "Localhost",
  "ipAddress": "127.0.0.1",
  "os": "Ubuntu",
  "osVersion": null,
  "connected": false,
  "online": false,
  "agentVersion": null,
  "transferStatus": "AVAILABLE",
  "created_at": "2019-06-20 10:00:41"
}