Create web application

POST /servers/{serverId}/webapps/custom

Parameters
name requiredStringName of the Web Application
domainName requiredStringDomain name for the Web Application
user requiredIntegerThe System User who will own this Web Application
publicPath optionalStringAppend a public path to a Web Application. If not defined, Web Application root path will be used as publicPath
phpVersion requiredStringRefer to Server section on how to get list of PHP version supported
stack requiredString“hybrid”, “nativenginx”, or “customnginx”
stackMode requiredString“production” or “development”
clickjackingProtection requiredBoolean 
xssProtection requiredBoolean 
mimeSniffingProtection requiredBoolean 
processManager requiredString“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 requiredInteger 
processManagerMaxRequests requiredInteger 
openBasedir optionalStringIf 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 requiredStringYou can get this from Static Data for Timezone
disableFunctions optionalStringIf you left this empty, no php functions will be disabled. If you wanted to supply the default value, see the request example
maxExecutionTime requiredIntegerUse 0 for unlimited
maxInputTime requiredIntegerUse 0 for unlimited
maxInputVars requiredIntegerUse 0 for unlimited
memoryLimit requiredIntegerSupplied value is in MB.
postMaxSize requiredIntegerSupplied value is in MB. Use 0 for unlimited
uploadMaxFilesize requiredIntegerSupplied value is in MB. Use 0 for unlimited
sessionGcMaxlifetime requiredIntegerSupplied value is in seconds
allowUrlFopen requiredBoolean 
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 optionalSearching 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 requiredStringName of the Web Application
domainName requiredStringDomain name for the Web Application
user requiredIntegerThe System User who will own this Web Application
publicPath optionalStringAppend a public path to a Web Application. If not defined, Web Application root path will be used as publicPath
phpVersion requiredStringRefer to Server section on how to get list of PHP version supported
stack requiredString“hybrid”, “nativenginx”, or “customnginx”
stackMode requiredString“production” or “development”
clickjackingProtection requiredBoolean 
xssProtection requiredBoolean 
mimeSniffingProtection requiredBoolean 
processManager requiredString“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 requiredInteger 
processManagerMaxRequests requiredInteger 
openBasedir optionalStringIf 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 requiredStringYou can get this from Static Data for Timezone
disableFunctions optionalStringIf you left this empty, no php functions will be disabled. If you wanted to supply the default value, see the request example
maxExecutionTime requiredIntegerUse 0 for unlimited
maxInputTime requiredIntegerUse 0 for unlimited
maxInputVars requiredIntegerUse 0 for unlimited
memoryLimit requiredIntegerSupplied value is in MB.
postMaxSize requiredIntegerSupplied value is in MB. Use 0 for unlimited
uploadMaxFilesize requiredIntegerSupplied value is in MB. Use 0 for unlimited
sessionGcMaxlifetime requiredIntegerSupplied value is in seconds
allowUrlFopen requiredBoolean 
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 requiredString“custom”, “bitbucket”, “github”, “gitlab”, “selfhostedgitlab”
repository requiredStringMust use this format: <username>/<repository>
branch requiredStringRepository branch to clone
gitUser required if provider is “custom” or “selfhostedgitlab”StringUsername of git server user
gitHost required if provider is “custom” or “selfhostedgitlab”StringHostname 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 requiredStringAvailable 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 requiredBooleanEnable deployment script
deployScript optionalStringThe 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 requiredStringAvailable 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 requiredStringThe domain name you would like to add
www optionalBooleanIt’s either “true” or “false”
redirection optionalBooleanIt’s either “none”, “www” or “non-www”
type optionalStringDomain 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 requiredString“letsencrypt” , “custom” or “csr”
enableHttp requiredBooleanEither “true” or “false”
enableHsts requiredBooleanEither “true” or “false”
ssl_protocol_id OptionalIntegerSSL 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”IntegerId 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 StringSSL Private Key
certificate required if provider is “custom”RSA Public Key StringSSL Certificate
csrKeyType required if provider is “csr”String“rsa-2048”, “ecdsa-p384”, “ecdsa-p256” and “rsa-4096”
organization Optional if provider is csrStringYour organization name, default value was RunCloud Organization
department Optional if provider is csrStringYour department name, default value was RunCloud Department
city Optional if provider is csrStringYour city name, default value for city where RunCloud Organization has been found
state Optional if provider is csrStringYour state name, default value for state where RunCloud Organization has been found
country Optional if provider is csrStringYour 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 requiredBoolean true or false 
enableHsts requiredBoolean true or false 
ssl_protocol_id OPTIONALIntegerSSL 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 requiredbooleanEnable advanced SSL
autoSSL optionalbooleanAuto 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 requiredString“letsencrypt” , “custom” or “csr”
enableHttp requiredBooleanEither “true” or “false”
enableHsts requiredBooleanEither “true” or “false”
ssl_protocol_id OptionalIntegerSSL 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”IntegerId 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 StringSSL Private Key
certificate required if provider is “custom”RSA Public Key StringSSL Certificate
csrKeyType Optional if provider is csrString“rsa-2048”, “ecdsa-p384”, “ecdsa-p256” and “rsa-4096”
organization Optional if provider is csrStringYour organization name, default value was RunCloud Organization
department Optional if provider is csrStringYour department name, default value was RunCloud Department
city Optional if provider is csrStringYour city name, default value for city where RunCloud Organization has been found
state Optional if provider is csrStringYour state name, default value for state where RunCloud Organization has been found
country Optional if provider is csrStringYour 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 requiredBoolean true or false 
enableHsts requiredBoolean true or false 
ssl_protocol_id OPTIONALIntegerSSL 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 requiredStringRefer 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 optionalStringAppend a public path to a Web Application. If not defined, Web Application root path will be used as publicPath
stack requiredString“hybrid”, “nativenginx”, or “customnginx”
stackMode requiredString“production” or “development”
clickjackingProtection requiredBoolean 
xssProtection requiredBoolean 
mimeSniffingProtection requiredBoolean 
processManager requiredString“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 requiredInteger 
processManagerMaxRequests requiredInteger 
openBasedir optionalStringIf 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 requiredStringYou can get this from Static Data for Timezone
disableFunctions optionalStringIf you left this empty, no php functions will be disabled. If you wanted to supply the default value, see the request example
maxExecutionTime requiredIntegerUse 0 for unlimited
maxInputTime requiredIntegerUse 0 for unlimited
maxInputVars requiredIntegerUse 0 for unlimited
memoryLimit requiredIntegerSupplied value is in MB.
postMaxSize requiredIntegerSupplied value is in MB. Use 0 for unlimited
uploadMaxFilesize requiredIntegerSupplied value is in MB. Use 0 for unlimited
sessionGcMaxlifetime requiredIntegerSupplied value is in seconds
allowUrlFopen requiredBoolean 
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 optionalStringFilter 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"
}