Read RunCloud servers, web apps, databases and logs; deploy, restart services, renew SSL.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WRITE: run systemctl start, restart or reload on one service of a server (for example nginx-rc or php81rc-fpm). A restart briefly interrupts that service and the sites behind it. 'stop' is deliberately not offered. Get the realName from runcloud_list_services. PATCH /servers/{id}/services.
systemctl action.
The service's realName from runcloud_list_services, e.g. nginx-rc or redis-server.
RunCloud server id (see runcloud_list_servers).
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
WRITE: run systemctl start, restart or reload on one service of a server (for example nginx-rc or php81rc-fpm). A restart briefly interrupts that service and the sites behind it. 'stop' is deliberately not offered. Get the realName from runcloud_list_services. PATCH /servers/{id}/services.
| Argument | Type | Description |
|---|---|---|
| action* | string | systemctl action. |
| real_name* | string | The service's realName from runcloud_list_services, e.g. nginx-rc or redis-server. |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"action",
"real_name"
],
"properties": {
"action": {
"enum": [
"start",
"restart",
"reload"
],
"type": "string",
"description": "systemctl action."
},
"real_name": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._@+-]{0,63}$",
"description": "The service's realName from runcloud_list_services, e.g. nginx-rc or redis-server."
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}WRITE: force a Git deployment of a web application now: RunCloud pulls the configured branch and runs the deployment script, which changes the live site's files. Get git_id from runcloud_get_git_deployment (its id). PUT /servers/{id}/webapps/{webapp}/git/{git}/script.
| Argument | Type | Description |
|---|---|---|
| git_id* | integer | Git deployment id (runcloud_get_git_deployment -> id). |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| webapp_id* | integer | Web application id (see runcloud_list_webapps). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"webapp_id",
"git_id"
],
"properties": {
"git_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Git deployment id (runcloud_get_git_deployment -> id).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"webapp_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Web application id (see runcloud_list_webapps).",
"exclusiveMinimum": 0
}
}
}WRITE: start an atomic deployment of a project now (builds a new release and switches the live symlink when it succeeds). PUT /atomic/{project}/forcedeploy.
| Argument | Type | Description |
|---|---|---|
| project_id* | integer | Atomic project id (runcloud_list_atomic_projects). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"project_id"
],
"properties": {
"project_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Atomic project id (runcloud_list_atomic_projects).",
"exclusiveMinimum": 0
}
}
}The DNS records (A, CNAME...) a domain name needs to point at the server. GET /servers/{id}/webapps/{webapp}/domains/{domain}/dns.
| Argument | Type | Description |
|---|---|---|
| domain_id* | integer | Domain name id (see runcloud_list_domains). |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| webapp_id* | integer | Web application id (see runcloud_list_webapps). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"webapp_id",
"domain_id"
],
"properties": {
"domain_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Domain name id (see runcloud_list_domains).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"webapp_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Web application id (see runcloud_list_webapps).",
"exclusiveMinimum": 0
}
}
}The Git deployment configured on a web application: provider, branch, repository URL, auto-deploy flag, deployment script and whether it is an atomic deployment. The deployment webhook keys are not returned. The id of the result is the git_id for runcloud_deploy_git. GET /servers/{id}/webapps/{webapp}/git.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| webapp_id* | integer | Web application id (see runcloud_list_webapps). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"webapp_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"webapp_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Web application id (see runcloud_list_webapps).",
"exclusiveMinimum": 0
}
}
}One server by id: provider, IP, OS and version, stack, online state, agent version, update settings, tags. GET /servers/{id}.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}Kernel version, CPU model and cores, memory and disk totals/free, load average and uptime of a server. GET /servers/{id}/hardwareinfo.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}The latest health sample of a server: total/available/used memory and disk space (MB) and load average. GET /servers/{id}/health/latest.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}How many web applications, databases, cron jobs and supervisor jobs a server has, and its country. GET /servers/{id}/stats.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}Whether the web application uses basic (one certificate for the app) or advanced (one per domain) SSL, and its AutoSSL status. Advanced SSL is a Business/Enterprise feature. GET /servers/{id}/webapps/{webapp}/ssl/advanced.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| webapp_id* | integer | Web application id (see runcloud_list_webapps). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"webapp_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"webapp_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Web application id (see runcloud_list_webapps).",
"exclusiveMinimum": 0
}
}
}The live status (RUNNING, FATAL, BACKOFF...), pid and uptime of every supervisor process, by job label. GET /servers/{id}/supervisors/status.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}One web application by id (path, PHP version, stack, type, default flag). GET /servers/{id}/webapps/{webapp}.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| webapp_id* | integer | Web application id (see runcloud_list_webapps). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"webapp_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"webapp_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Web application id (see runcloud_list_webapps).",
"exclusiveMinimum": 0
}
}
}PHP and FPM/Nginx settings of a web application (disabled functions, timezone, memory and upload limits, process manager...). GET /servers/{id}/webapps/{webapp}/settings.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| webapp_id* | integer | Web application id (see runcloud_list_webapps). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"webapp_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"webapp_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Web application id (see runcloud_list_webapps).",
"exclusiveMinimum": 0
}
}
}The web application's SSL certificate (basic / web-app-level SSL): provider, validity, HTTPS settings. Private keys are never returned. GET /servers/{id}/webapps/{webapp}/ssl.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| webapp_id* | integer | Web application id (see runcloud_list_webapps). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"webapp_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"webapp_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Web application id (see runcloud_list_webapps).",
"exclusiveMinimum": 0
}
}
}WRITE: issue and install a free Let's Encrypt certificate for a web application (basic SSL) or for one domain of it (advanced SSL, pass domain_id; this requires advanced SSL mode, see runcloud_get_ssl_method). The web server is reloaded; the domain's DNS must already point at the server. Custom certificates are not supported here. POST /servers/{id}/webapps/{webapp}/ssl or /domains/{domain}/ssl.
| Argument | Type | Description |
|---|---|---|
| domain_id | integer | Only for advanced (per-domain) SSL mode (see runcloud_get_ssl_method): the domain's id. |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| webapp_id* | integer | Web application id (see runcloud_list_webapps). |
| enable_hsts* | boolean | Send the HSTS header (browsers will insist on HTTPS). |
| enable_http* | boolean | Keep plain HTTP enabled alongside HTTPS. |
| environment | string | live (default, trusted certificate) or staging (test certificate). |
| external_api | integer |
The deployments of an atomic project: commit hash, branch, message, committer, release name, status (DEPLOYING, COMPLETED, FAILED), start and end time. GET /atomic/{project}/deployments.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
| project_id* | integer | Atomic project id (see runcloud_list_atomic_projects). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"project_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"project_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Atomic project id (see runcloud_list_atomic_projects).",
"exclusiveMinimum": 0
}
}
}The atomic Git deployment projects of the workspace: name, provider, repository, branch, auto-deploy, success/failure counts and the latest deployment. Webhook keys are not returned. GET /atomic.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
}
}
}The snapshots of one backup instance: run date, status, type and size. GET /backups/{id}/snapshots.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
| backup_id* | integer | Backup instance id (see runcloud_list_backups). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"backup_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"backup_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Backup instance id (see runcloud_list_backups).",
"exclusiveMinimum": 0
}
}
}The backup instances of the workspace: label, what they cover (web app / database), storage, type, frequency, size, status. Filter by server, storage, status or name. GET /backups.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| search | string | Filter by backup name. |
| status | string | Backup status, e.g. active. |
| storage | string | Storage type, e.g. runcloud or local. |
| per_page | integer | Results per page, 1-40 (default 20). |
| server_id | integer | Only backups of this server id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"search": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Filter by backup name."
},
"status": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Backup status, e.g. active."
},
"storage": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Storage type, e.g. runcloud or local."
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only backups of this server id.",
"exclusiveMinimum": 0
}
}
}The IP addresses Fail2Ban currently blocks on a server. GET /servers/{id}/security/fail2ban/blockedip.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}The cron jobs of a server: id, label, user, schedule, command, enabled flag. The id is what runcloud_run_cronjob needs. GET /servers/{id}/cronjobs.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}The database users on a server (id, username). Passwords are never returned. GET /servers/{id}/databaseusers.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}The databases on a server: id, name, collation. No credentials. GET /servers/{id}/databases.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}The domain names of a web application: id, name, type (primary/alias), www, redirection, wildcard, DNS integration, status. GET /servers/{id}/webapps/{webapp}/domains.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| webapp_id* | integer | Web application id (see runcloud_list_webapps). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"webapp_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"webapp_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Web application id (see runcloud_list_webapps).",
"exclusiveMinimum": 0
}
}
}The firewall rules of a server: type (global/rich), port, protocol, IP address, action. GET /servers/{id}/security/firewalls.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}The server's activity log (what was changed in RunCloud and when), newest first. GET /servers/{id}/logs.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}List the servers connected to the workspace: id, name, provider, IP address, OS, stack, online/connected state, agent and PHP CLI version, auto-update settings and tags. GET /servers.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
}
}
}The services on a server (nginx, php-fpm, mariadb, redis, supervisor...) with real name, running state, CPU, memory and version. The realName is what runcloud_control_service needs. GET /servers/{id}/services.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}The supervisor (background worker) jobs of a server: id, label, user, process count, auto start/restart, directory, command. GET /servers/{id}/supervisors.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}The system (Linux) users on a server: id, username, whether deletable. Deployment keys and passwords are never returned. GET /servers/{id}/users.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}The activity log of a web application (settings changes, PHP version changes, deployments), newest first. GET /servers/{id}/webapps/{webapp}/log.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| per_page | integer | Results per page, 1-40 (default 20). |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| webapp_id* | integer | Web application id (see runcloud_list_webapps). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"webapp_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"webapp_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Web application id (see runcloud_list_webapps).",
"exclusiveMinimum": 0
}
}
}List the web applications on a server: id, name, root/public path, PHP version, stack, type (wordpress, custom...), default flag, alias. Deployment webhook keys are not returned. GET /servers/{id}/webapps.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| search | string | Filter by web application name. |
| per_page | integer | Results per page, 1-40 (default 20). |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"search": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Filter by web application name."
},
"per_page": {
"type": "integer",
"maximum": 40,
"description": "Results per page, 1-40 (default 20).",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
}
}
}Check that the API key works: RunCloud answers with a message ('pong'). GET /ping.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}WRITE: reload one supervisor job so its worker processes restart (running processes are interrupted). Get the id from runcloud_list_supervisors. POST /servers/{id}/supervisors/{job}/reload.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| supervisor_id* | integer | Supervisor job id (runcloud_list_supervisors). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"supervisor_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"supervisor_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Supervisor job id (runcloud_list_supervisors).",
"exclusiveMinimum": 0
}
}
}WRITE: redeploy (renew) the Let's Encrypt certificate of a web application, which re-issues it and reloads the web server. Let's Encrypt certificates only. For basic SSL pass the ssl_id from runcloud_get_webapp_ssl; for advanced (per-domain) SSL, which requires advanced SSL mode (check runcloud_get_ssl_method), also pass domain_id. PUT /servers/{id}/webapps/{webapp}/ssl/{ssl} or /domains/{domain}/ssl/{ssl}.
| Argument | Type | Description |
|---|---|---|
| ssl_id* | integer | SSL certificate id (runcloud_get_webapp_ssl -> id). |
| domain_id | integer | Only for advanced (per-domain) SSL mode (see runcloud_get_ssl_method): the domain's id. |
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| webapp_id* | integer | Web application id (see runcloud_list_webapps). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"webapp_id",
"ssl_id"
],
"properties": {
"ssl_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "SSL certificate id (runcloud_get_webapp_ssl -> id).",
"exclusiveMinimum": 0
},
"domain_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only for advanced (per-domain) SSL mode (see runcloud_get_ssl_method): the domain's id.",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"webapp_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Web application id (see runcloud_list_webapps).",
"exclusiveMinimum": 0
}
}
}WRITE: force-run one cron job of a server once, right now, outside its schedule. The job's command runs on the server with its configured user. Get the id from runcloud_list_cronjobs. POST /servers/{id}/cronjobs/{job}/run.
| Argument | Type | Description |
|---|---|---|
| server_id* | integer | RunCloud server id (see runcloud_list_servers). |
| cronjob_id* | integer | Cron job id (runcloud_list_cronjobs). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"cronjob_id"
],
"properties": {
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"cronjob_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cron job id (runcloud_list_cronjobs).",
"exclusiveMinimum": 0
}
}
}| Id of the Cloudflare DNS integration; required for dns-01. |
| authorization_method* | string | Let's Encrypt challenge: http-01, or dns-01 (needs external_api, a Cloudflare DNS integration). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"server_id",
"webapp_id",
"authorization_method",
"enable_http",
"enable_hsts"
],
"properties": {
"domain_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only for advanced (per-domain) SSL mode (see runcloud_get_ssl_method): the domain's id.",
"exclusiveMinimum": 0
},
"server_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "RunCloud server id (see runcloud_list_servers).",
"exclusiveMinimum": 0
},
"webapp_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Web application id (see runcloud_list_webapps).",
"exclusiveMinimum": 0
},
"enable_hsts": {
"type": "boolean",
"description": "Send the HSTS header (browsers will insist on HTTPS)."
},
"enable_http": {
"type": "boolean",
"description": "Keep plain HTTP enabled alongside HTTPS."
},
"environment": {
"enum": [
"live",
"staging"
],
"type": "string",
"description": "live (default, trusted certificate) or staging (test certificate)."
},
"external_api": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Id of the Cloudflare DNS integration; required for dns-01.",
"exclusiveMinimum": 0
},
"authorization_method": {
"enum": [
"http-01",
"dns-01"
],
"type": "string",
"description": "Let's Encrypt challenge: http-01, or dns-01 (needs external_api, a Cloudflare DNS integration)."
}
}
}