Web Application

Create web application

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

POST /servers/{serverId}/webapps/custom

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

Query String Parameters
search optionalSearching string if you wanted to search from list of Web Apps

GET /servers/{serverId}/webapps

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

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.

DELETE /servers/{serverId}/webapps/{webAppId}/default

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

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

POST /servers/{serverId}/webapps/{webAppId}/alias

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

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
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

POST /servers/{serverId}/webapps/{webAppId}/git

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

Parameters
branch requiredStringAvailable GIT branch for your repository

PATCH /servers/{serverId}/webapps/{webAppId}/git/{gitId}/branch

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

Parameters
autoDeploy requiredBooleanEnable deployment script
deployScript optionalStringThe script that will be running when GIT Webhook URL got a hit

PATCH /servers/{serverId}/webapps/{webAppId}/git/{gitId}/script

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

Parameters
name requiredStringAvailable options: "concrete5", "drupal", "grav", "gravadmin", "joomla", "myBB", "phpBB", "phpMyAdmin", "piwik", "prestaShop", "wordpress"

POST /servers/{serverId}/webapps/{webAppId}/installer

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

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"

POST /servers/{serverId}/webapps/{webAppId}/domains

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

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

POST /servers/{serverId}/webapps/{webAppId}/ssl

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

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

PATCH /servers/{serverId}/webapps/{webAppId}/ssl/{sslId}

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

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

POST /servers/{serverId}/webapps/{webAppId}/ssl/advanced

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

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

POST /servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl

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

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}/domains/{domainId}/ssl

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

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

PATCH /servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl/{sslId}

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)

Note : This API endpoint is available for Business plan user only. For non Business user, 403 HTTP response is returned.

PUT /servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl/{sslId}

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

Note : This API endpoint is available for Business plan user only. For non Business user, 403 HTTP response is returned.

DELETE /servers/{serverId}/webapps/{webAppId}/domains/{domainId}/ssl/{sslId}

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

Parameters
phpVersion requiredStringRefer to Server section on how to get list of PHP version supported

PATCH /servers/{serverId}/webapps/{webAppId}/settings/php

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

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

PATCH /servers/{serverId}/webapps/{webAppId}/settings/fpmnginx

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

Query String Parameters
search optionalStringFilter log

GET /servers/{serverId}/webapps/{webAppId}/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"
}