Web Application
POST Create web application
HTTP Request
POST https://manage.runcloud.io/base-api/servers/<server.id>/webapps
Arguments
Parameters |
Required |
Description |
webApplicationName |
YES |
Name of the Web Application |
domainName |
YES |
Domain name for the Web Application |
user |
YES |
The System User who will own this Web Application. You need to use the username. E.g: runcloud |
publicPath |
NO |
Append a public path to a Web Application. If not defined, Web Application root path will be used as publicPath |
phpVersion |
YES |
You can get this from server._extra.php.versions |
stack |
YES |
"hybrid", "nativenginx", or "customnginx" |
stackMode |
YES |
"production" or "development" |
clickjackingProtection |
YES |
Boolean true or false |
xssProtection |
YES |
Boolean true or false |
mimeSniffingProtection |
YES |
Boolean true or false |
processManager |
YES |
"dynamic", "ondemand", or "static" |
processManagerStartServers |
YES if processManager is "dynamic" |
Must be integer |
processManagerMinSpareServers |
YES if processManager is "dynamic" |
Must be integer |
processManagerMaxSpareServers |
YES if processManager is "dynamic" |
Must be integer |
processManagerMaxChildren |
YES |
Must be integer |
processManagerMaxRequests |
YES |
Must be integer |
openBasedir |
NO |
If you left this empty, open_basedir will be empty. To add a default value, use "/home/<systemuser.username>/webapps/<webApp.name>:/var/lib/php/session:/tmp" |
timezone |
YES |
You can get this from Static Data for Timezone |
disableFunctions |
NO |
If you left this empty, no php functions will be disabled. If you wanted to supply the default value, see the request example |
maxExecutionTime |
YES |
Integer. Use 0 for unlimited |
maxInputTime |
YES |
Integer. Use 0 for unlimited |
maxInputVars |
YES |
Integer. Use 0 for unlimited |
memoryLimit |
YES |
Integer. Supplied value is in MB. |
postMaxSize |
YES |
Integer. Supplied value is in MB. Use 0 for unlimited |
uploadMaxFilesize |
YES |
Integer. Supplied value is in MB. Use 0 for unlimited |
sessionGcMaxlifetime |
YES |
Integer. Supplied value is in seconds |
allowUrlFopen |
YES |
Boolean true or false |
Request
curl -X POST "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"webApplicationName": "myfirstwebapp",
"domainName": "example.com",
"user": "runcloud",
"publicPath": "/public",
"phpVersion": "php72rc",
"stack": "nativenginx",
"stackMode": "production",
"clickjackingProtection": true,
"xssProtection": true,
"mimeSniffingProtection": true,
"processManager": "ondemand",
"processManagerMaxChildren": 50,
"processManagerMaxRequests": 500,
"openBasedir": "/home/runcloud/webapps/myfirstwebapp:/var/lib/php/session:/tmp",
"timezone": "Asia/Kuala_Lumpur",
"disableFunctions": "getmyuid,passthru,leak,listen,diskfreespace,tmpfile,link,ignore_user_abord,shell_exec,dl,set_time_limit,exec,system,highlight_file,source,show_source,fpassthru,virtual,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,proc_open,proc_close,proc_nice,proc_terminate,escapeshellcmd,ini_alter,popen,pcntl_exec,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,symlink,posix_geteuid,ini_alter,socket_listen,socket_create_listen,socket_read,socket_create_pair,stream_socket_server",
"maxExecutionTime": 30,
"maxInputTime": 60,
"maxInputVars": 1000,
"memoryLimit": 256,
"postMaxSize": 256,
"uploadMaxFilesize": 256,
"sessionGcMaxlifetime": 1440,
"allowUrlFopen": true
}'
Response
{
"message": "Succesfully added new Web Application myfirstwebapp.",
"redirect": "\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/show"
}
GET List web applications
HTTP Request
GET https://manage.runcloud.io/base-api/servers/<server.id>/webapps
Arguments
Parameters |
Required |
Description |
page |
NO |
Page number of the resources |
search |
NO |
Searching string if you wanted to search from list of Web Apps |
Request
curl -X GET "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps?page=1" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"data": [
{
"id": "bZ0Ka4eK2PGR",
"server_user_id": "LR6YA0XA71P8",
"server_user_username": "runcloud",
"name": "myfirstwebapp",
"rootPath": "\/home\/runcloud\/webapps\/myfirstwebapp",
"publicPath": "\/home\/runcloud\/webapps\/myfirstwebapp\/public",
"phpVersion": "php72rc",
"stack": "nativenginx",
"stack_humanize": "Native NGINX (You won't be able to use .htaccess but it is faster)",
"stackMode": "production",
"defaultServer": false,
"restorationStatus": "IDLE",
"created_at": "2018-03-01 16:41:58",
"created_at_humanize": "3 minutes ago",
"updated_at": "2018-03-01 16:41:58",
"updated_at_humanize": "3 minutes ago",
"_links": {
"delete": {
"method": "delete",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR"
},
"setasdefault": {
"method": "post",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/default"
},
"removeasdefault": {
"method": "delete",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/default"
},
"rebuild": {
"method": "patch",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/rebuild"
}
},
"domains": [
{
"id": "LR6YA0XgA71P",
"name": "example.com",
"_links": {
"delete": {
"method": "delete",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/domains\/LR6YA0XgA71P"
}
}
}
]
}
],
"meta": {
"pagination": {
"total": 1,
"count": 1,
"per_page": 20,
"current_page": 1,
"total_pages": 1,
"links": []
}
}
}
GET Web application object
HTTP Request
GET https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>
Request
curl -X GET "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"id": "bZ0Ka4eK2PGR",
"server_user_id": "LR6YA0XA71P8",
"server_user_username": "runcloud",
"name": "myfirstwebapp",
"rootPath": "\/home\/runcloud\/webapps\/myfirstwebapp",
"publicPath": "\/home\/runcloud\/webapps\/myfirstwebapp\/public",
"phpVersion": "php72rc",
"stack": "nativenginx",
"stackMode": "production",
"stack_humanize": "Native NGINX (You won't be able to use .htaccess but it is faster)",
"defaultServer": false,
"restorationStatus": "IDLE",
"created_at": "2018-03-01 16:41:58",
"created_at_humanize": "18 minutes ago",
"updated_at": "2018-03-01 16:41:58",
"updated_at_humanize": "18 minutes ago",
"_links": {
"delete": {
"method": "delete",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR"
},
"setasdefault": {
"method": "post",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/default"
},
"removeasdefault": {
"method": "delete",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/default"
},
"rebuild": {
"method": "patch",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/rebuild"
}
}
}
POST Set as default
HTTP Request
POST https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/default
Request
curl -X POST "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/default" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"message": "Successfully set Web Application myfirstwebapp as default Web Application."
}
DELETE Remove from default
HTTP Request
DELETE https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/default
Request
curl -X DELETE "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/default" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"message": "Successfully remove default Web Application. Any access to your server via IP Address will be displaying 404 page."
}
PATCH Rebuild web application
HTTP Request
PATCH https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/rebuild
Request
curl -X PATCH "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/rebuild" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"message": "Your Web Application will be rebuilt shortly."
}
DELETE Delete web application
HTTP Request
DELETE https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>
Arguments
Parameters |
Required |
Description |
webApplicationName |
YES |
Name of the web application |
Request
curl -X DELETE "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"webApplicationName": "myfirstwebapp"
}'
Response
{
"message": "Succesfully deleted Web Application myfirstwebapp."
}
POST GIT - Cloning repository
The timeout for cloning your script is around TWO MINUTES
HTTP Request
POST https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/git
Arguments
Parameters |
Required |
Description |
provider |
YES |
"custom", "bitbucket", "github", "gitlab" |
repository |
YES |
Must use this format: <username>/<repository> |
branch |
YES |
Repository branch to clone |
gitUser |
YES if provider is "custom" |
Username of git server user |
gitHost |
YES if provider is "custom" |
Hostname of your GIT server |
Request
curl -X POST "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/git" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"provider": "github",
"repository": "coolcodemy/test",
"branch": "master"
}'
Response
{
"message": "Successfully attached GIT repository to Web Application myfirstwebapp.",
"git": {
"id": "G9yX2vJ728kL",
"provider": "github",
"host": null,
"user": null,
"repository": "coolcodemy\/test",
"repositoryURL": "https:\/\/github.com\/coolcodemy\/test",
"branch": "master",
"webhookURL": "https:\/\/manage.runcloud.io\/webhooks\/git\/DXtHZHB7fTUQ43Wu3AOuN8xb1519893718\/14caxEQhgBwY1YHbg4mBCmbLiSFQVnEf",
"autoDeploy": false,
"deployScript": "",
"created_at": "2018-03-01 20:55:28",
"created_at_humanize": "0 seconds ago",
"_links": {
"changebranch": {
"method": "patch",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/git\/G9yX2vJ728kL\/branch"
},
"updatescript": {
"method": "patch",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/git\/G9yX2vJ728kL\/script"
},
"manualdeploy": {
"method": "put",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/git\/G9yX2vJ728kL\/script"
},
"delete": {
"method": "delete",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/git\/G9yX2vJ728kL"
}
},
"webhookHistories": [],
"webhookErrors": []
}
}
GET GIT - Object
HTTP Request
GET https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/git
Request
curl -X GET "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/git" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"git": {
"id": "G9yX2vJ728kL",
"provider": "github",
"host": null,
"user": null,
"repository": "coolcodemy\/test",
"repositoryURL": "https:\/\/github.com\/coolcodemy\/test",
"branch": "master",
"webhookURL": "https:\/\/manage.runcloud.io\/webhooks\/git\/DXtHZHB7fTUQ43Wu3AOuN8xb1519893718\/14caxEQhgBwY1YHbg4mBCmbLiSFQVnEf",
"autoDeploy": false,
"deployScript": "",
"created_at": "2018-03-01 20:55:28",
"created_at_humanize": "5 minutes ago",
"_links": {
"changebranch": {
"method": "patch",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/git\/G9yX2vJ728kL\/branch"
},
"updatescript": {
"method": "patch",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/git\/G9yX2vJ728kL\/script"
},
"manualdeploy": {
"method": "put",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/git\/G9yX2vJ728kL\/script"
},
"delete": {
"method": "delete",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/git\/G9yX2vJ728kL"
}
},
"webhookHistories": [],
"webhookErrors": []
},
"hasScriptInstaller": false
}
PATCH GIT - Change branch
HTTP Request
PATCH https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/git/<git.id>/branch
Arguments
Parameters |
Required |
Description |
branch |
YES |
Available GIT branch for your repository |
Request
curl -X PATCH "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/git/G9yX2vJ728kL/branch" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"branch": "development"
}'
Response
{
"message": "Successfully changed branch to development.",
"resetForm": false
}
PATCH GIT - Customize deployment script
HTTP Request
PATCH https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/git/<git.id>/script
Arguments
Parameters |
Required |
Description |
autoDeploy |
YES |
Boolean true or false to enable deployment script |
deployScript |
NO |
The script that will be running when GIT Webhook URL got a hit |
Request
curl -X PATCH "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/git/G9yX2vJ728kL/script" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"autoDeploy": true,
"deployScript": "git merge\nphp artisan view:clear"
}'
Response
{
"message": "Deployment script updated",
"resetForm": false
}
PUT GIT - Force deploy using deployment script
HTTP Request
PUT https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/git/<git.id>/script
Request
curl -X PUT "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/git/G9yX2vJ728kL/script" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"message": "The deployment script will be running inside your server shortly."
}
DELETE GIT - Delete
HTTP Request
DELETE https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/git/<git.id>
Arguments
Parameters |
Required |
Description |
repository |
YES |
The repository of the attached GIT |
Request
curl -X DELETE "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/git/G9yX2vJ728kL" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"repository": "coolcodemy/test"
}'
Response
{
"message": "Successfully deleted GIT repository coolcodemy\/test from your server."
}
POST Script Installer - Install
HTTP Request
POST https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/installer
Arguments
Parameters |
Required |
Description |
scriptName |
YES |
You can get this from Static Data for Available Script Installer |
Request
curl -X POST "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/installer" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"scriptName": "wordpress"
}'
Response
{
"message": "Successfully triggered Wordpress installation. Your script will be ready in a few moments."
}
GET Script Installer - Object
HTTP Request
GET https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/installer
Request
curl -X GET "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/installer" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"script": {
"id": "4QEwaDWA791y",
"name": "WordPress",
"_links": {
"delete": {
"method": "delete",
"link": "https:\/\/runcloud.dev\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/installer\/4QEwaDWA791y"
}
}
},
"hasGit": false
}
DELETE Script Installer - Delete
HTTP Request
DELETE https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/installer/<installer.id>
Arguments
Parameters |
Required |
Description |
typeYes |
YES |
You need to send "YES" string |
Request
curl -X DELETE "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/installer/4QEwaDWA791y" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"typeYes": "YES"
}'
Response
{
"message": "Successfully deleted wordpress from your Web Application."
}
POST Domain Name - Add
HTTP Request
POST https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/domainname
Arguments
Parameters |
Required |
Description |
domainName |
YES |
The domain name you would like to add |
Request
curl -X POST "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/domainname" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"domainName": "www.example.com"
}'
Response
{
"message": "Successfully added new domain www.example.com to Web Application myfirstwebapp."
}
GET Domain Name - List
HTTP Request
GET https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/domainname
Request
curl -X GET "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/domainname" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"data": [
{
"id": "LR6YA0XgA71P",
"name": "example.com",
"_links": {
"delete": {
"method": "delete",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/domainname\/LR6YA0XgA71P"
}
}
},
{
"id": "QbyMAWZklEvL",
"name": "www.example.com",
"_links": {
"delete": {
"method": "delete",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/domainname\/QbyMAWZklEvL"
}
}
}
]
}
DELETE Domain Name - Delete
HTTP Request
DELETE https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/domainname/<domain.id>
Request
curl -X DELETE "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/domainname/QbyMAWZklEvL" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"message": "Successfully removed domain www.example.com from Web Application myfirstwebapp."
}
POST SSL - Install
HTTP Request
POST https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/ssl
Arguments
Parameters |
Required |
Description |
provider |
YES |
"letsencrypt" or "custom" |
enableHttp |
YES |
Boolean true or false |
enableHsts |
YES |
Boolean true or false |
http2 |
YES |
Boolean true or false (Hardcoded to TRUE for now) |
brotli |
YES |
Boolean true or false (Hardcoded to TRUE for now) |
authorizationMethod |
YES if provider is "letsencrypt" |
"http-01" or "dns-01" |
externalApi |
YES if provider is "letsencrypt" and authorizationMethod is "dns-01" |
Id of the 3rd Party API to use |
environment |
YES if provider is "letsencrypt" |
"live" or "staging" environment |
privateKey |
YES if provider is "custom" |
SSL Private Key |
certificate |
YES if provider is "custom" |
SSL Certificate |
Request
curl -X POST "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/ssl" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"provider": "custom",
"enableHttp": false,
"enableHsts": true,
"privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDem6F7HLVxStq/\n/t6aThEEntPgIjjgj1wL03hVTIHbDhzZ/hWh7KEo5nQCdL+HMJIGnpM/7htEVos0\nzkVT2QchP6p0p9PR1rY3+SVoxEcltJ9xug8EZ7Zut8F5VHjbNsTi7W0S3irj6MCg\nuVkSehE4PeV9P+zeXf+0Aa7KwDiQHI1krvqY9DQda4IGyPeZI3cFbzFBYHhUK5am\nLU3iSpwNdBPWsgxQNNtsFnfOvmhuxxZ8B55TKATAVZ6UDI4DR1ysyCsJv8bajWro\nCEIQ61dyJb+H5eyTrd86qN46mYgGLNdoClOhQ4QISoz8mhWzFf/oIUbiHzBpslvo\nrn+YPEvDAgMBAAECggEAXOcIqo+dra12w8ADeNRxx8LdW+IMaLOLz6euxbKLUzd9\nlQC0WIKf86jR66B7uljr6HVPsNOXb5rKt/wJ9OdTUW33nn3YKe/41j1VfnbD1pme\nHWFwGP+LpINt7EvzsFEYNDiwV7p+neUqVyljYhGtlBJI70+5dEg4ihBVuWolcQai\nH06XxdT72O41RKr/uSzKcuxZBQhdD9Y505UVMsHOjFu0HMUMZ/wk7msZg4nyYmfg\nW0h/LbzmzblbEzF+wd4PYTE5FC4SRiS1/E8aDe78Rg7ww7pxgW9OvGlMWv4lrfco\nBO430h+VBodQnHHaTj4lV59pYhQGvlHwkSDEHpuWAQKBgQD3Jh6sIY97kOCJ9oET\nlhsBZ6JICiqmsieWRuSmMoiErBezVZ9QS5C5GOL4GkPsc7Bw0s6RB+9TZsEPS3DH\nglpzr5a89d3BRlkSNFSSHeq/W8/s8DYvMoQeapYTr4ijH97y18IjChozx5fcmzQS\nY8J0hYOruabZgyjBvSABNxokwwKBgQDmlIR3Mj7YQsSyyvgOp0r0e1u2zNnnm5n6\nC/kZR1SuhVjQ2tdwPafqjdSoFimUMPrSmJBT6U7LqfEtRaByR9xEHR0d3qb8Ofni\nSngD4NWmPSX6GnWwJVsPHDSqn6JW1eEdAwMisB7F4FhRmvdffmIaVI89HZSuv5gl\n/uEQRGbNAQKBgH+ODQaJy6PaggiyUKvrLMTs17SWiqy+BfBpZljge9T9fL3x0ud+\nGJNvZLTn2WaPzuBr7HCtx7cjsUBTj0Fo5YYPeZzMyEaYKCBdIcjH6AAbQpTm5RA2\n4jlQiWRflAWczVRIRsoOzLcsrBQPhjB3jETXI73dc1+PcdmL4pi996BBAoGAEuob\n86srfJH9kK0VrB4NCAEWhOhI97bL6rcQuAIh8C8AGiHZiluEark3uJIY1w8thBj/\nveJllE9ceVo8zyMV7oB04v5gtFANL4LsVWUcIYbilqGVBd4KmjK2H0j5CCaDUN3u\nY+oOnCzLEeakZDD52y8UkO7cQ3l0AanmzG7QAAECgYBVTTgYqAoUG6wVuQw5Jrnz\n9/ItvU4zPKDadnoIRgMZq+wXo8f8dMSzNjlylv+vQF99E9NRMMIVbyeH4/q5ANGl\nkcFwSyAhE7z+uSV0Ho6OqZVqis8e9rcin9+opC5BePQAjgAyAYciXpE95YXQcYMM\nlXCUsdHQomIAwFN2TNWohQ==\n-----END PRIVATE KEY-----",
"certificate": "-----BEGIN CERTIFICATE-----\nMIIDuDCCAqACCQC6DH7qQzl7LTANBgkqhkiG9w0BAQsFADCBnTELMAkGA1UEBhMC\nTVkxDjAMBgNVBAgMBUpvaG9yMQ8wDQYDVQQHDAZTa3VkYWkxGzAZBgNVBAoMElJ1\nbkNsb3VkIFNkbi4gQmhkLjEUMBIGA1UECwwLRGV2ZWxvcG1lbnQxGDAWBgNVBAMM\nD3d3dy5leGFtcGxlLmNvbTEgMB4GCSqGSIb3DQEJARYRaGVsbG9AcnVuY2xvdWQu\naW8wHhcNMTgwMzAyMDMyNjI3WhcNMTkwMzAyMDMyNjI3WjCBnTELMAkGA1UEBhMC\nTVkxDjAMBgNVBAgMBUpvaG9yMQ8wDQYDVQQHDAZTa3VkYWkxGzAZBgNVBAoMElJ1\nbkNsb3VkIFNkbi4gQmhkLjEUMBIGA1UECwwLRGV2ZWxvcG1lbnQxGDAWBgNVBAMM\nD3d3dy5leGFtcGxlLmNvbTEgMB4GCSqGSIb3DQEJARYRaGVsbG9AcnVuY2xvdWQu\naW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDem6F7HLVxStq//t6a\nThEEntPgIjjgj1wL03hVTIHbDhzZ/hWh7KEo5nQCdL+HMJIGnpM/7htEVos0zkVT\n2QchP6p0p9PR1rY3+SVoxEcltJ9xug8EZ7Zut8F5VHjbNsTi7W0S3irj6MCguVkS\nehE4PeV9P+zeXf+0Aa7KwDiQHI1krvqY9DQda4IGyPeZI3cFbzFBYHhUK5amLU3i\nSpwNdBPWsgxQNNtsFnfOvmhuxxZ8B55TKATAVZ6UDI4DR1ysyCsJv8bajWroCEIQ\n61dyJb+H5eyTrd86qN46mYgGLNdoClOhQ4QISoz8mhWzFf/oIUbiHzBpslvorn+Y\nPEvDAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAA+HxyKESRAzUmDt1aE0v6u95QBB\niGGhVszAviF6ZKaf6bov0Ozq+67Pq+3Tksu685Giux+ZSWIlDi3zL4NWz+rcvIhO\nKoVAPPYawIAhOszSg3IGD0eVP1I7al5sME7GZPM3kPwxTNCv8z91mPaSyI5/k88c\nm62Fijn4k92kWDOMF7ANFST6JhujB8OitHLFjB1Rapi0H0TpgAtiHCNYcgmFL66e\nlOkmbGzzjdQGIGfY7H3owmkuI5FMycV5TYDkLChasYSlW0sQSJD1j1CiM+qSAE7Y\npWiuEVjrSYgJlcQfBnpQjkjAp2F4bp0TDQT7e+MNCOfA+lUdSWKyZVTLHF0=\n-----END CERTIFICATE-----"
}'
Response
{
"message": "Successfully added SSL\/TLS to Web Application myfirstwebapp.",
"ssl": {
"id": "rjJ8lrNl1pnb",
"method": "custom",
"method_humanize": "Custom",
"enableHTTP": "No",
"enableHSTS": "Yes",
"validUntil": null,
"renewal_date": null,
"runcloudAcme": false,
"authorizationMethod": null,
"certificate": "-----BEGIN CERTIFICATE-----\nMIIDuDCCAqACCQC6DH7qQzl7LTANBgkqhkiG9w0BAQsFADCBnTELMAkGA1UEBhMC\nTVkxDjAMBgNVBAgMBUpvaG9yMQ8wDQYDVQQHDAZTa3VkYWkxGzAZBgNVBAoMElJ1\nbkNsb3VkIFNkbi4gQmhkLjEUMBIGA1UECwwLRGV2ZWxvcG1lbnQxGDAWBgNVBAMM\nD3d3dy5leGFtcGxlLmNvbTEgMB4GCSqGSIb3DQEJARYRaGVsbG9AcnVuY2xvdWQu\naW8wHhcNMTgwMzAyMDMyNjI3WhcNMTkwMzAyMDMyNjI3WjCBnTELMAkGA1UEBhMC\nTVkxDjAMBgNVBAgMBUpvaG9yMQ8wDQYDVQQHDAZTa3VkYWkxGzAZBgNVBAoMElJ1\nbkNsb3VkIFNkbi4gQmhkLjEUMBIGA1UECwwLRGV2ZWxvcG1lbnQxGDAWBgNVBAMM\nD3d3dy5leGFtcGxlLmNvbTEgMB4GCSqGSIb3DQEJARYRaGVsbG9AcnVuY2xvdWQu\naW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDem6F7HLVxStq\/\/t6a\nThEEntPgIjjgj1wL03hVTIHbDhzZ\/hWh7KEo5nQCdL+HMJIGnpM\/7htEVos0zkVT\n2QchP6p0p9PR1rY3+SVoxEcltJ9xug8EZ7Zut8F5VHjbNsTi7W0S3irj6MCguVkS\nehE4PeV9P+zeXf+0Aa7KwDiQHI1krvqY9DQda4IGyPeZI3cFbzFBYHhUK5amLU3i\nSpwNdBPWsgxQNNtsFnfOvmhuxxZ8B55TKATAVZ6UDI4DR1ysyCsJv8bajWroCEIQ\n61dyJb+H5eyTrd86qN46mYgGLNdoClOhQ4QISoz8mhWzFf\/oIUbiHzBpslvorn+Y\nPEvDAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAA+HxyKESRAzUmDt1aE0v6u95QBB\niGGhVszAviF6ZKaf6bov0Ozq+67Pq+3Tksu685Giux+ZSWIlDi3zL4NWz+rcvIhO\nKoVAPPYawIAhOszSg3IGD0eVP1I7al5sME7GZPM3kPwxTNCv8z91mPaSyI5\/k88c\nm62Fijn4k92kWDOMF7ANFST6JhujB8OitHLFjB1Rapi0H0TpgAtiHCNYcgmFL66e\nlOkmbGzzjdQGIGfY7H3owmkuI5FMycV5TYDkLChasYSlW0sQSJD1j1CiM+qSAE7Y\npWiuEVjrSYgJlcQfBnpQjkjAp2F4bp0TDQT7e+MNCOfA+lUdSWKyZVTLHF0=\n-----END CERTIFICATE-----",
"privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDem6F7HLVxStq\/\n\/t6aThEEntPgIjjgj1wL03hVTIHbDhzZ\/hWh7KEo5nQCdL+HMJIGnpM\/7htEVos0\nzkVT2QchP6p0p9PR1rY3+SVoxEcltJ9xug8EZ7Zut8F5VHjbNsTi7W0S3irj6MCg\nuVkSehE4PeV9P+zeXf+0Aa7KwDiQHI1krvqY9DQda4IGyPeZI3cFbzFBYHhUK5am\nLU3iSpwNdBPWsgxQNNtsFnfOvmhuxxZ8B55TKATAVZ6UDI4DR1ysyCsJv8bajWro\nCEIQ61dyJb+H5eyTrd86qN46mYgGLNdoClOhQ4QISoz8mhWzFf\/oIUbiHzBpslvo\nrn+YPEvDAgMBAAECggEAXOcIqo+dra12w8ADeNRxx8LdW+IMaLOLz6euxbKLUzd9\nlQC0WIKf86jR66B7uljr6HVPsNOXb5rKt\/wJ9OdTUW33nn3YKe\/41j1VfnbD1pme\nHWFwGP+LpINt7EvzsFEYNDiwV7p+neUqVyljYhGtlBJI70+5dEg4ihBVuWolcQai\nH06XxdT72O41RKr\/uSzKcuxZBQhdD9Y505UVMsHOjFu0HMUMZ\/wk7msZg4nyYmfg\nW0h\/LbzmzblbEzF+wd4PYTE5FC4SRiS1\/E8aDe78Rg7ww7pxgW9OvGlMWv4lrfco\nBO430h+VBodQnHHaTj4lV59pYhQGvlHwkSDEHpuWAQKBgQD3Jh6sIY97kOCJ9oET\nlhsBZ6JICiqmsieWRuSmMoiErBezVZ9QS5C5GOL4GkPsc7Bw0s6RB+9TZsEPS3DH\nglpzr5a89d3BRlkSNFSSHeq\/W8\/s8DYvMoQeapYTr4ijH97y18IjChozx5fcmzQS\nY8J0hYOruabZgyjBvSABNxokwwKBgQDmlIR3Mj7YQsSyyvgOp0r0e1u2zNnnm5n6\nC\/kZR1SuhVjQ2tdwPafqjdSoFimUMPrSmJBT6U7LqfEtRaByR9xEHR0d3qb8Ofni\nSngD4NWmPSX6GnWwJVsPHDSqn6JW1eEdAwMisB7F4FhRmvdffmIaVI89HZSuv5gl\n\/uEQRGbNAQKBgH+ODQaJy6PaggiyUKvrLMTs17SWiqy+BfBpZljge9T9fL3x0ud+\nGJNvZLTn2WaPzuBr7HCtx7cjsUBTj0Fo5YYPeZzMyEaYKCBdIcjH6AAbQpTm5RA2\n4jlQiWRflAWczVRIRsoOzLcsrBQPhjB3jETXI73dc1+PcdmL4pi996BBAoGAEuob\n86srfJH9kK0VrB4NCAEWhOhI97bL6rcQuAIh8C8AGiHZiluEark3uJIY1w8thBj\/\nveJllE9ceVo8zyMV7oB04v5gtFANL4LsVWUcIYbilqGVBd4KmjK2H0j5CCaDUN3u\nY+oOnCzLEeakZDD52y8UkO7cQ3l0AanmzG7QAAECgYBVTTgYqAoUG6wVuQw5Jrnz\n9\/ItvU4zPKDadnoIRgMZq+wXo8f8dMSzNjlylv+vQF99E9NRMMIVbyeH4\/q5ANGl\nkcFwSyAhE7z+uSV0Ho6OqZVqis8e9rcin9+opC5BePQAjgAyAYciXpE95YXQcYMM\nlXCUsdHQomIAwFN2TNWohQ==\n-----END PRIVATE KEY-----",
"staging": false
"_links": {
"redeploy": {
"method": "patch",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/ssl"
},
"delete": {
"method": "delete",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/ssl\/rjJ8lrNl1pnb"
}
}
}
}
GET SSL - Object
HTTP Request
GET https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/ssl
Request
curl -X GET "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/ssl" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"id": "rjJ8lrNl1pnb",
"method": "custom",
"method_humanize": "Custom",
"enableHTTP": "No",
"enableHSTS": "Yes",
"validUntil": null,
"renewal_date": null,
"runcloudAcme": false,
"authorizationMethod": null,
"certificate": "-----BEGIN CERTIFICATE-----\nMIIDuDCCAqACCQC6DH7qQzl7LTANBgkqhkiG9w0BAQsFADCBnTELMAkGA1UEBhMC\nTVkxDjAMBgNVBAgMBUpvaG9yMQ8wDQYDVQQHDAZTa3VkYWkxGzAZBgNVBAoMElJ1\nbkNsb3VkIFNkbi4gQmhkLjEUMBIGA1UECwwLRGV2ZWxvcG1lbnQxGDAWBgNVBAMM\nD3d3dy5leGFtcGxlLmNvbTEgMB4GCSqGSIb3DQEJARYRaGVsbG9AcnVuY2xvdWQu\naW8wHhcNMTgwMzAyMDMyNjI3WhcNMTkwMzAyMDMyNjI3WjCBnTELMAkGA1UEBhMC\nTVkxDjAMBgNVBAgMBUpvaG9yMQ8wDQYDVQQHDAZTa3VkYWkxGzAZBgNVBAoMElJ1\nbkNsb3VkIFNkbi4gQmhkLjEUMBIGA1UECwwLRGV2ZWxvcG1lbnQxGDAWBgNVBAMM\nD3d3dy5leGFtcGxlLmNvbTEgMB4GCSqGSIb3DQEJARYRaGVsbG9AcnVuY2xvdWQu\naW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDem6F7HLVxStq\/\/t6a\nThEEntPgIjjgj1wL03hVTIHbDhzZ\/hWh7KEo5nQCdL+HMJIGnpM\/7htEVos0zkVT\n2QchP6p0p9PR1rY3+SVoxEcltJ9xug8EZ7Zut8F5VHjbNsTi7W0S3irj6MCguVkS\nehE4PeV9P+zeXf+0Aa7KwDiQHI1krvqY9DQda4IGyPeZI3cFbzFBYHhUK5amLU3i\nSpwNdBPWsgxQNNtsFnfOvmhuxxZ8B55TKATAVZ6UDI4DR1ysyCsJv8bajWroCEIQ\n61dyJb+H5eyTrd86qN46mYgGLNdoClOhQ4QISoz8mhWzFf\/oIUbiHzBpslvorn+Y\nPEvDAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAA+HxyKESRAzUmDt1aE0v6u95QBB\niGGhVszAviF6ZKaf6bov0Ozq+67Pq+3Tksu685Giux+ZSWIlDi3zL4NWz+rcvIhO\nKoVAPPYawIAhOszSg3IGD0eVP1I7al5sME7GZPM3kPwxTNCv8z91mPaSyI5\/k88c\nm62Fijn4k92kWDOMF7ANFST6JhujB8OitHLFjB1Rapi0H0TpgAtiHCNYcgmFL66e\nlOkmbGzzjdQGIGfY7H3owmkuI5FMycV5TYDkLChasYSlW0sQSJD1j1CiM+qSAE7Y\npWiuEVjrSYgJlcQfBnpQjkjAp2F4bp0TDQT7e+MNCOfA+lUdSWKyZVTLHF0=\n-----END CERTIFICATE-----",
"privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDem6F7HLVxStq\/\n\/t6aThEEntPgIjjgj1wL03hVTIHbDhzZ\/hWh7KEo5nQCdL+HMJIGnpM\/7htEVos0\nzkVT2QchP6p0p9PR1rY3+SVoxEcltJ9xug8EZ7Zut8F5VHjbNsTi7W0S3irj6MCg\nuVkSehE4PeV9P+zeXf+0Aa7KwDiQHI1krvqY9DQda4IGyPeZI3cFbzFBYHhUK5am\nLU3iSpwNdBPWsgxQNNtsFnfOvmhuxxZ8B55TKATAVZ6UDI4DR1ysyCsJv8bajWro\nCEIQ61dyJb+H5eyTrd86qN46mYgGLNdoClOhQ4QISoz8mhWzFf\/oIUbiHzBpslvo\nrn+YPEvDAgMBAAECggEAXOcIqo+dra12w8ADeNRxx8LdW+IMaLOLz6euxbKLUzd9\nlQC0WIKf86jR66B7uljr6HVPsNOXb5rKt\/wJ9OdTUW33nn3YKe\/41j1VfnbD1pme\nHWFwGP+LpINt7EvzsFEYNDiwV7p+neUqVyljYhGtlBJI70+5dEg4ihBVuWolcQai\nH06XxdT72O41RKr\/uSzKcuxZBQhdD9Y505UVMsHOjFu0HMUMZ\/wk7msZg4nyYmfg\nW0h\/LbzmzblbEzF+wd4PYTE5FC4SRiS1\/E8aDe78Rg7ww7pxgW9OvGlMWv4lrfco\nBO430h+VBodQnHHaTj4lV59pYhQGvlHwkSDEHpuWAQKBgQD3Jh6sIY97kOCJ9oET\nlhsBZ6JICiqmsieWRuSmMoiErBezVZ9QS5C5GOL4GkPsc7Bw0s6RB+9TZsEPS3DH\nglpzr5a89d3BRlkSNFSSHeq\/W8\/s8DYvMoQeapYTr4ijH97y18IjChozx5fcmzQS\nY8J0hYOruabZgyjBvSABNxokwwKBgQDmlIR3Mj7YQsSyyvgOp0r0e1u2zNnnm5n6\nC\/kZR1SuhVjQ2tdwPafqjdSoFimUMPrSmJBT6U7LqfEtRaByR9xEHR0d3qb8Ofni\nSngD4NWmPSX6GnWwJVsPHDSqn6JW1eEdAwMisB7F4FhRmvdffmIaVI89HZSuv5gl\n\/uEQRGbNAQKBgH+ODQaJy6PaggiyUKvrLMTs17SWiqy+BfBpZljge9T9fL3x0ud+\nGJNvZLTn2WaPzuBr7HCtx7cjsUBTj0Fo5YYPeZzMyEaYKCBdIcjH6AAbQpTm5RA2\n4jlQiWRflAWczVRIRsoOzLcsrBQPhjB3jETXI73dc1+PcdmL4pi996BBAoGAEuob\n86srfJH9kK0VrB4NCAEWhOhI97bL6rcQuAIh8C8AGiHZiluEark3uJIY1w8thBj\/\nveJllE9ceVo8zyMV7oB04v5gtFANL4LsVWUcIYbilqGVBd4KmjK2H0j5CCaDUN3u\nY+oOnCzLEeakZDD52y8UkO7cQ3l0AanmzG7QAAECgYBVTTgYqAoUG6wVuQw5Jrnz\n9\/ItvU4zPKDadnoIRgMZq+wXo8f8dMSzNjlylv+vQF99E9NRMMIVbyeH4\/q5ANGl\nkcFwSyAhE7z+uSV0Ho6OqZVqis8e9rcin9+opC5BePQAjgAyAYciXpE95YXQcYMM\nlXCUsdHQomIAwFN2TNWohQ==\n-----END PRIVATE KEY-----",
"staging": false
"_links": {
"redeploy": {
"method": "patch",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/ssl"
},
"delete": {
"method": "delete",
"link": "\/api\/servers\/yO4VAbX2BkNz\/webapps\/bZ0Ka4eK2PGR\/ssl\/rjJ8lrNl1pnb"
}
}
}
PATCH SSL - Redeploy (Let’s Encrypt only)
HTTP Request
PATCH https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/ssl
Request
curl -X PATCH "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/ssl" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"message": "Redeploying SSL/TLS to Web Application myfirstwebapp. Changes will happen shortly."
}
PATCH SSL - Update SSL Config
HTTP Request
PATCH https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/ssl/<ssl.id>
Arguments
Parameters |
Required |
Description |
enableHttp |
YES |
Boolean true or false |
enableHsts |
YES |
Boolean true or false |
privateKey |
YES if provider is "custom" |
SSL Private Key |
certificate |
YES if provider is "custom" |
SSL Certificate |
Request
curl -X PATCH "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/ssl/rjJ8lrNl1pnb" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"enableHttp": false,
"enableHsts": true,
"privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC9FYQwWBmV9zCO\nhW4ws7G66xhF6a5L07DpIIqlufaK/W0tZ1Hm4HgZmaSzi9OAPxqSwmQmQlUcGACn\nm31urCayB+WZw9Dpx6mhWXsa8SXaziF/V/saC3uG4R79GGaeSqSEnpmc7kMBIu2a\nN5FpztsyZpzxHYUVv82pS5YLxBwIo/2gsXbzRKWXbSTml+yqwlMFcsur9M6q/w9q\nd0j108g/l5Ei37ttwfegdY9pocUh6IcNyN0Xx981xAtIG78L2+sux9acyDaju4D+\nw76aD/9U1u2c0fccvE7ssoaeZgjAE6fjk+uLZFhd+8sRWElT0u6A9CZdxSCDcVUz\nn/OCPzBXAgMBAAECggEBAKeumB7jUjVbFHWfwLtx8BCqgkkl1csq/X2QvUQBKbHS\n0upr8QcFU5yoU5ZiTvsxexhhSb1gH+gdJR9+Vfs6sco6FJSLQg7AYR9UokafSonD\nOZOb63QKcM6JgBjFdeO0oDd4CxRPe55bYkjcNJmXt2338AAnxKkoAnO7M2JV1OKX\nO9DzSWQWTjlD5xn1aD4yA/xYr3WxFK3ZjRrVc+43IuM4O8/G5Y/ys929rWHyPMVD\nOoHiTyvlOgTFmtJJ8mgjFwfoOC5QjLOinqIxizld0fsuURDna8rLuOdRcg4jJisb\npjPbkcYGio36lahq+PhuDYRSlKLFv8j/R2HDrRvI9iECgYEA8di+6nKksZq31vQ2\n2gvBtsqVMcQ/Xl3J3MDm1NAL6RjpqH+tHw3Uxtk13+yunbPMsXDwRXRZGbQ2oyws\nenFsO5/yjYF3m90iaFpKy/vSsmXCXfzg15aj2UyVKQrpCfADC8otNvKde9d5GAdb\npjB5I5YPNTw5tMEyDsuhs86hL9ECgYEAyCZNIHF9zTfnNpEkV+6C8RlkFEkB5jH3\nwHMi+7x52GtHSV7LClKPs06Qm+/hYK9xyRJkZieMFMUHzayoh2jqczH3ca5TJEPX\naL5oKMwJFuRXGAIc6YMBa2W9yPvIfdThTSMooqCN4QL3X8fCMpll6i5Mwx8ulXbQ\nwO3Aiw0/z6cCgYEApXskbzFQpcHy5t8lpR8ERnnpiir5HS3ZkPZhO967N5z3THdI\nUwZYwFMh/P1rIbdEaWmYzj1lNiRMemwgZwuy/j1cbxzWZczy3SpjIZ5GthDQ5RTC\nGGIX7Pjs2y9+83DJ9Mg7Fez+ex2d2yY1vMpQKVxlPYzfA2JqSRtmoqzRN/ECgYAX\nE3No/izG8F8UB3/tM26dZZQIUrKJW9F4us2ZwI07yoKZjvhR5Fr1DWXW1L1jbFbu\nG9S/gmfALUdNC08S7aG6TlR9IuArGjdHuExCB+Q0Y3c3KWcz9QrA2yYaeg0PlO+0\n+QzCU0iIXNMwk9NsCguaCGSJSpsQWHaRB9hfL9PfmQKBgD51n8if1w5trN1nVP0A\nNjPHO2ZBprGkVKfMh4eT7wCmqz2lll7hwifI7iqkw4GiYiBLGSD311jWjnGmTsyW\npQgaLnvA/BMV2WrLjZ0ODpgAKqa5uLIIL5PJdBquloU78RnXsftQhGBBF9kfMV1Z\n3SbLDvxeIcDy+MP3Sw9YvVJ7\n-----END PRIVATE KEY-----",
"certificate": "-----BEGIN CERTIFICATE-----\nMIIDsDCCApgCCQCO0acPErSUUDANBgkqhkiG9w0BAQsFADCBmTELMAkGA1UEBhMC\nTVkxDjAMBgNVBAgMBUpvaG9yMQ8wDQYDVQQHDAZTa3VkYWkxGzAZBgNVBAoMElJ1\nbkNsb3VkIFNkbi4gQmhkLjEQMA4GA1UECwwHU3RhZ2luZzEYMBYGA1UEAwwPd3d3\nLmV4YW1wbGUuY29tMSAwHgYJKoZIhvcNAQkBFhFoZWxsb0BydW5jbG91ZC5pbzAe\nFw0xODAzMDIwNjU4NTNaFw0xOTAzMDIwNjU4NTNaMIGZMQswCQYDVQQGEwJNWTEO\nMAwGA1UECAwFSm9ob3IxDzANBgNVBAcMBlNrdWRhaTEbMBkGA1UECgwSUnVuQ2xv\ndWQgU2RuLiBCaGQuMRAwDgYDVQQLDAdTdGFnaW5nMRgwFgYDVQQDDA93d3cuZXhh\nbXBsZS5jb20xIDAeBgkqhkiG9w0BCQEWEWhlbGxvQHJ1bmNsb3VkLmlvMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvRWEMFgZlfcwjoVuMLOxuusYRemu\nS9Ow6SCKpbn2iv1tLWdR5uB4GZmks4vTgD8aksJkJkJVHBgAp5t9bqwmsgflmcPQ\n6cepoVl7GvEl2s4hf1f7Ggt7huEe/RhmnkqkhJ6ZnO5DASLtmjeRac7bMmac8R2F\nFb/NqUuWC8QcCKP9oLF280Sll20k5pfsqsJTBXLLq/TOqv8PandI9dPIP5eRIt+7\nbcH3oHWPaaHFIeiHDcjdF8ffNcQLSBu/C9vrLsfWnMg2o7uA/sO+mg//VNbtnNH3\nHLxO7LKGnmYIwBOn45Pri2RYXfvLEVhJU9LugPQmXcUgg3FVM5/zgj8wVwIDAQAB\nMA0GCSqGSIb3DQEBCwUAA4IBAQAZpo84syDaVCyhvIOSt4w5VmQ9szaKppLJf+FN\nZI0S8XF9BI8Zpcz6/0s0kDLf68/RxxXHSlv6dY35cxgbfQTIn7RZwfXglRSEB87t\neWTN0H7yERrJyJje/3O+anetnkEEpawts291FgoMojGyMho/OgtXczTy4XpxSn4V\n8TklCzdn11z05WNm4p6wPufgA01kzXhgfgrBSvdU+Nfpqrdu9DYgkz0HDSvDuk50\nGQ0EARJ/0Toc3LEhPAJTf3UL1nLoQy3j1B12gxY8YQAOiMGNqvi6aSnJV50A8Qhd\ntBAJ4JM9QNMP1en63max8GfnqBpiPIW14Xg/NxgeqsyY5U6g\n-----END CERTIFICATE-----"
}'
Response
{
"message": "Successfully updated SSL\/TLS Certificate for Web Application myfirstwebapp.",
"resetForm": false
}
DELETE SSL - Delete
HTTP Request
DELETE https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/ssl/<ssl.id>
Request
curl -X DELETE "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/ssl/rjJ8lrNl1pnb" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"message": "Successfully removed SSL\/TLS Certificate from Web Application myfirstwebapp."
}
PATCH Settings - Change PHP version
HTTP Request
PATCH https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/settings/phpversion
Arguments
Parameters |
Required |
Description |
phpVersion |
YES |
You can get this from server._extra.php.versions |
Request
curl -X PATCH "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/settings/phpversion" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"phpVersion": "php70rc"
}'
Response
{
"message": "Web Application myfirstwebapp will be updated to php70rc.",
"resetForm": false
}
PATCH Settings - PHP-FPM, NGiNX
HTTP Request
PATCH https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/settings/phpfpmnginx
Arguments
Parameters |
Required |
Description |
stack |
YES |
"hybrid", "nativenginx" or "customnginx" |
stackMode |
YES |
"production" or "development" |
clickjackingProtection |
YES |
Boolean true or false |
xssProtection |
YES |
Boolean true or false |
mimeSniffingProtection |
YES |
Boolean true or false |
processManager |
YES |
"dynamic", "ondemand", or "static" |
processManagerStartServers |
YES if processManager is "dynamic" |
Must be integer |
processManagerMinSpareServers |
YES if processManager is "dynamic" |
Must be integer |
processManagerMaxSpareServers |
YES if processManager is "dynamic" |
Must be integer |
processManagerMaxChildren |
YES |
Must be integer |
processManagerMaxRequests |
YES |
Must be integer |
openBasedir |
NO |
If you left this empty, open_basedir will be empty. To add a default value, use "/home/<systemuser.username>/webapps/<webApp.name>:/var/lib/php/session:/tmp" |
timezone |
YES |
You can get this from Static Data for Timezone |
disableFunctions |
NO |
If you left this empty, no php functions will be disabled. If you wanted to supply the default value, see the request example |
maxExecutionTime |
YES |
Integer. Use 0 for unlimited |
maxInputTime |
YES |
Integer. Use 0 for unlimited |
maxInputVars |
YES |
Integer. Use 0 for unlimited |
memoryLimit |
YES |
Integer. Supplied value is in MB. |
postMaxSize |
YES |
Integer. Supplied value is in MB. Use 0 for unlimited |
uploadMaxFilesize |
YES |
Integer. Supplied value is in MB. Use 0 for unlimited |
sessionGcMaxlifetime |
YES |
Integer. Supplied value is in seconds |
allowUrlFopen |
YES |
Boolean true or false |
Request
curl -X PATCH "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/settings/phpfpmnginx" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"stack": "hybrid",
"stackMode": "developement",
"clickjackingProtection": true,
"xssProtection": true,
"mimeSniffingProtection": true,
"processManager": "ondemand",
"processManagerMaxChildren": 300,
"processManagerMaxRequests": 300,
"openBasedir": "/home/runcloud/webapps/myfirstwebapp:/var/lib/php/session:/tmp",
"timezone": "Asia/Kuala_Lumpur",
"disableFunctions": "getmyuid,passthru,leak,listen,diskfreespace,tmpfile,link,ignore_user_abord,shell_exec,dl,set_time_limit,exec,system,highlight_file,source,show_source,fpassthru,virtual,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,proc_open,proc_close,proc_nice,proc_terminate,escapeshellcmd,ini_alter,popen,pcntl_exec,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,symlink,posix_geteuid,ini_alter,socket_listen,socket_create_listen,socket_read,socket_create_pair,stream_socket_server",
"maxExecutionTime": 60,
"maxInputTime": 120,
"maxInputVars": 1000,
"memoryLimit": 512,
"postMaxSize": 256,
"uploadMaxFilesize": 256,
"sessionGcMaxlifetime": 1440,
"allowUrlFopen": true
}'
Response
{
"message": "Changes will reflected on Web Application myfirstwebapp in a few moments.",
"resetForm": false
}
GET Log
HTTP Request
GET https://manage.runcloud.io/base-api/servers/<server.id>/webapps/<webApp.id>/log
Arguments
Parameters |
Required |
Description |
page |
NO |
Page number of the Web App log resources |
search |
NO |
Filter log |
Request
curl -X GET "https://manage.runcloud.io/base-api/servers/yO4VAbX2BkNz/webapps/bZ0Ka4eK2PGR/log?page=1" \
-u YOUR_API_KEY:YOUR_API_SECRET \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
{
"data": [
{
"id": "Nq02VLvJAE97",
"type": "App\\WebApplication",
"severity": 1,
"log": "Update Web Application configuration",
"created_at_date": "02 March 2018",
"created_at_time": "3:54:28 PM",
"created_at_humanize": "2 hours ago"
},
{
"id": "Lx1AMzemaROP",
"type": "App\\WebApplication",
"severity": 1,
"log": "Change PHP Version from php72rc to php70rc",
"created_at_date": "02 March 2018",
"created_at_time": "3:35:34 PM",
"created_at_humanize": "3 hours ago"
},
{
"id": "byMAWzvblEvL",
"type": "App\\WebApplication",
"severity": 3,
"log": "Deleted SSL\/TLS from Web Application",
"created_at_date": "02 March 2018",
"created_at_time": "3:17:30 PM",
"created_at_humanize": "3 hours ago"
}
],
"meta": {
"pagination": {
"total": 3,
"count": 3,
"per_page": 20,
"current_page": 1,
"total_pages": 1,
"links": []
}
}
}