Create web application
POST /servers/{serverId}/webapps/custom
Parameters
name required | String | Name of the Web Application |
domainName required | String | Domain name for the Web Application |
user required | Integer | The System User who will own this Web Application |
publicPath optional | String | Append a public path to a Web Application. If not defined, Web Application root path will be used as publicPath |
phpVersion required | String | Refer to Server section on how to get list of PHP version supported |
stack required | String | “hybrid”, “nativenginx”, or “customnginx” |
stackMode required | String | “production” or “development” |
clickjackingProtection required | Boolean | |
xssProtection required | Boolean | |
mimeSniffingProtection required | Boolean | |
processManager required | String | “dynamic”, “ondemand”, or “static” |
processManagerStartServers required if processManager is “dynamic” | Integer | |
processManagerMinSpareServers required if processManager is “dynamic” | Integer | |
processManagerMaxSpareServers required if processManager is “dynamic” | Integer | |
processManagerMaxChildren required | Integer | |
processManagerMaxRequests required | Integer | |
openBasedir optional | String | 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 required | String | You can get this from Static Data for Timezone |
disableFunctions optional | String | If you left this empty, no php functions will be disabled. If you wanted to supply the default value, see the request example |
maxExecutionTime required | Integer | Use 0 for unlimited |
maxInputTime required | Integer | Use 0 for unlimited |
maxInputVars required | Integer | Use 0 for unlimited |
memoryLimit required | Integer | Supplied value is in MB. |
postMaxSize required | Integer | Supplied value is in MB. Use 0 for unlimited |
uploadMaxFilesize required | Integer | Supplied value is in MB. Use 0 for unlimited |
sessionGcMaxlifetime required | Integer | Supplied value is in seconds |
allowUrlFopen required | Boolean |
HTTP Request
POST https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/custom
Request
curl --request POST \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/custom \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"name": "testing",
"domainName": "testing.com",
"user": 142,
"publicPath": null,
"phpVersion": "php73rc",
"stack": "hybrid",
"stackMode": "production",
"clickjackingProtection": true,
"xssProtection": true,
"mimeSniffingProtection": true,
"processManager": "ondemand",
"processManagerMaxChildren": 50,
"processManagerMaxRequests": 500,
"openBasedir": "/home/myuser/webapps/testing:/var/lib/php/session:/tmp",
"timezone": "UTC",
"disableFunctions": "getmyuid,passthru,leak,listen,diskfreespace,tmpfile,link,ignore_user_abort,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
{
"id": 109,
"server_user_id": 142,
"name": "testing",
"rootPath": "/home/myuser/webapps/testing",
"publicPath": "/home/myuser/webapps/testing",
"phpVersion": "php73rc",
"stack": "hybrid",
"stackMode": "production",
"type": "custom",
"defaultApp": false,
"alias": null,
"pullKey1": "jwMZwtXP3ItQRKKoMSZboAXr1561748870",
"pullKey2": "zU4gYF96NZGjNqGSjUhasn0YZmlK2Ctu",
"created_at": "2019-06-28 19:07:50"
}
List web applications
GET /servers/{serverId}/webapps
Query String Parameters
search optional | Searching string if you wanted to search from list of Web Apps |
HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{serverId}/webapps
Request
curl --request GET \
--url https://manage.runcloud.io/api/v2/servers/7/webapps \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"data": [
...
...
...
{
"id": 109,
"server_user_id": 142,
"name": "testing",
"rootPath": "\/home\/myuser\/webapps\/testing",
"publicPath": "\/home\/myuser\/webapps\/testing",
"phpVersion": "php73rc",
"stack": "hybrid",
"stackMode": "production",
"type": "custom",
"defaultApp": false,
"alias": null,
"pullKey1": "jwMZwtXP3ItQRKKoMSZboAXr1561748870",
"pullKey2": "zU4gYF96NZGjNqGSjUhasn0YZmlK2Ctu",
"created_at": "2019-06-28 19:07:50"
}
],
"meta": {
"pagination": {
"total": 6,
"count": 6,
"per_page": 15,
"current_page": 1,
"total_pages": 1,
"links": {}
}
}
}
Web application object
GET /servers/{serverId}/webapps/{webAppId}
HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}
Request
curl --request GET \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109 \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 109,
"server_user_id": 142,
"name": "testing",
"rootPath": "/home/myuser/webapps/testing",
"publicPath": "/home/myuser/webapps/testing",
"phpVersion": "php73rc",
"stack": "hybrid",
"stackMode": "production",
"type": "custom",
"defaultApp": false,
"alias": null,
"pullKey1": "jwMZwtXP3ItQRKKoMSZboAXr1561748870",
"pullKey2": "zU4gYF96NZGjNqGSjUhasn0YZmlK2Ctu",
"created_at": "2019-06-28 19:07:50"
}
Set as default
POST /servers/{serverId}/webapps/{webAppId}/default
HTTP Request
POST https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/default
Request
curl --request POST \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/default \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 109,
"server_user_id": 142,
"name": "testing",
"rootPath": "/home/myuser/webapps/testing",
"publicPath": "/home/myuser/webapps/testing",
"phpVersion": "php73rc",
"stack": "hybrid",
"stackMode": "production",
"type": "custom",
"defaultApp": true,
"alias": null,
"pullKey1": "jwMZwtXP3ItQRKKoMSZboAXr1561748870",
"pullKey2": "zU4gYF96NZGjNqGSjUhasn0YZmlK2Ctu",
"created_at": "2019-06-28 19:07:50"
}
Remove from default
DELETE /servers/{serverId}/webapps/{webAppId}/default
The return value will get defaultApp = true. You need to GET the web application object to get the newest defaultApp value. The value will only change to false when our server has successfully contacted your server.
HTTP Request
DELETE https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/default
Request
curl --request DELETE \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/default \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 109,
"server_user_id": 142,
"name": "testing",
"rootPath": "/home/myuser/webapps/testing",
"publicPath": "/home/myuser/webapps/testing",
"phpVersion": "php73rc",
"stack": "hybrid",
"stackMode": "production",
"type": "custom",
"defaultApp": true,
"alias": null,
"pullKey1": "jwMZwtXP3ItQRKKoMSZboAXr1561748870",
"pullKey2": "zU4gYF96NZGjNqGSjUhasn0YZmlK2Ctu",
"created_at": "2019-06-28 19:07:50"
}
Rebuild web application
PATCH /servers/{serverId}/webapps/{webAppId}/rebuild
HTTP Request
PATCH https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/rebuild
Request
curl --request POST \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/rebuild \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 109,
"server_user_id": 142,
"name": "testing",
"rootPath": "/home/myuser/webapps/testing",
"publicPath": "/home/myuser/webapps/testing",
"phpVersion": "php73rc",
"stack": "hybrid",
"stackMode": "production",
"type": "custom",
"defaultApp": false,
"alias": null,
"pullKey1": "jwMZwtXP3ItQRKKoMSZboAXr1561748870",
"pullKey2": "zU4gYF96NZGjNqGSjUhasn0YZmlK2Ctu",
"created_at": "2019-06-28 19:07:50"
}
Create web application alias
POST /servers/{serverId}/webapps/{webAppId}/alias
Parameters
name required | String | Name of the Web Application |
domainName required | String | Domain name for the Web Application |
user required | Integer | The System User who will own this Web Application |
publicPath optional | String | Append a public path to a Web Application. If not defined, Web Application root path will be used as publicPath |
phpVersion required | String | Refer to Server section on how to get list of PHP version supported |
stack required | String | “hybrid”, “nativenginx”, or “customnginx” |
stackMode required | String | “production” or “development” |
clickjackingProtection required | Boolean | |
xssProtection required | Boolean | |
mimeSniffingProtection required | Boolean | |
processManager required | String | “dynamic”, “ondemand”, or “static” |
processManagerStartServers required if processManager is “dynamic” | Integer | |
processManagerMinSpareServers required if processManager is “dynamic” | Integer | |
processManagerMaxSpareServers required if processManager is “dynamic” | Integer | |
processManagerMaxChildren required | Integer | |
processManagerMaxRequests required | Integer | |
openBasedir optional | String | 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 required | String | You can get this from Static Data for Timezone |
disableFunctions optional | String | If you left this empty, no php functions will be disabled. If you wanted to supply the default value, see the request example |
maxExecutionTime required | Integer | Use 0 for unlimited |
maxInputTime required | Integer | Use 0 for unlimited |
maxInputVars required | Integer | Use 0 for unlimited |
memoryLimit required | Integer | Supplied value is in MB. |
postMaxSize required | Integer | Supplied value is in MB. Use 0 for unlimited |
uploadMaxFilesize required | Integer | Supplied value is in MB. Use 0 for unlimited |
sessionGcMaxlifetime required | Integer | Supplied value is in seconds |
allowUrlFopen required | Boolean |
HTTP Request
POST https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/alias
Request
curl --request POST \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/alias \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"name": "testing",
"domainName": "testing.com",
"user": 142,
"publicPath": null,
"phpVersion": "php73rc",
"stack": "hybrid",
"stackMode": "production",
"clickjackingProtection": true,
"xssProtection": true,
"mimeSniffingProtection": true,
"processManager": "ondemand",
"processManagerMaxChildren": 50,
"processManagerMaxRequests": 500,
"openBasedir": "/home/myuser/webapps/testing:/var/lib/php/session:/tmp",
"timezone": "UTC",
"disableFunctions": "getmyuid,passthru,leak,listen,diskfreespace,tmpfile,link,ignore_user_abort,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
{
"id": 109,
"server_user_id": 142,
"name": "testing",
"rootPath": "/home/myuser/webapps/testing",
"publicPath": "/home/myuser/webapps/testing",
"phpVersion": "php73rc",
"stack": "hybrid",
"stackMode": "production",
"type": "custom",
"defaultApp": false,
"alias": 153,
"pullKey1": "jwMZwtXP3ItQRKKoMSZboAXr1561748870",
"pullKey2": "zU4gYF96NZGjNqGSjUhasn0YZmlK2Ctu",
"created_at": "2019-06-28 19:07:50"
}
Cloning GIT repository
POST /servers/{serverId}/webapps/{webAppId}/git
The timeout for cloning your script is around TWO MINUTES
You can construct Webhook URL using this template: https://manage.runcloud.io/webhooks/git/{webApp.pullKey1}/{webApp.pullKey2}.
For example, https://manage.runcloud.io/webhooks/git/jwMZwtXP3ItQRKKoMSZboAXr1561748870/zU4gYF96NZGjNqGSjUhasn0YZmlK2Ctu
Parameters
provider required | String | “custom”, “bitbucket”, “github”, “gitlab”, “selfhostedgitlab” |
repository required | String | Must use this format: <username>/<repository> |
branch required | String | Repository branch to clone |
gitUser required if provider is “custom” or “selfhostedgitlab” | String | Username of git server user |
gitHost required if provider is “custom” or “selfhostedgitlab” | String | Hostname of your GIT server |
HTTP Request
POST https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/git
Request
curl --request POST \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/git \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"provider": "github",
"repository": "coolcodemy/test",
"branch": "master"
}'
Response
{
"id": 37,
"provider": "github",
"gitHost": null,
"gitUser": null,
"branch": "master",
"repositoryData": {
"url": "https://github.com/coolcodemy/test",
"repo": "[email protected]:coolcodemy/test.git"
},
"atomic": false,
"atomic_project_id": null,
"autoDeploy": false,
"deployScript": null,
"created_at": "2019-06-29 03:36:36"
}
GIT Object
GET /servers/{serverId}/webapps/{webAppId}/git
HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/git
Request
curl --request GET \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/git \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 37,
"provider": "github",
"gitHost": null,
"gitUser": null,
"branch": "master",
"repositoryData": {
"url": "https://github.com/coolcodemy/test",
"repo": "[email protected]:coolcodemy/test.git"
},
"atomic": false,
"atomic_project_id": null,
"autoDeploy": false,
"deployScript": null,
"created_at": "2019-06-29 03:36:36"
}
Change GIT branch
PATCH /servers/{serverId}/webapps/{webAppId}/git/{gitId}/branch
Parameters
branch required | String | Available GIT branch for your repository |
HTTP Request
PATCH https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/git/{gitId}/branch
Request
curl --request PATCH \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/git/37/branch \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"branch": "dev"
}'
Response
{
"id": 37,
"provider": "github",
"gitHost": null,
"gitUser": null,
"branch": "dev",
"repositoryData": {
"url": "https://github.com/coolcodemy/test",
"repo": "[email protected]:coolcodemy/test.git"
},
"atomic": false,
"atomic_project_id": null,
"autoDeploy": false,
"deployScript": null,
"created_at": "2019-06-29 03:36:36"
}
Customize GIT deployment script
PATCH /servers/{serverId}/webapps/{webAppId}/git/{gitId}/script
Parameters
autoDeploy required | Boolean | Enable deployment script |
deployScript optional | String | The script that will be running when GIT Webhook URL got a hit |
HTTP Request
PATCH https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/git/{gitId}/script
Request
curl --request PATCH \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/git/37/script \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"autoDeploy": true,
"deployScript": "git merge\nphp artisan migrate"
}'
Response
{
"id": 37,
"provider": "github",
"gitHost": null,
"gitUser": null,
"branch": "dev",
"repositoryData": {
"url": "https://github.com/coolcodemy/test",
"repo": "[email protected]:coolcodemy/test.git"
},
"atomic": false,
"atomic_project_id": null,
"autoDeploy": true,
"deployScript": "git merge\nphp artisan migrate",
"created_at": "2019-06-29 03:36:36"
}
Force deployment using deployment script
PUT /servers/{serverId}/webapps/{webAppId}/git/{gitId}/script
HTTP Request
PUT https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/git/{gitId}/script
Request
curl --request PUT \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/git/37/script \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
Remove GIT repository
DELETE /servers/{serverId}/webapps/{webAppId}/git/{gitId}
HTTP Request
DELETE https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/git/{gitId}
Request
curl --request DELETE \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/git/37 \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 37,
"provider": "github",
"gitHost": null,
"gitUser": null,
"branch": "dev",
"repositoryData": {
"url": "https://github.com/coolcodemy/test",
"repo": "[email protected]:coolcodemy/test.git"
},
"atomic": false,
"atomic_project_id": null,
"autoDeploy": true,
"deployScript": "git merge\nphp artisan migrate",
"created_at": "2019-06-29 03:36:36"
}
Install PHP Script
POST /servers/{serverId}/webapps/{webAppId}/installer
Parameters
name required | String | Available options: “concrete5”, “drupal”, “grav”, “gravadmin”, “joomla”, “myBB”, “phpBB”, “phpMyAdmin”, “piwik”, “prestaShop”, “wordpress” |
HTTP Request
POST https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/installer
Request
curl --request POST \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/installer \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"name": "wordpress"
}'
Response
{
"id": 2,
"name": "wordpress",
"realName": "WordPress",
"created_at": "2019-06-29 15:22:57"
}
PHP Script object
GET /servers/{serverId}/webapps/{webAppId}/installer
HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/installer
Request
curl --request GET \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/installer \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 2,
"name": "wordpress",
"realName": "WordPress",
"created_at": "2019-06-29 15:22:57"
}
Remove PHP Script
DELETE /servers/{serverId}/webapps/{webAppId}/installer/{installerId}
HTTP Request
DELETE https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/installer/{installerId}
Request
curl --request DELETE \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/installer/2 \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 2,
"name": "wordpress",
"realName": "WordPress",
"created_at": "2019-06-29 15:22:57"
}
Add Domain Name
POST /servers/{serverId}/webapps/{webAppId}/domains
Parameters
name required | String | The domain name you would like to add |
www optional | Boolean | It’s either “true” or “false” |
redirection optional | Boolean | It’s either “none”, “www” or “non-www” |
type optional | String | Domain name could set as “alias” or “primary” or “redirect. Default value if it is the first domain was “primary” else “alias” |
HTTP Request
POST https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/domains
Request
curl --request POST \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/domains \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"name" : "*.testing.com",
"www" : true,
"redirection" : "none",
"type" : "primary"
}'
Response
{
"id": 11,
"name": "*.testing.com",
"type": "primary",
"www": 1,
"redirection": "none",
"wildcard": 0,
"dns_integration": "none",
"status": null,
"created_at": "2021-06-17 04:28:16"
}
List Domain Names
GET /servers/{serverId}/webapps/{webAppId}/domains
HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/domains
Request
curl --request GET \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/domains \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"data": [
{
"id": 128,
"name": "*.testing.com",
"type": "primary",
"www": 0,
"redirection": "non-www",
"wildcard": 0,
"dns_integration": "none",
"status": null,
"created_at": "2019-06-30 06:13:29"
},
{
"id": 126,
"name": "testing.com",
"type": "primary",
"www": 0,
"redirection": "non-www",
"wildcard": 0,
"dns_integration": "none",
"status": null,
"created_at": "2019-06-28 19:07:50"
}
],
"meta": {
"pagination": {
"total": 2,
"count": 2,
"per_page": 100,
"current_page": 1,
"total_pages": 1,
"links": {}
}
}
}
Domain Name Object
GET /servers/{serverId}/webapps/{webAppId}/domains/{domainId}
HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/domains/{domainId}
Request
curl --request GET \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/domains/128 \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 128,
"name": "*.testing.com",
"type": "primary",
"www": 0,
"redirection": "non-www",
"wildcard": 0,
"dns_integration": "none",
"status": null,
"created_at": "2019-06-30 06:13:29"
}
Delete Domain Name
DELETE /servers/{serverId}/webapps/{webAppId}/domains/{domainId}
HTTP Request
DELETE https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/domains/{domainId}
Request
curl --request DELETE \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/domains/128 \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 128,
"name": "*.testing.com",
"type": "alias",
"www": 0,
"redirection": "none",
"wildcard": 0,
"dns_integration": "none",
"status": null,
"created_at": "2019-06-30 06:13:29"
}
SSL Basic – Install SSL
POST /servers/{serverId}/webapps/{webAppId}/ssl
Parameters
provider required | String | “letsencrypt” , “custom” or “csr” |
enableHttp required | Boolean | Either “true” or “false” |
enableHsts required | Boolean | Either “true” or “false” |
ssl_protocol_id Optional | Integer | SSL Protocol. You can get this value from Static Data API. It will use latest possible value if not supplied. |
authorizationMethod required if provider is “letsencrypt” | String | “http-01” or “dns-01” |
externalApi required if provider is “letsencrypt” and authorizationMethod is “dns-01” | Integer | Id of the 3rd Party API to use. |
environment required if provider is “letsencrypt” | String | “live” or “staging” environment |
privateKey required if provider is “custom” | RSA Private Key String | SSL Private Key |
certificate required if provider is “custom” | RSA Public Key String | SSL Certificate |
csrKeyType required if provider is “csr” | String | “rsa-2048”, “ecdsa-p384”, “ecdsa-p256” and “rsa-4096” |
organization Optional if provider is csr | String | Your organization name, default value was RunCloud Organization |
department Optional if provider is csr | String | Your department name, default value was RunCloud Department |
city Optional if provider is csr | String | Your city name, default value for city where RunCloud Organization has been found |
state Optional if provider is csr | String | Your state name, default value for state where RunCloud Organization has been found |
country Optional if provider is csr | String | Your country name, default value for country where RunCloud Organization has been found |
HTTP Request
POST https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/ssl
Request
curl --request POST \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/ssl \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"provider": "custom",
"enableHttp": false,
"enableHsts": true,
"ssl_protocol_id": 3,
"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
{
"id": 9,
"method": "custom",
"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-----",
"validUntil": "2019-03-02 03:26:27",
"renewalDate": null,
"enableHttp": false,
"enableHsts": true,
"authorizationMethod": null,
"staging": false,
"api_id": null,
"ssl_protocol_id": 3,
"created_at": "2019-06-30 11:37:29"
}
SSL Basic – SSL Object
GET /servers/{serverId}/webapps/{webAppId}/ssl
HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/ssl
Request
curl --request GET \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/ssl \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 9,
"method": "custom",
"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-----",
"validUntil": "2019-03-02 03:26:27",
"renewalDate": null,
"enableHttp": false,
"enableHsts": true,
"authorizationMethod": null,
"staging": false,
"api_id": null,
"ssl_protocol_id": 3,
"created_at": "2019-06-30 11:37:29"
}
SSL Basic – Update SSL Config
PATCH /servers/{serverId}/webapps/{webAppId}/ssl/{sslId}
Parameters
enableHttp required | Boolean true or false | |
enableHsts required | Boolean true or false | |
ssl_protocol_id OPTIONAL | Integer | SSL Protocol. You can get this value from Static Data API. It will current value if not supplied. |
privateKey required if provider is “custom” | SSL Private Key | |
certificate required if provider is “custom” | SSL Certificate |
HTTP Request
PATCH https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/ssl/{sslId}
Request
curl --request PATCH \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/ssl/9 \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"enableHttp": true,
"enableHsts": false,
"ssl_protocol_id": 2,
"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
{
"id": 9,
"method": "custom",
"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-----",
"validUntil": "2019-03-02 03:26:27",
"renewalDate": null,
"enableHttp": true,
"enableHsts": false,
"authorizationMethod": null,
"staging": false,
"api_id": null,
"ssl_protocol_id": 2,
"created_at": "2019-06-30 11:37:29"
}
SSL Basic – Redeploy SSL (Let’s Encrypt only)
PUT /servers/{serverId}/webapps/{webAppId}/ssl/{sslId}
HTTP Request
PUT https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/ssl/{sslId}
Request
curl --request PUT \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/ssl/10 \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 10,
"method": "letsencrypt",
"privateKey": null,
"certificate": null,
"validUntil": null,
"renewalDate": null,
"enableHttp": true,
"enableHsts": false,
"authorizationMethod": "dns-01",
"staging": true,
"api_id": 2,
"ssl_protocol_id": 2,
"created_at": "2019-06-30 13:43:38"
}
SSL Basic – Delete SSL
DELETE /servers/{serverId}/webapps/{webAppId}/ssl/{sslId}
HTTP Request
DELETE https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/ssl/{sslId}
Request
curl --request DELETE \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/ssl/9 \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 9,
"method": "custom",
"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-----",
"validUntil": "2019-03-02 03:26:27",
"renewalDate": null,
"enableHttp": true,
"enableHsts": false,
"authorizationMethod": null,
"staging": false,
"api_id": null,
"ssl_protocol_id": 2,
"created_at": "2019-06-30 11:37:29"
}
SSL Advanced – Status
Note : This API endpoint is available for Business plan user only. For non Business user, 403 HTTP response is returned.
GET /servers/{serverId}/webapps/{webAppId}/ssl/advanced
HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/ssl/advanced
Request
curl --request GET \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/ssl/advanced \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"advancedSSL": false,
"autoSSL": false
}
SSL Advanced – Switching SSL
POST /servers/{serverId}/webapps/{webAppId}/ssl/advanced
Note : This API endpoint is available for Business plan user only. For non Business user, 403 HTTP response is returned.
Parameters
advancedSSL required | boolean | Enable advanced SSL |
autoSSL optional | boolean | Auto SSL will automatically set to “false” by default |
HTTP Request
POST https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/ssl/advanced
Request
curl --request GET \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/ssl/advanced \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"advancedSSL" : true,
"autoSSL" : false
}'
Response
{
"advancedSSL": true,
"autoSSL": false
}
SSL Advanced – Install SSL
POST /servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl
Note : This API endpoint is available for Business plan user only. For non Business user, 403 HTTP response is returned.
Parameters
provider required | String | “letsencrypt” , “custom” or “csr” |
enableHttp required | Boolean | Either “true” or “false” |
enableHsts required | Boolean | Either “true” or “false” |
ssl_protocol_id Optional | Integer | SSL Protocol. You can get this value from Static Data API. It will use latest possible value if not supplied. |
authorizationMethod required if provider is “letsencrypt” | String | “http-01” or “dns-01” |
externalApi required if provider is “letsencrypt” and authorizationMethod is “dns-01” | Integer | Id of the 3rd Party API to use. |
environment required if provider is “letsencrypt” | String | “live” or “staging” environment |
privateKey required if provider is “custom” | RSA Private Key String | SSL Private Key |
certificate required if provider is “custom” | RSA Public Key String | SSL Certificate |
csrKeyType Optional if provider is csr | String | “rsa-2048”, “ecdsa-p384”, “ecdsa-p256” and “rsa-4096” |
organization Optional if provider is csr | String | Your organization name, default value was RunCloud Organization |
department Optional if provider is csr | String | Your department name, default value was RunCloud Department |
city Optional if provider is csr | String | Your city name, default value for city where RunCloud Organization has been found |
state Optional if provider is csr | String | Your state name, default value for state where RunCloud Organization has been found |
country Optional if provider is csr | String | Your country name, default value for country where RunCloud Organization has been found |
HTTP Request
POST https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl
Request
curl --request POST \
--url https://manage.runcloud.io/api/v2/servers/9/webapps/52/domains/2/ssl \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"provider": "csr",
"enableHttp": false,
"enableHsts": true
}'
Response
{
"id": 1,
"method": "csr",
"privateKey": "-----BEGIN RSA PRIVATE KEY-----\r\nMIIEpQIBAAKCAQEA1LAZqcYdFSWppXG6UvUSD0+44GZ5ThOkMi0cb6FxI/m4tjbk\r\nd3AHvWzk1qeZhfMjpuhqrhjYQOG4DwACeACsBZCpxX5VFfi06ubHXTS0xHNLoi7L\r\neR1S5td8yWUkhBZwUpTQ9wUWLC66TpNauRvn/R6PwwGQHIJk9cNDQHoyDQVd8MP4\r\n4XV6+F5Dwp8eQiv8fDMbhBbO9IJguo2tA3jG9cxtpGL84mt+QKKGq8WGPalADWT0\r\nQ7DcOMVrK4FoytaiPJ5tjFqxmv6V/n3QCzRYyXQMM2dOOycveg8ImuXr3SlgMP4l\r\n8ZrsM/I8dn3/5uKvCvBWEhD1vFTsgjRLftooTwIDAQABAoIBAQCtUaw4G4fLmdt7\r\nRQhPXgKPk6nWw+sKYxslAHnxxh/K709EvcrEQfkstjZtbjq/W3msJC37Hafsh4RU\r\nRO++Ft4X0uFmXSK9OuVDnzjLjY3ZoRL7YSLS2cCa+PNpsxBky1xRD5CSHAULkDCm\r\no5IE0ubj8Cm7AeUMNn5LgAmn22w6Cq7xax9tmX9hnWggtRorViwvuxrVZFeYA/iO\r\n1ycp/e0nf23CQDwNDdZnggMHHOjc3rTBc/pJja9iFE45y254l7nOJCNBFkiIItQV\r\nOzz8fqu56FQqc4GmxRV4hIQVNZBgz447cXIlYOno97Wqm+rB3UDx7GXV8csVk108\r\njF5nXDqRAoGBAPOQ2mLrR+r4fHdEk4NHTCcWhBVYJfvhgqgyPq6oE8KTIAlWDa1d\r\nsJDF3rPKZQiOXNLz0ja+xSmQMo4O1/uZGrmQSeb0fxQjGWqhgHd7HcD76hkEDckk\r\nncoTL2rWSjdRngEJLvv0U2tvHJfoOBYqirvOSwrc67UiZ8zfCxwCY7wtAoGBAN+L\r\ntIv6aTUtWV5KO0vT/2fZBJgrMmduLDrwju3JCQF7vY5WL1q/iXijGF5OsnMmV3P0\r\nK8mU8z92hZMjf7tO+5pDIgs4/N1L0Uj3qLE26/pdCS/7SNt3C31cjGYWoEyj23JG\r\n0xPUe1fN8acdKxxpzz8BpCdyWa2qUVnjVAF60ffrAoGBAOG5HKsP4VahcrgVlZ/U\r\nM38GHuKpDoqgM7Ys2mqC2c05DDeayJIigb+poPp+V6PWS7A0xlx178LVIAUHPKKv\r\nAVV3owWnER5YaPWpNqWEM87lp84HM791b8YWgZtBfQZHXWcYW7Kke6rVDmq5i0D/\r\nrBLg3Cr1EnyLpib3jhQnIscBAoGAeeQ8i0L8kPFsVHyXfo5XKrHrzmlnb3xkg7Ld\r\nzIyc64EkZ/NYmNvtwqjzxaCVrzIN530RTzZ3uHgQ950YrfKwQHowmvv07VnFAUuB\r\nYTf4TijitJYJMRnlWvLW32eg+okyREqYF6z5oHP8O0otUq3jQpDLiHLSsV44Q5Iw\r\nISpuSQcCgYEAzPyzlWEk/PNdlu+kKQyRhrPeCAp4rdCrqYPD40Lf9KVftTeyUZru\r\nhLX5aGIIgm5Ke1nk+gDmmgMb98RxO6LAfPEreMqujqtAIEU5htksMrmDIi4aOCLR\r\ni3/Y3EtnFt5B380TinFOWTZcy+zuBbAsH0V8RPHT3NoxXh6fmUZnI+I=\r\n-----END RSA PRIVATE KEY-----",
"certificate": "-----BEGIN CERTIFICATE-----\r\nMIIEMTCCAxmgAwIBAgIUQmYhdrAOzmtTBMJaa65q5PlEemIwDQYJKoZIhvcNAQEL\r\nBQAwgakxCzAJBgNVBAYTAk1ZMREwDwYDVQQIDAhTZWxhbmdvcjESMBAGA1UEBwwJ\r\nQ3liZXJqYXlhMRswGQYDVQQKDBJSdW5DbG91ZCBTZG4uIEJoZC4xFDASBgNVBAsM\r\nC0VuZ2luZWVyaW5nMSAwHgYDVQQDDBdSdW5DbG91ZCBXZWJTU0wgUm9vdCBDQTEe\r\nMBwGCSqGSIb3DQEJARYPZGV2QHJ1bmNsb3VkLmlvMB4XDTIxMDcwNDAyMDM0MFoX\r\nDTIzMTAwNDAyMDM0MFowcTETMBEGA1UECgwKTXkgQ29tcGFueTELMAkGA1UECwwC\r\nSVQxDTALBgNVBAcMBENpdHkxDjAMBgNVBAgMBVN0YXRlMQswCQYDVQQGDAJVUzEh\r\nMB8GA1UEAwwYUnVuQ2xvdWQgV2ViIENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0B\r\nAQEFAAOCAQ8AMIIBCgKCAQEA1LAZqcYdFSWppXG6UvUSD0+44GZ5ThOkMi0cb6Fx\r\nI/m4tjbkd3AHvWzk1qeZhfMjpuhqrhjYQOG4DwACeACsBZCpxX5VFfi06ubHXTS0\r\nxHNLoi7LeR1S5td8yWUkhBZwUpTQ9wUWLC66TpNauRvn/R6PwwGQHIJk9cNDQHoy\r\nDQVd8MP44XV6+F5Dwp8eQiv8fDMbhBbO9IJguo2tA3jG9cxtpGL84mt+QKKGq8WG\r\nPalADWT0Q7DcOMVrK4FoytaiPJ5tjFqxmv6V/n3QCzRYyXQMM2dOOycveg8ImuXr\r\n3SlgMP4l8ZrsM/I8dn3/5uKvCvBWEhD1vFTsgjRLftooTwIDAQABo4GHMIGEMA4G\r\nA1UdDwEB/wQEAwIF4DAPBgNVHRMBAf8EBTADAgEAMB0GA1UdJQQWMBQGCCsGAQUF\r\nBwMBBggrBgEFBQcDAjAhBgNVHREEGjAYgglrdWNpbmcucmOCCyoua3VjaW5nLnJj\r\nMB8GA1UdIwQYMBaAFLLyby7gHA8E+5L84arEyafndfixMA0GCSqGSIb3DQEBCwUA\r\nA4IBAQBnMSKMz7DNm03OVrhPydxS6X6n2Ma6IucyWwrggPlQf0DjqZe8DpTZq+Zm\r\nRZmPvx0f4oL1JnWpRkG+BUTUlQtM0Db70ezrRqWGzll9tCQhkagrIGQGi51TeYf9\r\nY8lhTOwSIBP9c17jCuAxrAajZVcHW+jJTSc+ExFYBhIuiWQqH8PAFNfxMXRqZ6Lp\r\nDBz16iUqGRnweuus51jK1gZkr356k2RIQFErhXHQobuC48+bt0fWVl+VaDfaXpnT\r\nngG7TOtzGDnzwcOgNHHFMaRkb4PFMImx7ogHt5/7NtlWJh80YknO35q7Ba+weHpH\r\nzD+o3gRLl7EoQB/Wi48M7zCoRb5D\r\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIERDCCAyygAwIBAgIUZ8MfP1GxDkapNKf5PSBNF/KNifcwDQYJKoZIhvcNAQEL\nBQAwgakxCzAJBgNVBAYTAk1ZMREwDwYDVQQIDAhTZWxhbmdvcjESMBAGA1UEBwwJ\nQ3liZXJqYXlhMRswGQYDVQQKDBJSdW5DbG91ZCBTZG4uIEJoZC4xFDASBgNVBAsM\nC0VuZ2luZWVyaW5nMSAwHgYDVQQDDBdSdW5DbG91ZCBXZWJTU0wgUm9vdCBDQTEe\nMBwGCSqGSIb3DQEJARYPZGV2QHJ1bmNsb3VkLmlvMCAXDTIxMDQyMTA2MDgwN1oY\nDzIxMjEwMzI4MDYwODA3WjCBqTELMAkGA1UEBhMCTVkxETAPBgNVBAgMCFNlbGFu\nZ29yMRIwEAYDVQQHDAlDeWJlcmpheWExGzAZBgNVBAoMElJ1bkNsb3VkIFNkbi4g\nQmhkLjEUMBIGA1UECwwLRW5naW5lZXJpbmcxIDAeBgNVBAMMF1J1bkNsb3VkIFdl\nYlNTTCBSb290IENBMR4wHAYJKoZIhvcNAQkBFg9kZXZAcnVuY2xvdWQuaW8wggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDs1I3diSCO/yrC8n2zkK8QVqup\nhWt8fYH9AcqfuvB0OV4/a3U6ojMvm9fRF3Vw0woI3lfFoklNDspe3SK9O01yBaGm\nCDU1FMEH6qg2X9LVT5ol9MYgHQRHzj/rWX3CVhzm3sRP7tUKRWVVE+8EZFl0I5bk\nCpzdRc619iSOneTb5Xb9db0A7EcvagvPOrqQzvRZ/RuLyHbNBzfZ90IXkobjTmbq\nihMYDwtFODkArI8k8iG7AXoE12E+j620TzV2rbi7FqZRX9elF8zF5jOijytG4fdr\nDrbXAlGArt3o3P8R99+GXBLhBwHW3PBKxHcU4kzZ4zmMM0+MpajbQwyAg0xzAgMB\nAAGjYDBeMB0GA1UdDgQWBBSy8m8u4BwPBPuS/OGqxMmn53X4sTAfBgNVHSMEGDAW\ngBSy8m8u4BwPBPuS/OGqxMmn53X4sTAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQE\nAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEAkDZi83HNJZZDmA3gqX/s2iZF6ooc608g\nBxTRIcPKgLn7aCIlosXOCtmj4rSeLJPARTs1oNUKTdME107MFINDEwjZFkxqb61X\n8kae9q64gQdn4a3k39f+Wjwc9pnklTvaHG0HJbW3zcQhtPU76dW2pstBEJc08jKD\nGqQkmrQSLMQ0RlL1jHnnKBZ6jQtbkS/6QGp3lmVhVvjhlKSnMXChqx4mEliICXi+\nfKozw+SfuwkTyyApJXzjirgy49s+8HE1vlz2ZPG+pg+p6yF/jzkWNjptalbtJjYY\nrPFsJch3y+PidsWl1tP1MCp7IVvs4+o0joIejRRYPlcVQxv9eUP52g==\n-----END CERTIFICATE-----\n",
"validUntil": "2023-10-04 02:03:40",
"renewalDate": null,
"enableHttp": false,
"enableHsts": true,
"authorizationMethod": null,
"staging": false,
"api_id": null,
"ssl_protocol_id": 2,
"created_at": "2021-07-06 02:03:40"
}
SSL Advanced – SSL Object
GET /servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl
Note : This API endpoint is available for Business plan user only. For non Business user, 403 HTTP response is returned.
HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl
Request
curl --request GET \
--url https://manage.runcloud.io/api/v2/servers/9/webapps/52/domains/2/ssl \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 1,
"method": "csr",
"privateKey": "-----BEGIN RSA PRIVATE KEY-----\r\nMIIEpQIBAAKCAQEA1LAZqcYdFSWppXG6UvUSD0+44GZ5ThOkMi0cb6FxI/m4tjbk\r\nd3AHvWzk1qeZhfMjpuhqrhjYQOG4DwACeACsBZCpxX5VFfi06ubHXTS0xHNLoi7L\r\neR1S5td8yWUkhBZwUpTQ9wUWLC66TpNauRvn/R6PwwGQHIJk9cNDQHoyDQVd8MP4\r\n4XV6+F5Dwp8eQiv8fDMbhBbO9IJguo2tA3jG9cxtpGL84mt+QKKGq8WGPalADWT0\r\nQ7DcOMVrK4FoytaiPJ5tjFqxmv6V/n3QCzRYyXQMM2dOOycveg8ImuXr3SlgMP4l\r\n8ZrsM/I8dn3/5uKvCvBWEhD1vFTsgjRLftooTwIDAQABAoIBAQCtUaw4G4fLmdt7\r\nRQhPXgKPk6nWw+sKYxslAHnxxh/K709EvcrEQfkstjZtbjq/W3msJC37Hafsh4RU\r\nRO++Ft4X0uFmXSK9OuVDnzjLjY3ZoRL7YSLS2cCa+PNpsxBky1xRD5CSHAULkDCm\r\no5IE0ubj8Cm7AeUMNn5LgAmn22w6Cq7xax9tmX9hnWggtRorViwvuxrVZFeYA/iO\r\n1ycp/e0nf23CQDwNDdZnggMHHOjc3rTBc/pJja9iFE45y254l7nOJCNBFkiIItQV\r\nOzz8fqu56FQqc4GmxRV4hIQVNZBgz447cXIlYOno97Wqm+rB3UDx7GXV8csVk108\r\njF5nXDqRAoGBAPOQ2mLrR+r4fHdEk4NHTCcWhBVYJfvhgqgyPq6oE8KTIAlWDa1d\r\nsJDF3rPKZQiOXNLz0ja+xSmQMo4O1/uZGrmQSeb0fxQjGWqhgHd7HcD76hkEDckk\r\nncoTL2rWSjdRngEJLvv0U2tvHJfoOBYqirvOSwrc67UiZ8zfCxwCY7wtAoGBAN+L\r\ntIv6aTUtWV5KO0vT/2fZBJgrMmduLDrwju3JCQF7vY5WL1q/iXijGF5OsnMmV3P0\r\nK8mU8z92hZMjf7tO+5pDIgs4/N1L0Uj3qLE26/pdCS/7SNt3C31cjGYWoEyj23JG\r\n0xPUe1fN8acdKxxpzz8BpCdyWa2qUVnjVAF60ffrAoGBAOG5HKsP4VahcrgVlZ/U\r\nM38GHuKpDoqgM7Ys2mqC2c05DDeayJIigb+poPp+V6PWS7A0xlx178LVIAUHPKKv\r\nAVV3owWnER5YaPWpNqWEM87lp84HM791b8YWgZtBfQZHXWcYW7Kke6rVDmq5i0D/\r\nrBLg3Cr1EnyLpib3jhQnIscBAoGAeeQ8i0L8kPFsVHyXfo5XKrHrzmlnb3xkg7Ld\r\nzIyc64EkZ/NYmNvtwqjzxaCVrzIN530RTzZ3uHgQ950YrfKwQHowmvv07VnFAUuB\r\nYTf4TijitJYJMRnlWvLW32eg+okyREqYF6z5oHP8O0otUq3jQpDLiHLSsV44Q5Iw\r\nISpuSQcCgYEAzPyzlWEk/PNdlu+kKQyRhrPeCAp4rdCrqYPD40Lf9KVftTeyUZru\r\nhLX5aGIIgm5Ke1nk+gDmmgMb98RxO6LAfPEreMqujqtAIEU5htksMrmDIi4aOCLR\r\ni3/Y3EtnFt5B380TinFOWTZcy+zuBbAsH0V8RPHT3NoxXh6fmUZnI+I=\r\n-----END RSA PRIVATE KEY-----",
"certificate": "-----BEGIN CERTIFICATE-----\r\nMIIEMTCCAxmgAwIBAgIUQmYhdrAOzmtTBMJaa65q5PlEemIwDQYJKoZIhvcNAQEL\r\nBQAwgakxCzAJBgNVBAYTAk1ZMREwDwYDVQQIDAhTZWxhbmdvcjESMBAGA1UEBwwJ\r\nQ3liZXJqYXlhMRswGQYDVQQKDBJSdW5DbG91ZCBTZG4uIEJoZC4xFDASBgNVBAsM\r\nC0VuZ2luZWVyaW5nMSAwHgYDVQQDDBdSdW5DbG91ZCBXZWJTU0wgUm9vdCBDQTEe\r\nMBwGCSqGSIb3DQEJARYPZGV2QHJ1bmNsb3VkLmlvMB4XDTIxMDcwNDAyMDM0MFoX\r\nDTIzMTAwNDAyMDM0MFowcTETMBEGA1UECgwKTXkgQ29tcGFueTELMAkGA1UECwwC\r\nSVQxDTALBgNVBAcMBENpdHkxDjAMBgNVBAgMBVN0YXRlMQswCQYDVQQGDAJVUzEh\r\nMB8GA1UEAwwYUnVuQ2xvdWQgV2ViIENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0B\r\nAQEFAAOCAQ8AMIIBCgKCAQEA1LAZqcYdFSWppXG6UvUSD0+44GZ5ThOkMi0cb6Fx\r\nI/m4tjbkd3AHvWzk1qeZhfMjpuhqrhjYQOG4DwACeACsBZCpxX5VFfi06ubHXTS0\r\nxHNLoi7LeR1S5td8yWUkhBZwUpTQ9wUWLC66TpNauRvn/R6PwwGQHIJk9cNDQHoy\r\nDQVd8MP44XV6+F5Dwp8eQiv8fDMbhBbO9IJguo2tA3jG9cxtpGL84mt+QKKGq8WG\r\nPalADWT0Q7DcOMVrK4FoytaiPJ5tjFqxmv6V/n3QCzRYyXQMM2dOOycveg8ImuXr\r\n3SlgMP4l8ZrsM/I8dn3/5uKvCvBWEhD1vFTsgjRLftooTwIDAQABo4GHMIGEMA4G\r\nA1UdDwEB/wQEAwIF4DAPBgNVHRMBAf8EBTADAgEAMB0GA1UdJQQWMBQGCCsGAQUF\r\nBwMBBggrBgEFBQcDAjAhBgNVHREEGjAYgglrdWNpbmcucmOCCyoua3VjaW5nLnJj\r\nMB8GA1UdIwQYMBaAFLLyby7gHA8E+5L84arEyafndfixMA0GCSqGSIb3DQEBCwUA\r\nA4IBAQBnMSKMz7DNm03OVrhPydxS6X6n2Ma6IucyWwrggPlQf0DjqZe8DpTZq+Zm\r\nRZmPvx0f4oL1JnWpRkG+BUTUlQtM0Db70ezrRqWGzll9tCQhkagrIGQGi51TeYf9\r\nY8lhTOwSIBP9c17jCuAxrAajZVcHW+jJTSc+ExFYBhIuiWQqH8PAFNfxMXRqZ6Lp\r\nDBz16iUqGRnweuus51jK1gZkr356k2RIQFErhXHQobuC48+bt0fWVl+VaDfaXpnT\r\nngG7TOtzGDnzwcOgNHHFMaRkb4PFMImx7ogHt5/7NtlWJh80YknO35q7Ba+weHpH\r\nzD+o3gRLl7EoQB/Wi48M7zCoRb5D\r\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIERDCCAyygAwIBAgIUZ8MfP1GxDkapNKf5PSBNF/KNifcwDQYJKoZIhvcNAQEL\nBQAwgakxCzAJBgNVBAYTAk1ZMREwDwYDVQQIDAhTZWxhbmdvcjESMBAGA1UEBwwJ\nQ3liZXJqYXlhMRswGQYDVQQKDBJSdW5DbG91ZCBTZG4uIEJoZC4xFDASBgNVBAsM\nC0VuZ2luZWVyaW5nMSAwHgYDVQQDDBdSdW5DbG91ZCBXZWJTU0wgUm9vdCBDQTEe\nMBwGCSqGSIb3DQEJARYPZGV2QHJ1bmNsb3VkLmlvMCAXDTIxMDQyMTA2MDgwN1oY\nDzIxMjEwMzI4MDYwODA3WjCBqTELMAkGA1UEBhMCTVkxETAPBgNVBAgMCFNlbGFu\nZ29yMRIwEAYDVQQHDAlDeWJlcmpheWExGzAZBgNVBAoMElJ1bkNsb3VkIFNkbi4g\nQmhkLjEUMBIGA1UECwwLRW5naW5lZXJpbmcxIDAeBgNVBAMMF1J1bkNsb3VkIFdl\nYlNTTCBSb290IENBMR4wHAYJKoZIhvcNAQkBFg9kZXZAcnVuY2xvdWQuaW8wggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDs1I3diSCO/yrC8n2zkK8QVqup\nhWt8fYH9AcqfuvB0OV4/a3U6ojMvm9fRF3Vw0woI3lfFoklNDspe3SK9O01yBaGm\nCDU1FMEH6qg2X9LVT5ol9MYgHQRHzj/rWX3CVhzm3sRP7tUKRWVVE+8EZFl0I5bk\nCpzdRc619iSOneTb5Xb9db0A7EcvagvPOrqQzvRZ/RuLyHbNBzfZ90IXkobjTmbq\nihMYDwtFODkArI8k8iG7AXoE12E+j620TzV2rbi7FqZRX9elF8zF5jOijytG4fdr\nDrbXAlGArt3o3P8R99+GXBLhBwHW3PBKxHcU4kzZ4zmMM0+MpajbQwyAg0xzAgMB\nAAGjYDBeMB0GA1UdDgQWBBSy8m8u4BwPBPuS/OGqxMmn53X4sTAfBgNVHSMEGDAW\ngBSy8m8u4BwPBPuS/OGqxMmn53X4sTAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQE\nAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEAkDZi83HNJZZDmA3gqX/s2iZF6ooc608g\nBxTRIcPKgLn7aCIlosXOCtmj4rSeLJPARTs1oNUKTdME107MFINDEwjZFkxqb61X\n8kae9q64gQdn4a3k39f+Wjwc9pnklTvaHG0HJbW3zcQhtPU76dW2pstBEJc08jKD\nGqQkmrQSLMQ0RlL1jHnnKBZ6jQtbkS/6QGp3lmVhVvjhlKSnMXChqx4mEliICXi+\nfKozw+SfuwkTyyApJXzjirgy49s+8HE1vlz2ZPG+pg+p6yF/jzkWNjptalbtJjYY\nrPFsJch3y+PidsWl1tP1MCp7IVvs4+o0joIejRRYPlcVQxv9eUP52g==\n-----END CERTIFICATE-----\n",
"validUntil": "2023-10-04 02:03:40",
"renewalDate": null,
"enableHttp": false,
"enableHsts": true,
"authorizationMethod": null,
"staging": false,
"api_id": null,
"ssl_protocol_id": 2,
"created_at": "2021-07-06 02:03:40"
}
SSL Advanced – Update SSL Config
PATCH /servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl/{sslId}
Note : This API endpoint is available for Business plan user only. For non Business user, 403 HTTP response is returned.
Parameters
enableHttp required | Boolean true or false | |
enableHsts required | Boolean true or false | |
ssl_protocol_id OPTIONAL | Integer | SSL Protocol. You can get this value from Static Data API. It will current value if not supplied. |
privateKey required if provider is “custom” | SSL Private Key | |
certificate required if provider is “custom” | SSL Certificate |
HTTP Request
PATCH https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl/{sslId}
Request
curl --request PATCH \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/domains/11/ssl/10 \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"enableHttp": true,
"enableHsts": false,
"ssl_protocol_id": 2,
"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
{
"id": 10,
"method": "custom",
"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-----",
"validUntil": "2019-03-02 03:26:27",
"renewalDate": null,
"enableHttp": true,
"enableHsts": false,
"authorizationMethod": null,
"staging": false,
"api_id": null,
"ssl_protocol_id": 2,
"created_at": "2019-06-30 11:37:29"
}
SSL Advanced – Redeploy SSL (Let’s Encrypt only)
PUT /servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl/{sslId}
Note : This API endpoint is available for Business plan user only. For non Business user, 403 HTTP response is returned.
HTTP Request
PUT https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl/{sslId}
Request
curl --request PUT \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/domains/11/ssl/10 \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 10,
"method": "letsencrypt",
"privateKey": null,
"certificate": null,
"validUntil": null,
"renewalDate": null,
"enableHttp": true,
"enableHsts": false,
"authorizationMethod": "dns-01",
"staging": true,
"api_id": 2,
"ssl_protocol_id": 2,
"created_at": "2019-06-30 13:43:38"
}
SSL Advanced – Delete SSL
DELETE /servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl/{sslId}
Note : This API endpoint is available for Business plan user only. For non Business user, 403 HTTP response is returned.
HTTP Request
DELETE https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl/{sslId}
Request
curl --request DELETE \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/domains/11/ssl/10 \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 10,
"method": "custom",
"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-----",
"validUntil": "2019-03-02 03:26:27",
"renewalDate": null,
"enableHttp": true,
"enableHsts": false,
"authorizationMethod": null,
"staging": false,
"api_id": null,
"ssl_protocol_id": 2,
"created_at": "2019-06-30 11:37:29"
}
Get Web Application settings
GET /servers/{serverId}/webapps/{webAppId}/settings
HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/settings
Request
curl --request GET \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/settings \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"disableFunctions": "getmyuid,passthru,leak,listen,diskfreespace,tmpfile,link,ignore_user_abort,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",
"timezone": "UTC",
"maxExecutionTime": 30,
"maxInputTime": 60,
"maxInputVars": 1000,
"memoryLimit": 256,
"postMaxSize": 256,
"uploadMaxFilesize": 256,
"allowUrlFopen": true,
"sessionGcMaxlifetime": 1440,
"processManager": "ondemand",
"processManagerStartServers": null,
"processManagerMinSpareServers": null,
"processManagerMaxSpareServers": null,
"processManagerMaxChildren": 50,
"processManagerMaxRequests": 500,
"openBasedir": "/home/myuser/webapps/testing:/var/lib/php/session:/tmp",
"clickjackingProtection": true,
"xssProtection": true,
"mimeSniffingProtection": true
}
Change PHP version
PATCH /servers/{serverId}/webapps/{webAppId}/settings/php
Parameters
phpVersion required | String | Refer to Server section on how to get list of PHP version supported |
HTTP Request
PATCH https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/settings/php
Request
curl --request PATCH \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/settings/php \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"phpVersion": "php72rc"
}'
Response
{
"id": 109,
"server_user_id": 142,
"name": "testing",
"rootPath": "/home/myuser/webapps/testing",
"publicPath": "/home/myuser/webapps/testing",
"phpVersion": "php72rc",
"stack": "hybrid",
"stackMode": "production",
"type": "custom",
"defaultApp": false,
"alias": null,
"pullKey1": "jwMZwtXP3ItQRKKoMSZboAXr1561748870",
"pullKey2": "zU4gYF96NZGjNqGSjUhasn0YZmlK2Ctu",
"created_at": "2019-06-28 19:07:50"
}
Update PHP-FPM, NGiNX settings
PATCH /servers/{serverId}/webapps/{webAppId}/settings/fpmnginx
Parameters
publicPath optional | String | Append a public path to a Web Application. If not defined, Web Application root path will be used as publicPath |
stack required | String | “hybrid”, “nativenginx”, or “customnginx” |
stackMode required | String | “production” or “development” |
clickjackingProtection required | Boolean | |
xssProtection required | Boolean | |
mimeSniffingProtection required | Boolean | |
processManager required | String | “dynamic”, “ondemand”, or “static” |
processManagerStartServers required if processManager is “dynamic” | Integer | |
processManagerMinSpareServers required if processManager is “dynamic” | Integer | |
processManagerMaxSpareServers required if processManager is “dynamic” | Integer | |
processManagerMaxChildren required | Integer | |
processManagerMaxRequests required | Integer | |
openBasedir optional | String | 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 required | String | You can get this from Static Data for Timezone |
disableFunctions optional | String | If you left this empty, no php functions will be disabled. If you wanted to supply the default value, see the request example |
maxExecutionTime required | Integer | Use 0 for unlimited |
maxInputTime required | Integer | Use 0 for unlimited |
maxInputVars required | Integer | Use 0 for unlimited |
memoryLimit required | Integer | Supplied value is in MB. |
postMaxSize required | Integer | Supplied value is in MB. Use 0 for unlimited |
uploadMaxFilesize required | Integer | Supplied value is in MB. Use 0 for unlimited |
sessionGcMaxlifetime required | Integer | Supplied value is in seconds |
allowUrlFopen required | Boolean |
HTTP Request
PATCH https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/settings/fpmnginx
Request
curl --request PATCH \
--url 'https://manage.runcloud.io/api/v2/servers/7/webapps/109/settings/fpmnginx' \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"publicPath": null,
"stack": "nativenginx",
"stackMode": "development",
"clickjackingProtection": true,
"xssProtection": true,
"mimeSniffingProtection": true,
"processManager": "ondemand",
"processManagerMaxChildren": 50,
"processManagerMaxRequests": 500,
"openBasedir": "/home/myuser/webapps/testing:/var/lib/php/session:/tmp",
"timezone": "UTC",
"disableFunctions": "getmyuid,passthru,leak,listen,diskfreespace,tmpfile,link,ignore_user_abort,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
{
"id": 109,
"server_user_id": 142,
"name": "testing",
"rootPath": "/home/myuser/webapps/testing",
"publicPath": "/home/myuser/webapps/testing",
"phpVersion": "php72rc",
"stack": "nativenginx",
"stackMode": "development",
"type": "custom",
"defaultApp": false,
"alias": null,
"pullKey1": "jwMZwtXP3ItQRKKoMSZboAXr1561748870",
"pullKey2": "zU4gYF96NZGjNqGSjUhasn0YZmlK2Ctu",
"created_at": "2019-06-28 19:07:50",
"setting": {
"disableFunctions": "getmyuid,passthru,leak,listen,diskfreespace,tmpfile,link,ignore_user_abort,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",
"timezone": "UTC",
"maxExecutionTime": 30,
"maxInputTime": 60,
"maxInputVars": 1000,
"memoryLimit": 256,
"postMaxSize": 256,
"uploadMaxFilesize": 256,
"allowUrlFopen": true,
"sessionGcMaxlifetime": 1440,
"processManager": "ondemand",
"processManagerStartServers": null,
"processManagerMinSpareServers": null,
"processManagerMaxSpareServers": null,
"processManagerMaxChildren": 50,
"processManagerMaxRequests": 500,
"openBasedir": "/home/myuser/webapps/testing:/var/lib/php/session:/tmp",
"clickjackingProtection": true,
"xssProtection": true,
"mimeSniffingProtection": true
}
}
Web Application action log
GET /servers/{serverId}/webapps/{webAppId}/log
Query String Parameters
search optional | String | Filter log |
HTTP Request
GET https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}/log
Request
curl --request GET \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109/log \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"data": [
{
"kind": "Warning",
"content": "Web Application settings was modified",
"created_at": "2019-06-30 14:56:18"
},
{
"kind": "Warning",
"content": "Web Application settings was modified",
"created_at": "2019-06-30 14:55:09"
},
{
"kind": "Warning",
"content": "Web Application settings was modified",
"created_at": "2019-06-30 14:52:52"
},
...
...
...
],
"meta": {
"pagination": {
"total": 73,
"count": 15,
"per_page": 15,
"current_page": 1,
"total_pages": 5,
"links": {
"next": "https:\/\/runcloud-gateway.test\/api\/v2\/servers\/7\/webapps\/109\/log?page=2"
}
}
}
}
Delete web application
DELETE /servers/{serverId}/webapps/{webAppId}
HTTP Request
DELETE https://manage.runcloud.io/api/v2/servers/{serverId}/webapps/{webAppId}
Request
curl --request DELETE \
--url https://manage.runcloud.io/api/v2/servers/7/webapps/109 \
-u YOUR_API_KEY:YOUR_API_SECRET \
--header 'accept: application/json' \
--header 'content-type: application/json'
Response
{
"id": 109,
"server_user_id": 142,
"name": "testing",
"rootPath": "/home/myuser/webapps/testing",
"publicPath": "/home/myuser/webapps/testing",
"phpVersion": "php72rc",
"stack": "nativenginx",
"stackMode": "production",
"type": "custom",
"defaultApp": false,
"alias": null,
"pullKey1": "jwMZwtXP3ItQRKKoMSZboAXr1561748870",
"pullKey2": "zU4gYF96NZGjNqGSjUhasn0YZmlK2Ctu",
"created_at": "2019-06-28 19:07:50"
}