Root API

Root API documents public provider automation that is restricted to trusted root identities and can affect server-wide or cross-account state.

Where to find it: Documentation > Hosting Manager > API > Root API.

Available to: Root API identities.

What this page does

This page intentionally lists root-only public endpoints. Shared account endpoints appear under User API so one public route is documented once. It contains 226 endpoints from the current SHM public catalog.

Before you start

Use a dedicated API identity, protect the key, restrict source addresses where available, and discover current ids before a write. Every example uses the direct SHM Engine origin https://panel.example.com:882. Placeholders are documentation, not permission to run a production mutation.

Authentication

Send X-Api-User and X-Api-Key to the SHM Engine on port 882. JSON requests also send Content-Type: application/json. Role, account ownership, source policy, feature access, and resource identifiers are checked for every request.

How to read each endpoint

The parameter cards and complete request template are exhaustive: every current key is shown with its accepted location, required or optional status, type, values, constraints, and an example. The runnable workflow example is deliberately narrower when an endpoint contains mutually exclusive actions or conditional branches.

Root API endpoint reference (226)

Account Defaults

GET/v1/root/account-defaultsrootFetch account-default settings context.

What this endpoint does

Fetch account-default settings context.

Operational guidance: Fetch root account defaults. Use result.sharedip when the user asks for the default/shared/server IP, result.ips for usable server IPv4 addresses, result.php_versions for installed PHP runtimes, result.default_php_version for the effective default runtime, and result.default_opcache for the OPcache default applied to newly created accounts. Do not ask root to copy these values from the UI.

Endpoint

GET /v1/root/account-defaults

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/account-defaults' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Read shared IP and defaults
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}
Read shared IP and defaults
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

PATCH/v1/root/account-defaults/nameserversrootUpdate the default nameserver settings.

What this endpoint does

Update the default nameserver settings.

Operational guidance: Update SHM default nameservers. When the user also asks to apply the change to existing accounts/domains, set apply_existing_zones=1 and pass either domains or account_users; SHM will update SOA primary nameserver plus NS records in those managed DNS zones. Use this for requests such as "change default NS", "nameservers for the accounts I created", "sync existing zones to the new NS", or "server default ns". This updates SHM-managed DNS zones, not registrar delegation outside SHM.

Endpoint

PATCH /v1/root/account-defaults/nameservers

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (10)

default_ns1Required
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ns1.example.com

Primary default nameserver, e.g. ns1.example.com.

Validation and use: Required Send this parameter as a JSON body property.

default_ns2Required
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ns2.example.com

Secondary default nameserver, e.g. ns2.example.com.

Validation and use: Required Send this parameter as a JSON body property.

account_usersOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
["demoacct"]

Account usernames whose domains should be synced. May be an array or a comma/newline-separated string. Aliases: accounts, usernames, account_user.

Validation and use: Optional Send this parameter as a JSON body property.

all_existing_zonesOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Set to 1 only when the user explicitly asks to update every managed DNS zone on the server.

Validation and use: Optional Send this parameter as a JSON body property.

apply_existing_zonesOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Set to 1 to update existing SHM-managed DNS zones as well as defaults. Aliases: sync_existing_zones, update_existing_zones.

Validation and use: Optional Send this parameter as a JSON body property.

default_ns3Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ns1.example.com

Optional third default nameserver.

Validation and use: Optional Send this parameter as a JSON body property.

default_ns4Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ns1.example.com

Optional fourth default nameserver.

Validation and use: Optional Send this parameter as a JSON body property.

domainsOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
["example.com","example.net"]

Managed DNS zone domains to sync. May be an array or a comma/newline-separated string. Aliases: zone_domains, zones, domain.

Validation and use: Optional Send this parameter as a JSON body property.

sync_existing_zonesOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Sync existing zones accepted by this endpoint while it performs: Update the default nameserver settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

update_existing_zonesOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Update existing zones accepted by this endpoint while it performs: Update the default nameserver settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 10 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_ns1": "ns1.example.com",
    "default_ns2": "ns2.example.com",
    "account_users": [
      "demoacct"
    ],
    "all_existing_zones": 1,
    "apply_existing_zones": 1,
    "default_ns3": "ns1.example.com",
    "default_ns4": "ns1.example.com",
    "domains": [
      "example.com",
      "example.net"
    ],
    "sync_existing_zones": 1,
    "update_existing_zones": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/account-defaults/nameservers' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"default_ns1":"ns1.example.com","default_ns2":"ns2.example.com"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Update defaults only
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_ns1": "ns1.example.com",
    "default_ns2": "ns2.example.com"
  }
}
Update defaults and selected domains
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_ns1": "ns1.example.com",
    "default_ns2": "ns2.example.com",
    "apply_existing_zones": 1,
    "domains": [
      "example.com",
      "example.net"
    ]
  }
}
Update defaults and account domains
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_ns1": "ns1.example.com",
    "default_ns2": "ns2.example.com",
    "apply_existing_zones": 1,
    "account_users": [
      "demoacct"
    ]
  }
}
Update defaults only
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_ns1": "ns1.example.com",
    "default_ns2": "ns2.example.com"
  }
}
Update defaults and selected domains
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_ns1": "ns1.example.com",
    "default_ns2": "ns2.example.com",
    "apply_existing_zones": 1,
    "domains": [
      "example.com",
      "example.net"
    ]
  }
}
Update defaults and account domains
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_ns1": "ns1.example.com",
    "default_ns2": "ns2.example.com",
    "apply_existing_zones": 1,
    "account_users": [
      "demoacct"
    ]
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

PATCH/v1/root/account-defaults/php-versionrootUpdate the default PHP version settings.

What this endpoint does

Update the default PHP version settings.

Operational guidance: Update default PHP settings for newly created accounts. phpversion must be an installed PHP runtime such as php82 or PHP 8.2. default_opcache accepts 1/0, true/false, yes/no, or on/off. Set default_php_apply_to_child_domains=1 to apply the selected PHP runtime and OPcache state to newly created addon domains and subdomains. Existing accounts keep their current PHP settings.

Endpoint

PATCH /v1/root/account-defaults/php-version

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (6)

default_opcacheOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable OPcache by default for newly created accounts.

Validation and use: Optional Send this parameter as a JSON body property.

default_php_apply_to_child_domainsOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Apply the default PHP runtime and OPcache state to newly created addon domains and subdomains.

Validation and use: Optional Send this parameter as a JSON body property.

opcacheOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Alias of default_opcache.

Validation and use: Optional Send this parameter as a JSON body property.

phpversionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
php82

Installed PHP runtime to use for new accounts, e.g. php82 or 8.2.

Validation and use: Optional Send this parameter as a JSON body property.

setopcacheOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

OPcache toggle. Compatibility alias of default_opcache.

Validation and use: Optional Send this parameter as a JSON body property.

setphpversionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
php83

PHP version setting.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 6 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_opcache": 1,
    "default_php_apply_to_child_domains": 1,
    "opcache": 1,
    "phpversion": "php82",
    "setopcache": 1,
    "setphpversion": "php83"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/account-defaults/php-version' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"phpversion":"php82","default_opcache":1,"default_php_apply_to_child_domains":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Set PHP and enable OPcache
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "phpversion": "php82",
    "default_opcache": 1,
    "default_php_apply_to_child_domains": 1
  }
}
Enable OPcache only
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_opcache": 1
  }
}
Set PHP and enable OPcache
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "phpversion": "php82",
    "default_opcache": 1,
    "default_php_apply_to_child_domains": 1
  }
}
Enable OPcache only
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_opcache": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

PATCH/v1/root/account-defaults/shared-iprootUpdate the default shared IP settings.

What this endpoint does

Update the default shared IP settings.

Endpoint

PATCH /v1/root/account-defaults/shared-ip

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

sharedipOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
192.0.2.10

Sharedip accepted by this endpoint while it performs: Update the default shared IP settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "sharedip": "192.0.2.10"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/account-defaults/shared-ip' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"sharedip":"192.0.2.10"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "sharedip": "192.0.2.10"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

PATCH/v1/root/account-defaults/web-settingsrootUpdate default Web Settings for newly created accounts.

What this endpoint does

Update default Web Settings for newly created accounts.

Operational guidance: Update default Web Settings for newly created accounts. ModSecurity is applied only when the runtime is installed and active. Server cache options mirror Web Manager > Cache Settings. Set default_web_apply_to_child_domains=1 to apply cache and ModSecurity defaults to newly created addon domains and subdomains.

Endpoint

PATCH /v1/root/account-defaults/web-settings

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (17)

default_apply_to_child_domainsOptional
Send in
JSON body
Type
string
Accepted values
1, 0, on, off
Example
1

Compatibility alias for default_web_apply_to_child_domains. Use an on/off or 1/0 value.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_background_updateOptional
Send in
JSON body
Type
on|off|0|1
Accepted values
on, off, 0, 1
Example
on

Allow background cache refresh.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_dynamic_enabledOptional
Send in
JSON body
Type
on|off|0|1
Accepted values
on, off, 0, 1
Example
on

Enable public dynamic page cache for new accounts.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_force_publicOptional
Send in
JSON body
Type
on|off|0|1
Accepted values
on, off, 0, 1
Example
off

Force public cache headers for anonymous public pages.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_mobile_bucketOptional
Send in
JSON body
Type
on|off|0|1
Accepted values
on, off, 0, 1
Example
on

Keep separate cache buckets for desktop and non-desktop requests such as phones, tablets, iPad, and TV browsers.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_profileOptional
Send in
JSON body
Type
enum
Accepted values
static_only, smart_safe
Example
smart_safe

Legacy default cache profile. Prefer default_cache_static_enabled and default_cache_dynamic_enabled. Allowed values: static_only, smart_safe.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_public_pathsOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
/news /blog

Newline-separated public URL paths that may be forced cacheable.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_redirectsOptional
Send in
JSON body
Type
on|off|0|1
Accepted values
on, off, 0, 1
Example
on

Cache public redirects.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_revalidateOptional
Send in
JSON body
Type
on|off|0|1
Accepted values
on, off, 0, 1
Example
on

Allow conditional backend revalidation.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_safe_cookiesOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
analytics_id

Comma or newline separated exact names for extra harmless analytics, attribution, or non-personal test cookies. Wildcards and language, consent, personalization, session, auth, cart, user, admin, token, or security names are rejected.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_static_enabledOptional
Send in
JSON body
Type
on|off|0|1
Accepted values
on, off, 0, 1
Example
on

Enable static asset cache for new accounts.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_static_ttlOptional
Send in
JSON body
Type
string|time
Accepted values
Any value matching string|time
Example
10m

Static cache TTL. Use 1m through 30d, for example 10m, 6h, or 30d.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_ttlOptional
Send in
JSON body
Type
string|time
Accepted values
Any value matching string|time
Example
10m

Dynamic cache TTL. Use 1m through 30d, for example 10m, 1h, or 30d.

Validation and use: Optional Send this parameter as a JSON body property.

default_cache_use_staleOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
error timeout updating http_500 http_502 http_503 http_504

proxy_cache_use_stale tokens or off.

Validation and use: Optional Send this parameter as a JSON body property.

default_modsecurityOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable ModSecurity by default for new accounts when ModSecurity is available.

Validation and use: Optional Send this parameter as a JSON body property.

default_server_cacheOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable server-side cache by default for new accounts when cache support is available.

Validation and use: Optional Send this parameter as a JSON body property.

default_web_apply_to_child_domainsOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Apply Account Default cache and ModSecurity settings to newly created addon domains and subdomains.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 17 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_apply_to_child_domains": 1,
    "default_cache_background_update": "on",
    "default_cache_dynamic_enabled": "on",
    "default_cache_force_public": "off",
    "default_cache_mobile_bucket": "on",
    "default_cache_profile": "smart_safe",
    "default_cache_public_paths": "/news\n/blog",
    "default_cache_redirects": "on",
    "default_cache_revalidate": "on",
    "default_cache_safe_cookies": "analytics_id",
    "default_cache_static_enabled": "on",
    "default_cache_static_ttl": "10m",
    "default_cache_ttl": "10m",
    "default_cache_use_stale": "error timeout updating http_500 http_502 http_503 http_504",
    "default_modsecurity": 1,
    "default_server_cache": 1,
    "default_web_apply_to_child_domains": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/account-defaults/web-settings' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"default_server_cache":1,"default_cache_static_enabled":"on","default_cache_dynamic_enabled":"on","default_cache_force_public":"off"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Enable cache defaults for new accounts
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_server_cache": 1,
    "default_cache_static_enabled": "on",
    "default_cache_dynamic_enabled": "on",
    "default_cache_force_public": "off"
  }
}
Enable ModSecurity and child-domain web defaults
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_modsecurity": 1,
    "default_web_apply_to_child_domains": 1
  }
}
Enable cache defaults for new accounts
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_server_cache": 1,
    "default_cache_static_enabled": "on",
    "default_cache_dynamic_enabled": "on",
    "default_cache_force_public": "off"
  }
}
Enable ModSecurity and child-domain web defaults
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_modsecurity": 1,
    "default_web_apply_to_child_domains": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

AI Mode

GET/v1/ai/settingsrootFetch root-managed SHM AI Mode availability, active OpenAI model, reasoning level, global prompt limits, custom instructions, supported models, compatible reasoning values, and the official Standard pricing URL. API keys are never returned.

What this endpoint does

Fetch root-managed SHM AI Mode availability, active OpenAI model, reasoning level, global prompt limits, custom instructions, supported models, compatible reasoning values, and the official Standard pricing URL. API keys are never returned.

Operational guidance: Root-only read endpoint for the platform-wide AI Mode switch, active OpenAI model, compatible reasoning level, global prompt/request limits, root workspace custom instructions, supported model and reasoning lists, and the official Standard pricing URL. API keys are never returned.

Endpoint

GET /v1/ai/settings

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/ai/settings' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Read global AI Mode settings
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}
Read global AI Mode settings
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

PATCH/v1/ai/settingsrootUpdate root-managed SHM AI Mode availability, active OpenAI model, compatible reasoning level, global usage limits, and root workspace custom instructions.

What this endpoint does

Update root-managed SHM AI Mode availability, active OpenAI model, compatible reasoning level, global usage limits, and root workspace custom instructions.

Operational guidance: Root-only update endpoint. Every JSON field is optional. Sending model without reasoning_effort resets reasoning to high. Limits apply to root, reseller, and account AI chat; 0 means unlimited. Instructions are trimmed to 12000 characters. Provider keys are managed separately and are not accepted here.

Endpoint

PATCH /v1/ai/settings

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (7)

enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable or disable AI Mode platform-wide.

Validation and use: Optional Send this parameter as a JSON body property.

instructionsOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
Prefer concise operational summaries and verify changed services.

Additional root workspace instructions applied only when they do not conflict with mandatory SHM safety and scope rules.

Validation and use: Optional Send this parameter as a JSON body property. Maximum length 12000.

max_prompt_charsOptional
Send in
JSON body
Type
integer
Accepted values
Any value matching integer
Example
20000

Maximum characters accepted in one prompt across all roles. Use 0 for unlimited.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 0.

max_requests_per_dayOptional
Send in
JSON body
Type
integer
Accepted values
Any value matching integer
Example
500

Maximum prompts allowed per actor or account in one day. Use 0 for unlimited.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 0.

max_requests_per_hourOptional
Send in
JSON body
Type
integer
Accepted values
Any value matching integer
Example
60

Maximum prompts allowed per actor or account in one hour. Use 0 for unlimited.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 0.

modelOptional
Send in
JSON body
Type
enum
Accepted values
gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.5-pro, gpt-5.4, gpt-5.4-mini, gpt-5.4-nano, gpt-5.4-pro
Example
gpt-5.6-luna

Global OpenAI model used by root, reseller, account, web, and supported messaging-channel conversations.

Validation and use: Optional Send this parameter as a JSON body property.

reasoning_effortOptional
Send in
JSON body
Type
enum
Accepted values
none, low, medium, high, xhigh, max
Example
high

Model-compatible reasoning level. GPT-5.6 accepts all listed values; GPT-5.5 Pro and GPT-5.4 Pro accept medium, high, and xhigh; other listed models accept none, low, medium, high, and xhigh.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 7 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "enabled": 1,
    "instructions": "Prefer concise operational summaries and verify changed services.",
    "max_prompt_chars": 20000,
    "max_requests_per_day": 500,
    "max_requests_per_hour": 60,
    "model": "gpt-5.6-luna",
    "reasoning_effort": "high"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/ai/settings' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"enabled":1,"model":"gpt-5.6-luna","reasoning_effort":"high","max_prompt_chars":20000,"max_requests_per_hour":60,"max_requests_per_day":500,"instructions":"Prefer concise operational summaries and verify changed services."}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Select Luna with high reasoning and global limits
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "enabled": 1,
    "model": "gpt-5.6-luna",
    "reasoning_effort": "high",
    "max_prompt_chars": 20000,
    "max_requests_per_hour": 60,
    "max_requests_per_day": 500,
    "instructions": "Prefer concise operational summaries and verify changed services."
  }
}
Select Luna with high reasoning and global limits
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "enabled": 1,
    "model": "gpt-5.6-luna",
    "reasoning_effort": "high",
    "max_prompt_chars": 20000,
    "max_requests_per_hour": 60,
    "max_requests_per_day": 500,
    "instructions": "Prefer concise operational summaries and verify changed services."
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Antivirus

POST/v1/root/antivirus/actions/{action}rootRun a guarded root Antivirus action. Automatic cleaning is disabled; quarantine, restore, and delete are explicit manual actions. Daily, deep, and paranoid profiles use enabled YARA rules and may confirm candidates with standalone ClamAV; deep/paranoid also use Maldet when enabled. scan_status exposes confidence, warning, timeout, progress, and interruption state.

What this endpoint does

Run a guarded root Antivirus action. Automatic cleaning is disabled; quarantine, restore, and delete are explicit manual actions. Daily, deep, and paranoid profiles use enabled YARA rules and may confirm candidates with standalone ClamAV; deep/paranoid also use Maldet when enabled. scan_status exposes confidence, warning, timeout, progress, and interruption state.

Operational guidance: Run one guarded root Malware Protection action. The automatic web_hosting_stable policy selects free rule sources without customer input. update_rules_now serializes publishers with a lock; bounds network time/size; verifies the expected upstream license; rejects empty, oversized, invalid, benign-regressing, malicious-canary-regressing, or inventory-discontinuous candidates; and publishes each validated pack atomically. A failed source uses its hash-verified last-known-good pack only after it passes the current validation gates, or is skipped while other packs continue. The local SHM baseline remains active, reduced coverage is reported, and scheduled/manual retries are safe. start_scan uses a collected transient systemd worker outside the core shm.service cgroup when supported, with a compatible priority-lowered runtime-child fallback. Only root orchestration may recover a terminal runtime_restarted scan, and the interrupted and replacement scan records remain linked for audit. scan_status exposes worker_launch_mode, worker_unit, recovery_of_scan_id, recovery_attempt, replaced_by_scan_id, and recovery_status when applicable. Daily scans use healthy verified YARA packs with ClamAV candidate confirmation; a missing/failed pack is a partial warning rather than a whole-engine failure when another pack completes. Deep/paranoid add full ClamAV and Maldet coverage. Confirmation requires two independent signal lineages after matching copies of the same upstream rule UUID/name are collapsed into one vote. Finding rows expose rule_identity, independent_lineage_groups, and lineage_deduplicated for audit. A path-based suppression is audit-only, requires an exact reviewed SHA-256, and fails open when file content changes.

Endpoint

POST /v1/root/antivirus/actions/{action}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (42)

actionRequired
Send in
URL path
Type
enum
Accepted values
install_runtime, install-runtime, save_settings, update_rules_now, start_scan, stop_scan, scan_status, detections_dt, scan_log, view_file, view_quarantine, quarantine_list, quarantine_file, delete_file, restore_quarantine, delete_quarantine, clean_file
Example
start_scan

Action path parameter. Allowed values: install_runtime, install-runtime, save_settings, update_rules_now, start_scan, stop_scan, scan_status, detections_dt, scan_log, view_file, view_quarantine, quarantine_list, quarantine_file, delete_file, restore_quarantine, delete_quarantine, clean_file.

Validation and use: Required Replace this placeholder directly in the URL path.

account_userConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Account username for a single-account scan or account-local quarantine entry.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: required when scope=account; optional for account quarantine lookup.

accountsConditional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
[]

Account usernames to scan. String input may be comma separated.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: required when scope=accounts.

auto_daily_scanOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable or disable the daily scan timer.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for save settings.

classification_filterOptional
Send in
JSON body
Type
enum
Accepted values
actionable, confirmed, review, suppressed, all
Example
actionable

Finding classification filter. actionable returns confirmed plus needs-review and excludes suppressed audit-only rows.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for detections dt.

daily_scan_timeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
60

Daily scan time in HH:MM format.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for save settings.

drawOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

DataTables draw counter.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for detections dt.

enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable or disable Antivirus globally.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for save settings.

exclude_dir_namesOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
node_modules,vendor

Comma-separated directory basenames skipped during enumeration.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for save settings.

fileConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
error.log

Absolute file path for root-scoped file actions.

Validation and use: Conditional Send this parameter as a JSON body property. Use the relevant list/read endpoint for this resource and copy the returned file name. Contract requirement: required for single-file view/quarantine/delete.

filesOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
[]

One or more absolute file paths.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional bulk alias for quarantine file/delete file.

filter_userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Limit root findings to one account username.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for detections dt.

idConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Quarantine entry identifier.

Validation and use: Conditional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned id value. Contract requirement: required for one quarantine view/restore/delete.

idsOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
1,2

One or more quarantine entry identifiers.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional bulk alias for restore quarantine/delete quarantine.

include_extensionsOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
true

Comma-separated extensions or exact filenames scanned by default.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for save settings.

lengthOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
50

DataTables page length.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 200. Contract requirement: optional for detections dt.

maldet_auto_updateOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable scheduled Maldet signature updates.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for save settings.

maldet_enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable Maldet for deep/paranoid scans.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for save settings.

max_size_mbOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

Maximum candidate file size in MiB.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 200. Contract requirement: optional for save settings.

pathConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
/home/demo/public_html

Absolute approved filesystem path to scan.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: required when scope=path.

quarantine_enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable guarded quarantine actions.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for save settings.

recovery_attemptOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

Sequential recovery number. It must equal the interrupted scan recovery_attempt plus one. Repeating the same valid request returns the already linked replacement instead of starting a duplicate.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 5. Contract requirement: optional for root-orchestrated start scan; requires recovery of scan id.

recovery_of_scan_idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Terminal scan id whose exact interrupted_reason is runtime_restarted. The prior record must not already have a replacement. Intended for the automatic root scan supervisor.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned recovery_of_scan_id value. Contract requirement: optional for root-orchestrated start scan; requires recovery attempt.

rules_update_timeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
60

Daily signature update time in HH:MM format.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for save settings.

scan_idConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Valid scan identifier returned by start_scan or context/history.

Validation and use: Conditional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned scan_id value. Contract requirement: required for stop scan, scan status, detections dt, and scan log.

scan_modeOptional
Send in
JSON body
Type
enum
Accepted values
quick, deep
Example
quick

Legacy alias: quick maps to daily and deep maps to deep unless scan_profile is supplied.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for start scan.

scan_profileOptional
Send in
JSON body
Type
enum
Accepted values
daily, deep, paranoid
Example
deep

Scan profile. daily is fastest; deep is the default quorum scan; paranoid keeps aggressive manual-review semantics.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for start scan.

scopeOptional
Send in
JSON body
Type
enum
Accepted values
all, account, accounts, path
Example
account

Scan target scope. Defaults to all.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for start scan.

searchOptional
Send in
JSON body
Type
object
Accepted values
Any value matching object
Example
{"value":""}

DataTables search object; search.value filters path, account, engine, rule, classification, and confidence.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for detections dt.

startOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
0

DataTables result offset.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 0. Contract requirement: optional for detections dt.

storage_kindOptional
Send in
JSON body
Type
enum
Accepted values
root, account
Example
root

Select the server or account quarantine store. account also requires account_user.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for root quarantine actions.

strict_scan_idOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

When 1, do not fall back to the latest report if scan_id is absent or unavailable.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for detections dt.

threadsOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

Maximum scanner worker threads.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 16. Contract requirement: optional for save settings.

timeout_secondsOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
7200

Maximum runtime in seconds for each scanner or YARA rule-pack run.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 30. Maximum 86400. Contract requirement: optional for save settings.

yara_auto_updateOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable scheduled YARA signature updates.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for save settings.

yara_enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable YARA scanning.

Validation and use: Optional Send this parameter as a JSON body property. Contract requirement: optional for save settings.

yara_extra_inquest_yara_rulesConditional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Legacy compatibility input; broad InQuest rules are not selected by the stable automatic profile.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: deprecated for save settings.

yara_extra_maldet_rfxnConditional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Legacy compatibility input; managed source selection is automatic.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: deprecated for save settings.

yara_extra_neo23x0_gen_webshellsConditional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Legacy compatibility input; managed source selection is automatic.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: deprecated for save settings.

yara_extra_nsa_webshells_coreConditional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Legacy compatibility input; managed source selection is automatic.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: deprecated for save settings.

yara_extra_nsa_webshells_extendedConditional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Legacy compatibility input; the extended pack is not selected by the stable automatic profile.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: deprecated for save settings.

yara_rule_setsConditional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
[]

Legacy compatibility input. It is ignored while the mandatory automatic rule policy is active.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: deprecated for save settings.

Supported actions and option sets

action values (14)
install_runtimesave_settingsupdate_rules_nowstart_scanstop_scanscan_statusdetections_dtscan_logview_filequarantine_fileclean_filedelete_filerestore_quarantinedelete_quarantine
Action-specific request bodies
{
  "install_runtime": [],
  "save_settings": {
    "scan_paths": [
      "/home"
    ],
    "exclude_paths": [
      "/proc",
      "/sys"
    ]
  },
  "update_rules_now": [],
  "start_scan": {
    "scope": "accounts",
    "scan_profile": "deep",
    "scan_mode": "deep",
    "accounts": [
      "demo"
    ]
  },
  "stop_scan": {
    "scan_id": "SCAN_ID_FROM_CONTEXT"
  },
  "scan_status": {
    "scan_id": "SCAN_ID_FROM_CONTEXT"
  },
  "detections_dt": {
    "scan_id": "SCAN_ID_FROM_CONTEXT",
    "classification_filter": "actionable"
  },
  "scan_log": {
    "scan_id": "SCAN_ID_FROM_CONTEXT"
  },
  "view_file": {
    "file": "/home/demo/public_html/index.php"
  },
  "quarantine_file": {
    "file": "/home/demo/public_html/index.php"
  },
  "delete_file": {
    "file": "/home/demo/public_html/index.php"
  },
  "restore_quarantine": {
    "id": "QUARANTINE_ID_FROM_CONTEXT"
  },
  "delete_quarantine": {
    "id": "QUARANTINE_ID_FROM_CONTEXT"
  }
}

Complete request template

This reference template contains all 42 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "action": "start_scan"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "demo",
    "accounts": [],
    "auto_daily_scan": 1,
    "classification_filter": "actionable",
    "daily_scan_time": 60,
    "draw": 1,
    "enabled": 1,
    "exclude_dir_names": "node_modules,vendor",
    "file": "error.log",
    "files": [],
    "filter_user": "demo",
    "id": 1,
    "ids": "1,2",
    "include_extensions": true,
    "length": 50,
    "maldet_auto_update": 1,
    "maldet_enabled": 1,
    "max_size_mb": 1,
    "path": "/home/demo/public_html",
    "quarantine_enabled": 1,
    "recovery_attempt": 1,
    "recovery_of_scan_id": 1,
    "rules_update_time": 60,
    "scan_id": 1,
    "scan_mode": "quick",
    "scan_profile": "deep",
    "scope": "account",
    "search": {
      "value": ""
    },
    "start": 0,
    "storage_kind": "root",
    "strict_scan_id": 1,
    "threads": 1,
    "timeout_seconds": 7200,
    "yara_auto_update": 1,
    "yara_enabled": 1,
    "yara_extra_inquest_yara_rules": 1,
    "yara_extra_maldet_rfxn": 1,
    "yara_extra_neo23x0_gen_webshells": 1,
    "yara_extra_nsa_webshells_core": 1,
    "yara_extra_nsa_webshells_extended": 1,
    "yara_rule_sets": []
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/antivirus/actions/start_scan' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"scope":"account","account_user":"demo","scan_profile":"deep"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Start deep account scan
{
  "path_parameters": {
    "action": "start_scan"
  },
  "query_parameters": {},
  "json_body": {
    "scope": "account",
    "account_user": "demo",
    "scan_profile": "deep"
  }
}
List actionable findings
{
  "path_parameters": {
    "action": "detections_dt"
  },
  "query_parameters": {},
  "json_body": {
    "scan_id": 1,
    "classification_filter": "actionable",
    "draw": 1,
    "start": 0,
    "length": 50,
    "search": {
      "value": ""
    }
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Read suppressed audit findings
{
  "path_parameters": {
    "action": "detections_dt"
  },
  "query_parameters": {},
  "json_body": {
    "scan_id": 1,
    "classification_filter": "suppressed",
    "draw": 1,
    "start": 0,
    "length": 50
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Start deep account scan
{
  "path_parameters": {
    "action": "start_scan"
  },
  "query_parameters": {},
  "json_body": {
    "scope": "account",
    "account_user": "demo",
    "scan_profile": "deep"
  }
}
List actionable findings
{
  "path_parameters": {
    "action": "detections_dt"
  },
  "query_parameters": {},
  "json_body": {
    "scan_id": 1,
    "classification_filter": "actionable",
    "draw": 1,
    "start": 0,
    "length": 50,
    "search": {
      "value": ""
    }
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Read suppressed audit findings
{
  "path_parameters": {
    "action": "detections_dt"
  },
  "query_parameters": {},
  "json_body": {
    "scan_id": 1,
    "classification_filter": "suppressed",
    "draw": 1,
    "start": 0,
    "length": 50
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/antivirus/contextrootFetch the root Antivirus Security Center context with optional history, aggregate quarantine, and account exclusions. Reports separate confirmed, needs-review, and suppressed audit findings; raw engine hits are not presented as confirmed malware.

What this endpoint does

Fetch the root Antivirus Security Center context with optional history, aggregate quarantine, and account exclusions. Reports separate confirmed, needs-review, and suppressed audit findings; raw engine hits are not presented as confirmed malware.

Operational guidance: Read the root Malware Protection context. Compact mode can omit expensive history, quarantine, or exclusion collections. The response exposes rule_policy, rule_profile, rules_generation, rules_qa_status, rules_health_status, rules_publication_status, fallback/skipped source counts, active rule/pack totals, and per-source active/fallback/skipped state with validated hashes, last success, failure reason/count, and retry policy inside rules_state. A degraded source never disables healthy verified packs. Finding counts are classified as confirmed, review, or suppressed; raw engine hits are not equivalent to confirmed malware. A path-based suppression requires an exact reviewed SHA-256 in addition to engine/rule/path matching, so changed or injected content fails open to the normal verdict.

Endpoint

GET /v1/root/antivirus/context

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (7)

compactOptional
Send in
Query string
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Set to 1 to return compact report summaries and bounded account status.

Validation and use: Optional Send this parameter in the query string.

history_limitOptional
Send in
Query string
Type
int|string
Accepted values
Any value matching int|string
Example
1

Maximum compact history summaries. Used only when compact=1; default 15.

Validation and use: Optional Send this parameter in the query string. Minimum 1. Maximum 50.

include_historyOptional
Send in
Query string
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
0

Include scan history. Defaults to 1; set to 0 for faster overview requests.

Validation and use: Optional Send this parameter in the query string.

include_ignoreOptional
Send in
Query string
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
0

Include aggregate account exclusion entries. Defaults to 0.

Validation and use: Optional Send this parameter in the query string.

include_last_scan_account_hitsOptional
Send in
Query string
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Include per-account confirmed/review/suppressed counts in the compact last_scan summary. Defaults to 0.

Validation and use: Optional Send this parameter in the query string.

include_quarantineOptional
Send in
Query string
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
0

Include the aggregate server/account quarantine list. Defaults to 1; set to 0 unless the list is needed.

Validation and use: Optional Send this parameter in the query string.

scan_idOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
1

Scan id query parameter. Valid scan identifier to project as files_scan/requested_scan_id. Omit for the latest report.

Validation and use: Optional Send this parameter in the query string. Use the corresponding list endpoint for this resource and copy the returned scan_id value.

Complete request template

This reference template contains all 7 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {
    "compact": 1,
    "history_limit": 1,
    "include_history": 0,
    "include_ignore": 0,
    "include_last_scan_account_hits": 1,
    "include_quarantine": 0,
    "scan_id": 1
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/antivirus/context?compact=1&history_limit=1&include_history=0&include_quarantine=0&include_ignore=0&include_last_scan_account_hits=1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Fast security overview
{
  "path_parameters": {},
  "query_parameters": {
    "compact": 1,
    "history_limit": 1,
    "include_history": 0,
    "include_quarantine": 0,
    "include_ignore": 0,
    "include_last_scan_account_hits": 1
  },
  "json_body": {}
}
History and exclusions
{
  "path_parameters": {},
  "query_parameters": {
    "compact": 1,
    "history_limit": 15,
    "include_history": 1,
    "include_quarantine": 0,
    "include_ignore": 1
  },
  "json_body": {}
}
Fast security overview
{
  "path_parameters": {},
  "query_parameters": {
    "compact": 1,
    "history_limit": 1,
    "include_history": 0,
    "include_quarantine": 0,
    "include_ignore": 0,
    "include_last_scan_account_hits": 1
  },
  "json_body": {}
}
History and exclusions
{
  "path_parameters": {},
  "query_parameters": {
    "compact": 1,
    "history_limit": 15,
    "include_history": 1,
    "include_quarantine": 0,
    "include_ignore": 1
  },
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

Audit

GET/v1/root/audit/contextrootFetch audit page context.

What this endpoint does

Fetch audit page context.

Endpoint

GET /v1/root/audit/context

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/audit/context' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/audit/getrootFetch one audit record.

What this endpoint does

Fetch one audit record.

Endpoint

POST /v1/root/audit/get

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

fileOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
error.log

File path.

Validation and use: Optional Send this parameter as a JSON body property. Use the relevant list/read endpoint for this resource and copy the returned file name.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "file": "error.log"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/audit/get' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"file":"error.log"}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "file": "error.log"
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/audit/listrootList audit rows.

What this endpoint does

List audit rows.

Endpoint

POST /v1/root/audit/list

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (9)

drawOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

DataTables draw counter.

Validation and use: Optional Send this parameter as a JSON body property.

filter_actionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
all

Filter action accepted by this endpoint while it performs: List audit rows. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

filter_actorOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Filter actor accepted by this endpoint while it performs: List audit rows. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

filter_fromOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
active

Filter from accepted by this endpoint while it performs: List audit rows. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

filter_ownerOptional
Send in
JSON body
Type
enum
Accepted values
root, 0
Example
root

Filter owner request field. Allowed values: root, 0.

Validation and use: Optional Send this parameter as a JSON body property.

filter_toOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
active

Filter to accepted by this endpoint while it performs: List audit rows. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

filter_typeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
active

Filter type accepted by this endpoint while it performs: List audit rows. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

lengthOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
25

Page size.

Validation and use: Optional Send this parameter as a JSON body property.

startOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
0

Row offset.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 9 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "draw": 1,
    "filter_action": "all",
    "filter_actor": "demo",
    "filter_from": "active",
    "filter_owner": "root",
    "filter_to": "active",
    "filter_type": "active",
    "length": 25,
    "start": 0
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/audit/list' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"filter_from":"active","filter_to":"active","filter_action":"all","filter_actor":"demo"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "filter_from": "active",
    "filter_to": "active",
    "filter_action": "all",
    "filter_actor": "demo"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/audit/purgerootPurge matching audit records.

What this endpoint does

Purge matching audit records.

Endpoint

POST /v1/root/audit/purge

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (6)

filter_actionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
all

Filter action accepted by this endpoint while it performs: Purge matching audit records. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

filter_actorOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Filter actor accepted by this endpoint while it performs: Purge matching audit records. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

filter_fromOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
active

Filter from accepted by this endpoint while it performs: Purge matching audit records. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

filter_ownerOptional
Send in
JSON body
Type
enum
Accepted values
root, 0
Example
root

Filter owner request field. Allowed values: root, 0.

Validation and use: Optional Send this parameter as a JSON body property.

filter_toOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
active

Filter to accepted by this endpoint while it performs: Purge matching audit records. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

filter_typeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
active

Filter type accepted by this endpoint while it performs: Purge matching audit records. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 6 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "filter_action": "all",
    "filter_actor": "demo",
    "filter_from": "active",
    "filter_owner": "root",
    "filter_to": "active",
    "filter_type": "active"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/audit/purge' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"filter_from":"active","filter_to":"active","filter_action":"all","filter_actor":"demo"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "filter_from": "active",
    "filter_to": "active",
    "filter_action": "all",
    "filter_actor": "demo"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

AutoSSL

POST/v1/root/autossl/logsrootRead AutoSSL log content.

What this endpoint does

Read AutoSSL log content.

Operational guidance: Read AutoSSL log content or download the selected log file.

Endpoint

POST /v1/root/autossl/logs

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (6)

account_userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Filter output to one account username. Alias: user.

Validation and use: Optional Send this parameter as a JSON body property.

actionOptional
Send in
JSON body
Type
enum
Accepted values
DownloadLog
Example
DownloadLog

Requested action name. Allowed values: DownloadLog. Omit the field for normal log-content fetch.

Validation and use: Optional Send this parameter as a JSON body property.

domainOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.com

Domain name. Filter output to one domain.

Validation and use: Optional Send this parameter as a JSON body property.

downloadOptional
Send in
JSON body
Type
enum
Accepted values
DownloadLog
Example
DownloadLog

Alias of action=DownloadLog. Allowed values: DownloadLog.

Validation and use: Optional Send this parameter as a JSON body property.

linesOptional
Send in
JSON body
Type
int|string|integer
Accepted values
Any value matching int|string|integer
Example
1200

Number of lines to return. Number of log lines to return. Default 1200; max 50000.

Validation and use: Optional Send this parameter as a JSON body property.

userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Alias of account_user.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 6 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "account_user": "demo",
    "action": "DownloadLog",
    "domain": "example.com",
    "download": "DownloadLog",
    "lines": 1200,
    "user": "demo"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/autossl/logs' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"domain":"example.com","lines":1200}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Read recent AutoSSL lines for one domain
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "lines": 1200
  }
}
Download AutoSSL log
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "action": "DownloadLog"
  }
}
Read recent AutoSSL lines for one domain
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "lines": 1200
  }
}
Download AutoSSL log
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "action": "DownloadLog"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/autossl/logs/filesrootList AutoSSL log files.

What this endpoint does

List AutoSSL log files.

Endpoint

GET /v1/root/autossl/logs/files

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/autossl/logs/files' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

GET/v1/root/autossl/overviewrootFetch AutoSSL overview.

What this endpoint does

Fetch AutoSSL overview.

Endpoint

GET /v1/root/autossl/overview

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/autossl/overview' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/autossl/runrootRun AutoSSL.

What this endpoint does

Run AutoSSL.

Endpoint

POST /v1/root/autossl/run

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (7)

account_userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Account username.

Validation and use: Optional Send this parameter as a JSON body property.

account_usernameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Account username.

Validation and use: Optional Send this parameter as a JSON body property.

defer_consumer_reloadOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Defer consumer reload accepted by this endpoint while it performs: Run AutoSSL. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

forceOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Force accepted by this endpoint while it performs: Run AutoSSL. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

force_renewalOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Force renewal accepted by this endpoint while it performs: Run AutoSSL. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ignore_scheduleOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Ignore schedule accepted by this endpoint while it performs: Run AutoSSL. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

manualOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Manual accepted by this endpoint while it performs: Run AutoSSL. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 7 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "account_user": "demo",
    "account_username": "demo",
    "defer_consumer_reload": 1,
    "force": 1,
    "force_renewal": 1,
    "ignore_schedule": 1,
    "manual": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/autossl/run' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"account_user":"demo","account_username":"demo","force":1,"force_renewal":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "account_user": "demo",
    "account_username": "demo",
    "force": 1,
    "force_renewal": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Backup

GET/v1/root/backup/configrootRead root backup configuration.

What this endpoint does

Read root backup configuration.

Endpoint

GET /v1/root/backup/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/backup/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/backup/defaultrootSet the default end-user backup schedule.

What this endpoint does

Set the default end-user backup schedule.

Endpoint

POST /v1/root/backup/default

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

idOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

Resource ID.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned id value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "id": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/default' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"id":1}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "id": 1
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/backup/logsrootList root backup logs.

What this endpoint does

List root backup logs.

Endpoint

GET /v1/root/backup/logs

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/backup/logs' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

DELETE/v1/root/backup/logs/{log_name}rootDelete one root backup log.

What this endpoint does

Delete one root backup log.

Endpoint

DELETE /v1/root/backup/logs/{log_name}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

log_nameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Log name that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "log_name": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/backup/logs/demo' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "log_name": "demo"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/backup/logs/{log_name}rootRead one root backup log.

What this endpoint does

Read one root backup log.

Endpoint

GET /v1/root/backup/logs/{log_name}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

log_nameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Log name that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "log_name": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/backup/logs/demo' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "log_name": "demo"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

GET/v1/root/backup/remote-configrootRead root remote-backup configuration.

What this endpoint does

Read root remote-backup configuration.

Endpoint

GET /v1/root/backup/remote-config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/backup/remote-config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/backup/remote-configrootSave root remote-backup configuration.

What this endpoint does

Save root remote-backup configuration.

Endpoint

POST /v1/root/backup/remote-config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

backup_urlOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
https://example.com

Backup url accepted by this endpoint while it performs: Save root remote-backup configuration. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

schedule_idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Schedule id accepted by this endpoint while it performs: Save root remote-backup configuration. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property. GET /v1/accounts/{username}/backup/remote/schedules

showtoenduserOptional
Send in
JSON body
Type
enum
Accepted values
on, 1, true, yes
Example
on

Showtoenduser request field. Allowed values: on, 1, true, yes.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "backup_url": "https://example.com",
    "schedule_id": 1,
    "showtoenduser": "on"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/remote-config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"backup_url":"https://example.com","schedule_id":1,"showtoenduser":"on"}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "backup_url": "https://example.com",
    "schedule_id": 1,
    "showtoenduser": "on"
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/restore-browser/file-contentrootRead restore-browser file content.

What this endpoint does

Read restore-browser file content.

Endpoint

POST /v1/root/backup/restore-browser/file-content

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (5)

fileOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
error.log

File path.

Validation and use: Optional Send this parameter as a JSON body property. Use the relevant list/read endpoint for this resource and copy the returned file name.

pointOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
2026-07-16_02-00-00

Point accepted by this endpoint while it performs: Read restore-browser file content. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

scheduleOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
0 2 * * *

Schedule accepted by this endpoint while it performs: Read restore-browser file content. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

subpathOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
/home/demo/public_html

Subpath accepted by this endpoint while it performs: Read restore-browser file content. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

User accepted by this endpoint while it performs: Read restore-browser file content. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 5 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "file": "error.log",
    "point": "2026-07-16_02-00-00",
    "schedule": "0 2 * * *",
    "subpath": "/home/demo/public_html",
    "user": "demo"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore-browser/file-content' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"schedule":"0 2 * * *","point":"2026-07-16_02-00-00","user":"demo","subpath":"/home/demo/public_html"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "schedule": "0 2 * * *",
    "point": "2026-07-16_02-00-00",
    "user": "demo",
    "subpath": "/home/demo/public_html"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/restore-browser/itemsrootList restore-browser items.

What this endpoint does

List restore-browser items.

Endpoint

POST /v1/root/backup/restore-browser/items

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (4)

pointOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
2026-07-16_02-00-00

Point accepted by this endpoint while it performs: List restore-browser items. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

scheduleOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
0 2 * * *

Schedule accepted by this endpoint while it performs: List restore-browser items. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

subpathOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
/home/demo/public_html

Subpath accepted by this endpoint while it performs: List restore-browser items. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

User accepted by this endpoint while it performs: List restore-browser items. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 4 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "point": "2026-07-16_02-00-00",
    "schedule": "0 2 * * *",
    "subpath": "/home/demo/public_html",
    "user": "demo"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore-browser/items' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"schedule":"0 2 * * *","point":"2026-07-16_02-00-00","user":"demo","subpath":"/home/demo/public_html"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "schedule": "0 2 * * *",
    "point": "2026-07-16_02-00-00",
    "user": "demo",
    "subpath": "/home/demo/public_html"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/restore-browser/items/pagedrootList restore-browser items with paging.

What this endpoint does

List restore-browser items with paging.

Endpoint

POST /v1/root/backup/restore-browser/items/paged

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (7)

drawOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

DataTables draw counter.

Validation and use: Optional Send this parameter as a JSON body property.

lengthOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
25

Page size.

Validation and use: Optional Send this parameter as a JSON body property.

pointOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
2026-07-16_02-00-00

Point accepted by this endpoint while it performs: List restore-browser items with paging. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

scheduleOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
0 2 * * *

Schedule accepted by this endpoint while it performs: List restore-browser items with paging. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

startOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
0

Row offset.

Validation and use: Optional Send this parameter as a JSON body property.

subpathOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
/home/demo/public_html

Subpath accepted by this endpoint while it performs: List restore-browser items with paging. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

User accepted by this endpoint while it performs: List restore-browser items with paging. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 7 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "draw": 1,
    "length": 25,
    "point": "2026-07-16_02-00-00",
    "schedule": "0 2 * * *",
    "start": 0,
    "subpath": "/home/demo/public_html",
    "user": "demo"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore-browser/items/paged' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"schedule":"0 2 * * *","point":"2026-07-16_02-00-00","user":"demo","subpath":"/home/demo/public_html"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "schedule": "0 2 * * *",
    "point": "2026-07-16_02-00-00",
    "user": "demo",
    "subpath": "/home/demo/public_html"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/backup/restore-browser/on-demandrootDelete an on-demand backup archive.

What this endpoint does

Delete an on-demand backup archive.

Endpoint

DELETE /v1/root/backup/restore-browser/on-demand

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

pathOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
/home/demo/public_html

Path value.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "path": "/home/demo/public_html"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/backup/restore-browser/on-demand' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"path":"/home/demo/public_html"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "path": "/home/demo/public_html"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/restore-browser/on-demand/cleanuprootClean up an on-demand backup restore.

What this endpoint does

Clean up an on-demand backup restore.

Endpoint

POST /v1/root/backup/restore-browser/on-demand/cleanup

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

scheduleOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
0 2 * * *

Schedule accepted by this endpoint while it performs: Clean up an on-demand backup restore. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "schedule": "0 2 * * *"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore-browser/on-demand/cleanup' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"schedule":"0 2 * * *"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "schedule": "0 2 * * *"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/restore-browser/on-demand/listrootList on-demand backup archives.

What this endpoint does

List on-demand backup archives.

Endpoint

POST /v1/root/backup/restore-browser/on-demand/list

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore-browser/on-demand/list' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/restore-browser/on-demand/preparerootPrepare an on-demand backup restore.

What this endpoint does

Prepare an on-demand backup restore.

Endpoint

POST /v1/root/backup/restore-browser/on-demand/prepare

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

pathOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
/home/demo/public_html

Path value.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "path": "/home/demo/public_html"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore-browser/on-demand/prepare' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"path":"/home/demo/public_html"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "path": "/home/demo/public_html"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/restore-browser/pointsrootList restore-browser points.

What this endpoint does

List restore-browser points.

Endpoint

POST /v1/root/backup/restore-browser/points

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

scheduleOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
0 2 * * *

Schedule accepted by this endpoint while it performs: List restore-browser points. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "schedule": "0 2 * * *"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore-browser/points' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"schedule":"0 2 * * *"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "schedule": "0 2 * * *"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/restore-browser/schedulesrootList restore-browser schedules.

What this endpoint does

List restore-browser schedules.

Endpoint

POST /v1/root/backup/restore-browser/schedules

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore-browser/schedules' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/restore-browser/usersrootList restore-browser users.

What this endpoint does

List restore-browser users.

Endpoint

POST /v1/root/backup/restore-browser/users

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

pointOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
2026-07-16_02-00-00

Point accepted by this endpoint while it performs: List restore-browser users. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

scheduleOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
0 2 * * *

Schedule accepted by this endpoint while it performs: List restore-browser users. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "point": "2026-07-16_02-00-00",
    "schedule": "0 2 * * *"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore-browser/users' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"schedule":"0 2 * * *","point":"2026-07-16_02-00-00"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "schedule": "0 2 * * *",
    "point": "2026-07-16_02-00-00"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/backup/restore-browser/ziprootDelete a restore-browser ZIP archive.

What this endpoint does

Delete a restore-browser ZIP archive.

Endpoint

DELETE /v1/root/backup/restore-browser/zip

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

pointOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
2026-07-16_02-00-00

Point accepted by this endpoint while it performs: Delete a restore-browser ZIP archive. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

scheduleOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
0 2 * * *

Schedule accepted by this endpoint while it performs: Delete a restore-browser ZIP archive. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

User accepted by this endpoint while it performs: Delete a restore-browser ZIP archive. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "point": "2026-07-16_02-00-00",
    "schedule": "0 2 * * *",
    "user": "demo"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/backup/restore-browser/zip' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"schedule":"0 2 * * *","point":"2026-07-16_02-00-00","user":"demo"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "schedule": "0 2 * * *",
    "point": "2026-07-16_02-00-00",
    "user": "demo"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/backup/restore-browser/zip/downloadrootDownload a restore-browser ZIP archive.

What this endpoint does

Download a restore-browser ZIP archive.

Endpoint

GET /v1/root/backup/restore-browser/zip/download

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

pointOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
2026-07-16_02-00-00

Point accepted by this endpoint while it performs: Download a restore-browser ZIP archive. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter in the query string.

scheduleOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
0 2 * * *

Schedule accepted by this endpoint while it performs: Download a restore-browser ZIP archive. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter in the query string.

userOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
demo

User accepted by this endpoint while it performs: Download a restore-browser ZIP archive. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter in the query string.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {
    "point": "2026-07-16_02-00-00",
    "schedule": "0 2 * * *",
    "user": "demo"
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/backup/restore-browser/zip/download?schedule=0+2+*+*+*&point=2026-07-16_02-00-00&user=demo' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {
    "schedule": "0 2 * * *",
    "point": "2026-07-16_02-00-00",
    "user": "demo"
  },
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/backup/restore-browser/zip/generaterootGenerate a restore-browser ZIP archive.

What this endpoint does

Generate a restore-browser ZIP archive.

Endpoint

POST /v1/root/backup/restore-browser/zip/generate

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

pointOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
2026-07-16_02-00-00

Point accepted by this endpoint while it performs: Generate a restore-browser ZIP archive. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

scheduleOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
0 2 * * *

Schedule accepted by this endpoint while it performs: Generate a restore-browser ZIP archive. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

User accepted by this endpoint while it performs: Generate a restore-browser ZIP archive. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "point": "2026-07-16_02-00-00",
    "schedule": "0 2 * * *",
    "user": "demo"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore-browser/zip/generate' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"schedule":"0 2 * * *","point":"2026-07-16_02-00-00","user":"demo"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "schedule": "0 2 * * *",
    "point": "2026-07-16_02-00-00",
    "user": "demo"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/restore-browser/zip/statusrootRead restore-browser ZIP status.

What this endpoint does

Read restore-browser ZIP status.

Endpoint

POST /v1/root/backup/restore-browser/zip/status

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

pointOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
2026-07-16_02-00-00

Point accepted by this endpoint while it performs: Read restore-browser ZIP status. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

scheduleOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
0 2 * * *

Schedule accepted by this endpoint while it performs: Read restore-browser ZIP status. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

User accepted by this endpoint while it performs: Read restore-browser ZIP status. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "point": "2026-07-16_02-00-00",
    "schedule": "0 2 * * *",
    "user": "demo"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore-browser/zip/status' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"schedule":"0 2 * * *","point":"2026-07-16_02-00-00","user":"demo"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "schedule": "0 2 * * *",
    "point": "2026-07-16_02-00-00",
    "user": "demo"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/restore/jobsrootStart a root backup restore job.

What this endpoint does

Start a root backup restore job.

Endpoint

POST /v1/root/backup/restore/jobs

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

usersOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Users accepted by this endpoint while it performs: Start a root backup restore job. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "users": "demo"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore/jobs' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"users":"demo"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "users": "demo"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/backup/restore/jobs/{restore_hash}rootRead a root backup restore job status.

What this endpoint does

Read a root backup restore job status.

Endpoint

GET /v1/root/backup/restore/jobs/{restore_hash}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

restore_hashRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
restore-hash-from-backup-list

Restore hash that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/accounts/{username}/backup/remote/files/points

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "restore_hash": "restore-hash-from-backup-list"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/backup/restore/jobs/restore-hash-from-backup-list' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "restore_hash": "restore-hash-from-backup-list"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/backup/restore/jobs/{restore_hash}/abortrootAbort a root backup restore job.

What this endpoint does

Abort a root backup restore job.

Endpoint

POST /v1/root/backup/restore/jobs/{restore_hash}/abort

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

restore_hashRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
restore-hash-from-backup-list

Restore hash that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/accounts/{username}/backup/remote/files/points

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "restore_hash": "restore-hash-from-backup-list"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/restore/jobs/restore-hash-from-backup-list/abort' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "restore_hash": "restore-hash-from-backup-list"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/backup/restore/jobs/{restore_hash}/logrootRead a root backup restore job log.

What this endpoint does

Read a root backup restore job log.

Endpoint

GET /v1/root/backup/restore/jobs/{restore_hash}/log

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

restore_hashRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
restore-hash-from-backup-list

Restore hash that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/accounts/{username}/backup/remote/files/points

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "restore_hash": "restore-hash-from-backup-list"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/backup/restore/jobs/restore-hash-from-backup-list/log' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "restore_hash": "restore-hash-from-backup-list"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/backup/schedulesrootCreate a root backup schedule.

What this endpoint does

Create a root backup schedule.

Operational guidance: Create a root backup schedule. Schedule values match the Root Backup schedule form.

Endpoint

POST /v1/root/backup/schedules

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (20)

backup_cron_daysRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
*

Cron day-of-month expression or selector.

Validation and use: Required Send this parameter as a JSON body property.

backup_cron_hoursRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
2

Cron hour expression or selector.

Validation and use: Required Send this parameter as a JSON body property.

backup_cron_minutesRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
0

Cron minute expression or selector.

Validation and use: Required Send this parameter as a JSON body property.

backup_cron_monthsRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
*

Cron month expression or selector.

Validation and use: Required Send this parameter as a JSON body property.

backup_cron_weekdayRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
*

Cron weekday expression or selector.

Validation and use: Required Send this parameter as a JSON body property.

backup_nameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
daily-local

Unique schedule name.

Validation and use: Required Send this parameter as a JSON body property.

backup_partitionRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
/backup

Absolute destination path/partition for backup storage.

Validation and use: Required Send this parameter as a JSON body property.

backup_pointsRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
7

Number of restore points to keep.

Validation and use: Required Send this parameter as a JSON body property.

backup_accountsOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
[]

Specific account usernames when backup_all_accounts is disabled.

Validation and use: Optional Send this parameter as a JSON body property.

backup_all_accountsOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Back up all accounts when enabled.

Validation and use: Optional Send this parameter as a JSON body property.

backup_databasesOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Include databases.

Validation and use: Optional Send this parameter as a JSON body property.

backup_enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable the schedule. Default: true.

Validation and use: Optional Send this parameter as a JSON body property.

backup_excludesOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
cache/* tmp/*

Newline or comma separated exclude patterns.

Validation and use: Optional Send this parameter as a JSON body property.

backup_filesOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Include account files.

Validation and use: Optional Send this parameter as a JSON body property.

backup_mailOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Include mail data.

Validation and use: Optional Send this parameter as a JSON body property.

backup_monthlyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable monthly retention.

Validation and use: Optional Send this parameter as a JSON body property.

backup_monthly_pointsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Monthly restore points to keep when monthly retention is enabled.

Validation and use: Optional Send this parameter as a JSON body property.

backup_typeOptional
Send in
JSON body
Type
enum
Accepted values
simple, advanced
Example
simple

Allowed values: simple, advanced. Default: simple.

Validation and use: Optional Send this parameter as a JSON body property.

backup_weeklyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable weekly retention.

Validation and use: Optional Send this parameter as a JSON body property.

backup_weekly_pointsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Weekly restore points to keep when weekly retention is enabled.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 20 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "backup_cron_days": "*",
    "backup_cron_hours": "2",
    "backup_cron_minutes": "0",
    "backup_cron_months": "*",
    "backup_cron_weekday": "*",
    "backup_name": "daily-local",
    "backup_partition": "/backup",
    "backup_points": 7,
    "backup_accounts": [],
    "backup_all_accounts": 1,
    "backup_databases": 1,
    "backup_enabled": 1,
    "backup_excludes": "cache/*\ntmp/*",
    "backup_files": 1,
    "backup_mail": 1,
    "backup_monthly": 1,
    "backup_monthly_points": 1,
    "backup_type": "simple",
    "backup_weekly": 1,
    "backup_weekly_points": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/schedules' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"backup_name":"daily-local","backup_type":"simple","backup_partition":"/backup","backup_cron_minutes":"0","backup_cron_hours":"2","backup_cron_days":"*","backup_cron_months":"*","backup_cron_weekday":"*","backup_files":1,"backup_databases":1,"backup_mail":1,"backup_points":7,"backup_all_accounts":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Create daily simple backup schedule
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "backup_name": "daily-local",
    "backup_type": "simple",
    "backup_partition": "/backup",
    "backup_cron_minutes": "0",
    "backup_cron_hours": "2",
    "backup_cron_days": "*",
    "backup_cron_months": "*",
    "backup_cron_weekday": "*",
    "backup_files": 1,
    "backup_databases": 1,
    "backup_mail": 1,
    "backup_points": 7,
    "backup_all_accounts": 1
  }
}
Create daily simple backup schedule
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "backup_name": "daily-local",
    "backup_type": "simple",
    "backup_partition": "/backup",
    "backup_cron_minutes": "0",
    "backup_cron_hours": "2",
    "backup_cron_days": "*",
    "backup_cron_months": "*",
    "backup_cron_weekday": "*",
    "backup_files": 1,
    "backup_databases": 1,
    "backup_mail": 1,
    "backup_points": 7,
    "backup_all_accounts": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/backup/schedules/{schedule_id}rootDelete a root backup schedule.

What this endpoint does

Delete a root backup schedule.

Endpoint

DELETE /v1/root/backup/schedules/{schedule_id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

schedule_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Schedule id that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/accounts/{username}/backup/remote/schedules

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "schedule_id": 1
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/backup/schedules/1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "schedule_id": 1
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/backup/schedules/{schedule_id}rootRead a root backup schedule.

What this endpoint does

Read a root backup schedule.

Endpoint

GET /v1/root/backup/schedules/{schedule_id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

schedule_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Schedule id that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/accounts/{username}/backup/remote/schedules

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "schedule_id": 1
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/backup/schedules/1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "schedule_id": 1
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

PATCH/v1/root/backup/schedules/{schedule_id}rootUpdate a root backup schedule.

What this endpoint does

Update a root backup schedule.

Endpoint

PATCH /v1/root/backup/schedules/{schedule_id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

schedule_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Schedule id that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/accounts/{username}/backup/remote/schedules

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "schedule_id": 1
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/backup/schedules/1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "schedule_id": 1
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/schedules/{schedule_id}/actionrootStart or stop a root backup schedule.

What this endpoint does

Start or stop a root backup schedule.

Endpoint

POST /v1/root/backup/schedules/{schedule_id}/action

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

schedule_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Schedule id that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/accounts/{username}/backup/remote/schedules

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "schedule_id": 1
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/schedules/1/action' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "schedule_id": 1
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/backup/thresholdsrootSave root backup threshold settings.

What this endpoint does

Save root backup threshold settings.

Endpoint

POST /v1/root/backup/thresholds

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

backup_disk_percent_limitOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

Backup disk percent limit accepted by this endpoint while it performs: Save root backup threshold settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

backup_load_limitOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

Backup load limit accepted by this endpoint while it performs: Save root backup threshold settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "backup_disk_percent_limit": 1,
    "backup_load_limit": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/backup/thresholds' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"backup_load_limit":1,"backup_disk_percent_limit":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "backup_load_limit": 1,
    "backup_disk_percent_limit": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Configuration

GET/v1/root/apache/configrootRead Apache configuration.

What this endpoint does

Read Apache configuration.

Endpoint

GET /v1/root/apache/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/apache/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/apache/configrootSave Apache configuration.

What this endpoint does

Save Apache configuration.

Operational guidance: Save the full root Apache settings payload. Send the settings object with every Apache setting returned by GET /v1/root/apache/config. Use apply=true to render the root Apache configuration, write the httpd LimitNOFILE drop-in/Apache limits.d file, run systemctl daemon-reload, and restart httpd so file descriptor limits are inherited; rebuild hosted domain configuration separately when changing symlink_protection.

Endpoint

POST /v1/root/apache/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (44)

settingsRequired
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{"keep_alive":"On","keep_alive_timeout":5,"max_keep_alive_requests":50,"timeout":300,"proxy_timeout":300,"service_nofile_limit":65535,"mpm_worker_server_limit":10,"mpm_worker_start_servers":1,"mpm_worker_thread_limit":64,"mpm_worker_min_spare_threads":32,"mpm_worker_max_spare_threads":640,"mpm_worker_threads_per_child":64,"mpm_worker_max_request_workers":640,"mpm_worker_max_connections_per_child":10000,"mpm_worker_graceful_shutdown_timeout":1,"mpm_event_server_limit":10,"mpm_event_start_servers":1,"mpm_event_thread_limit":64,"mpm_event_min_spare_threads":32,"mpm_event_max_spare_threads":640,"mpm_event_threads_per_child":64,"mpm_event_max_request_workers":640,"mpm_event_max_connections_per_child":10000,"mpm_event_graceful_shutdown_timeout":1,"mpm_prefork_start_servers":40,"mpm_prefork_min_spare_servers":10,"mpm_prefork_max_spare_servers":40,"mpm_prefork_server_limit":640,"mpm_prefork_max_clients":640,"mpm_prefork_max_request_workers":640,"mpm_prefork_max_connections_per_child":10000,"trace_enable":"Off","symlink_protection":"On","server_signature":"Off","server_tokens":"ONE_TIME_TOKEN","hostname_lookups":"Off","use_canonical_name":"Off","log_level":"warn","extended_status":"On","file_etag":"None","ssl_use_stapling":"Off"}

Full Apache settings object. Missing keys are rejected by the native validator.

Validation and use: Required Send this parameter as a JSON body property.

settings.extended_statusRequired
Send in
JSON body
Type
enum
Accepted values
On, Off
Example
On

Allowed values: On, Off. Controls ExtendedStatus.

Validation and use: Required Send this parameter as a JSON body property.

settings.file_etagRequired
Send in
JSON body
Type
enum
Accepted values
None, All
Example
None

Allowed values: None, All. Controls FileETag.

Validation and use: Required Send this parameter as a JSON body property.

settings.hostname_lookupsRequired
Send in
JSON body
Type
enum
Accepted values
On, Off
Example
On

Allowed values: On, Off. Controls reverse DNS lookups for client IPs.

Validation and use: Required Send this parameter as a JSON body property.

settings.keep_aliveRequired
Send in
JSON body
Type
enum
Accepted values
On, Off
Example
On

Allowed values: On, Off. Controls Apache KeepAlive.

Validation and use: Required Send this parameter as a JSON body property.

settings.keep_alive_timeoutRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

KeepAliveTimeout in seconds. Allowed range: 1-60.

Validation and use: Required Send this parameter as a JSON body property.

settings.log_levelRequired
Send in
JSON body
Type
enum
Accepted values
emerg, alert, crit, error, warn, notice, info, debug, trace1, trace2, trace3, trace4, trace5, trace6, trace7, trace8
Example
emerg

Allowed values: emerg, alert, crit, error, warn, notice, info, debug, trace1, trace2, trace3, trace4, trace5, trace6, trace7, trace8.

Validation and use: Required Send this parameter as a JSON body property.

settings.max_keep_alive_requestsRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

MaxKeepAliveRequests. Allowed range: 0-100000. 0 means unlimited.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_event_graceful_shutdown_timeoutRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Event MPM GracefulShutdownTimeout. Allowed range: 0-3600. Default: 1.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_event_max_connections_per_childRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Event MPM MaxConnectionsPerChild. Allowed range: 0-1000000. Default: 10000.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_event_max_request_workersRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Event MPM MaxRequestWorkers. Allowed range: 1-200000. Default: 640.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_event_max_spare_threadsRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Event MPM MaxSpareThreads. Allowed range: 1-200000. Default: 640.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_event_min_spare_threadsRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Event MPM MinSpareThreads. Allowed range: 1-200000. Default: 32.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_event_server_limitRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Event MPM ServerLimit. Allowed range: 1-20000. Default: 10.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_event_start_serversRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Event MPM StartServers. Allowed range: 1-1024. Default: 1.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_event_thread_limitRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Event MPM ThreadLimit. Allowed range: 1-4096. Default: 64.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_event_threads_per_childRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Event MPM ThreadsPerChild. Allowed range: 1-4096. Default: 64.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_prefork_max_clientsRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Prefork MPM MaxClients legacy alias. Allowed range: 1-200000. Default: 640.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_prefork_max_connections_per_childRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Prefork MPM MaxConnectionsPerChild. Allowed range: 0-1000000. Default: 10000.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_prefork_max_request_workersRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Prefork MPM MaxRequestWorkers. Allowed range: 1-200000. Default: 640.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_prefork_max_spare_serversRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Prefork MPM MaxSpareServers. Allowed range: 1-20000. Default: 40.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_prefork_min_spare_serversRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Prefork MPM MinSpareServers. Allowed range: 1-20000. Default: 10.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_prefork_server_limitRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Prefork MPM ServerLimit. Allowed range: 1-200000. Default: 640.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_prefork_start_serversRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Prefork MPM StartServers. Allowed range: 1-20000. Default: 40.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_worker_graceful_shutdown_timeoutRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Worker MPM GracefulShutdownTimeout. Allowed range: 0-3600. Default: 1.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_worker_max_connections_per_childRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Worker MPM MaxConnectionsPerChild. Allowed range: 0-1000000. Default: 10000.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_worker_max_request_workersRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Worker MPM MaxRequestWorkers. Allowed range: 1-200000. Default: 640.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_worker_max_spare_threadsRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Worker MPM MaxSpareThreads. Allowed range: 1-200000. Default: 640.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_worker_min_spare_threadsRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Worker MPM MinSpareThreads. Allowed range: 1-200000. Default: 32.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_worker_server_limitRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Worker MPM ServerLimit. Allowed range: 1-20000. Default: 10.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_worker_start_serversRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Worker MPM StartServers. Allowed range: 1-1024. Default: 1.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_worker_thread_limitRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Worker MPM ThreadLimit. Allowed range: 1-4096. Default: 64.

Validation and use: Required Send this parameter as a JSON body property.

settings.mpm_worker_threads_per_childRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Worker MPM ThreadsPerChild. Allowed range: 1-4096. Default: 64.

Validation and use: Required Send this parameter as a JSON body property.

settings.proxy_timeoutRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Apache ProxyTimeout in seconds. Allowed range: 1-600.

Validation and use: Required Send this parameter as a JSON body property.

settings.server_signatureRequired
Send in
JSON body
Type
enum
Accepted values
On, Off
Example
On

Allowed values: On, Off. Controls Apache ServerSignature.

Validation and use: Required Send this parameter as a JSON body property.

settings.server_tokensRequired
Send in
JSON body
Type
enum
Accepted values
Prod, ProductOnly, Minimal, Major, Minor, OS, Full
Example
ONE_TIME_TOKEN

Allowed values: Prod, ProductOnly, Minimal, Major, Minor, OS, Full. Controls version detail in server headers.

Validation and use: Required Send this parameter as a JSON body property.

settings.service_nofile_limitRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Open-file limit for httpd systemd LimitNOFILE and /etc/security/limits.d/10-apache.conf. Allowed range: 1024-1048576. Default: 65535.

Validation and use: Required Send this parameter as a JSON body property.

settings.ssl_use_staplingRequired
Send in
JSON body
Type
enum
Accepted values
On, Off
Example
On

Allowed values: On, Off. Controls SSLUseStapling.

Validation and use: Required Send this parameter as a JSON body property.

settings.symlink_protectionRequired
Send in
JSON body
Type
enum
Accepted values
On, Off
Example
On

Allowed values: On, Off. On uses Nonfatal=Override and blocks customer .htaccess Options overrides without HTTP 500. Off disables SHM Apache symlink and Options protection, allowing customer .htaccess Options overrides including FollowSymLinks and ExecCGI when Apache handlers permit them. Off is unsafe unless the server owner accepts the symlink and CGI execution risk.

Validation and use: Required Send this parameter as a JSON body property.

settings.timeoutRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Apache Timeout in seconds. Allowed range: 1-600.

Validation and use: Required Send this parameter as a JSON body property.

settings.trace_enableRequired
Send in
JSON body
Type
enum
Accepted values
On, Off
Example
On

Allowed values: On, Off. Keep Off for shared hosting.

Validation and use: Required Send this parameter as a JSON body property.

settings.use_canonical_nameRequired
Send in
JSON body
Type
enum
Accepted values
On, Off
Example
On

Allowed values: On, Off. Controls UseCanonicalName.

Validation and use: Required Send this parameter as a JSON body property.

applyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Apply the root Apache configuration immediately after saving. Hosted domain configuration is not rebuilt by this flag.

Validation and use: Optional Send this parameter as a JSON body property.

reload_onlyOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{}

Reload only accepted by this endpoint while it performs: Save Apache configuration. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 44 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "keep_alive": "On",
      "keep_alive_timeout": 5,
      "max_keep_alive_requests": 50,
      "timeout": 300,
      "proxy_timeout": 300,
      "service_nofile_limit": 65535,
      "mpm_worker_server_limit": 10,
      "mpm_worker_start_servers": 1,
      "mpm_worker_thread_limit": 64,
      "mpm_worker_min_spare_threads": 32,
      "mpm_worker_max_spare_threads": 640,
      "mpm_worker_threads_per_child": 64,
      "mpm_worker_max_request_workers": 640,
      "mpm_worker_max_connections_per_child": 10000,
      "mpm_worker_graceful_shutdown_timeout": 1,
      "mpm_event_server_limit": 10,
      "mpm_event_start_servers": 1,
      "mpm_event_thread_limit": 64,
      "mpm_event_min_spare_threads": 32,
      "mpm_event_max_spare_threads": 640,
      "mpm_event_threads_per_child": 64,
      "mpm_event_max_request_workers": 640,
      "mpm_event_max_connections_per_child": 10000,
      "mpm_event_graceful_shutdown_timeout": 1,
      "mpm_prefork_start_servers": 40,
      "mpm_prefork_min_spare_servers": 10,
      "mpm_prefork_max_spare_servers": 40,
      "mpm_prefork_server_limit": 640,
      "mpm_prefork_max_clients": 640,
      "mpm_prefork_max_request_workers": 640,
      "mpm_prefork_max_connections_per_child": 10000,
      "trace_enable": "Off",
      "symlink_protection": "On",
      "server_signature": "Off",
      "server_tokens": "ONE_TIME_TOKEN",
      "hostname_lookups": "Off",
      "use_canonical_name": "Off",
      "log_level": "warn",
      "extended_status": "On",
      "file_etag": "None",
      "ssl_use_stapling": "Off"
    },
    "settings.extended_status": "On",
    "settings.file_etag": "None",
    "settings.hostname_lookups": "On",
    "settings.keep_alive": "On",
    "settings.keep_alive_timeout": 1,
    "settings.log_level": "emerg",
    "settings.max_keep_alive_requests": 1,
    "settings.mpm_event_graceful_shutdown_timeout": 1,
    "settings.mpm_event_max_connections_per_child": 1,
    "settings.mpm_event_max_request_workers": 1,
    "settings.mpm_event_max_spare_threads": 1,
    "settings.mpm_event_min_spare_threads": 1,
    "settings.mpm_event_server_limit": 1,
    "settings.mpm_event_start_servers": 1,
    "settings.mpm_event_thread_limit": 1,
    "settings.mpm_event_threads_per_child": 1,
    "settings.mpm_prefork_max_clients": 1,
    "settings.mpm_prefork_max_connections_per_child": 1,
    "settings.mpm_prefork_max_request_workers": 1,
    "settings.mpm_prefork_max_spare_servers": 1,
    "settings.mpm_prefork_min_spare_servers": 1,
    "settings.mpm_prefork_server_limit": 1,
    "settings.mpm_prefork_start_servers": 1,
    "settings.mpm_worker_graceful_shutdown_timeout": 1,
    "settings.mpm_worker_max_connections_per_child": 1,
    "settings.mpm_worker_max_request_workers": 1,
    "settings.mpm_worker_max_spare_threads": 1,
    "settings.mpm_worker_min_spare_threads": 1,
    "settings.mpm_worker_server_limit": 1,
    "settings.mpm_worker_start_servers": 1,
    "settings.mpm_worker_thread_limit": 1,
    "settings.mpm_worker_threads_per_child": 1,
    "settings.proxy_timeout": 1,
    "settings.server_signature": "On",
    "settings.server_tokens": "ONE_TIME_TOKEN",
    "settings.service_nofile_limit": 1,
    "settings.ssl_use_stapling": "On",
    "settings.symlink_protection": "On",
    "settings.timeout": 1,
    "settings.trace_enable": "On",
    "settings.use_canonical_name": "On",
    "apply": true,
    "reload_only": {}
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/apache/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"settings":{"keep_alive":"On","keep_alive_timeout":5,"max_keep_alive_requests":50,"timeout":300,"proxy_timeout":300,"service_nofile_limit":65535,"mpm_worker_server_limit":10,"mpm_worker_start_servers":1,"mpm_worker_thread_limit":64,"mpm_worker_min_spare_threads":32,"mpm_worker_max_spare_threads":640,"mpm_worker_threads_per_child":64,"mpm_worker_max_request_workers":640,"mpm_worker_max_connections_per_child":10000,"mpm_worker_graceful_shutdown_timeout":1,"mpm_event_server_limit":10,"mpm_event_start_servers":1,"mpm_event_thread_limit":64,"mpm_event_min_spare_threads":32,"mpm_event_max_spare_threads":640,"mpm_event_threads_per_child":64,"mpm_event_max_request_workers":640,"mpm_event_max_connections_per_child":10000,"mpm_event_graceful_shutdown_timeout":1,"mpm_prefork_start_servers":40,"mpm_prefork_min_spare_servers":10,"mpm_prefork_max_spare_servers":40,"mpm_prefork_server_limit":640,"mpm_prefork_max_clients":640,"mpm_prefork_max_request_workers":640,"mpm_prefork_max_connections_per_child":10000,"trace_enable":"Off","symlink_protection":"On","server_signature":"Off","server_tokens":"ONE_TIME_TOKEN","hostname_lookups":"Off","use_canonical_name":"Off","log_level":"warn","extended_status":"On","file_etag":"None","ssl_use_stapling":"Off"},"apply":true,"settings.extended_status":"On","settings.file_etag":"None","settings.hostname_lookups":"On","settings.keep_alive":"On","settings.keep_alive_timeout":1,"settings.log_level":"emerg","settings.max_keep_alive_requests":1,"settings.mpm_event_graceful_shutdown_timeout":1,"settings.mpm_event_max_connections_per_child":1,"settings.mpm_event_max_request_workers":1,"settings.mpm_event_max_spare_threads":1,"settings.mpm_event_min_spare_threads":1,"settings.mpm_event_server_limit":1,"settings.mpm_event_start_servers":1,"settings.mpm_event_thread_limit":1,"settings.mpm_event_threads_per_child":1,"settings.mpm_prefork_max_clients":1,"settings.mpm_prefork_max_connections_per_child":1,"settings.mpm_prefork_max_request_workers":1,"settings.mpm_prefork_max_spare_servers":1,"settings.mpm_prefork_min_spare_servers":1,"settings.mpm_prefork_server_limit":1,"settings.mpm_prefork_start_servers":1,"settings.mpm_worker_graceful_shutdown_timeout":1,"settings.mpm_worker_max_connections_per_child":1,"settings.mpm_worker_max_request_workers":1,"settings.mpm_worker_max_spare_threads":1,"settings.mpm_worker_min_spare_threads":1,"settings.mpm_worker_server_limit":1,"settings.mpm_worker_start_servers":1,"settings.mpm_worker_thread_limit":1,"settings.mpm_worker_threads_per_child":1,"settings.proxy_timeout":1,"settings.server_signature":"On","settings.server_tokens":"ONE_TIME_TOKEN","settings.service_nofile_limit":1,"settings.ssl_use_stapling":"On","settings.symlink_protection":"On","settings.timeout":1,"settings.trace_enable":"On","settings.use_canonical_name":"On"}'

Example note: Requires a documented runtime value before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Save secure shared-hosting defaults
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "keep_alive": "On",
      "keep_alive_timeout": 5,
      "max_keep_alive_requests": 50,
      "timeout": 300,
      "proxy_timeout": 300,
      "service_nofile_limit": 65535,
      "mpm_worker_server_limit": 10,
      "mpm_worker_start_servers": 1,
      "mpm_worker_thread_limit": 64,
      "mpm_worker_min_spare_threads": 32,
      "mpm_worker_max_spare_threads": 640,
      "mpm_worker_threads_per_child": 64,
      "mpm_worker_max_request_workers": 640,
      "mpm_worker_max_connections_per_child": 10000,
      "mpm_worker_graceful_shutdown_timeout": 1,
      "mpm_event_server_limit": 10,
      "mpm_event_start_servers": 1,
      "mpm_event_thread_limit": 64,
      "mpm_event_min_spare_threads": 32,
      "mpm_event_max_spare_threads": 640,
      "mpm_event_threads_per_child": 64,
      "mpm_event_max_request_workers": 640,
      "mpm_event_max_connections_per_child": 10000,
      "mpm_event_graceful_shutdown_timeout": 1,
      "mpm_prefork_start_servers": 40,
      "mpm_prefork_min_spare_servers": 10,
      "mpm_prefork_max_spare_servers": 40,
      "mpm_prefork_server_limit": 640,
      "mpm_prefork_max_clients": 640,
      "mpm_prefork_max_request_workers": 640,
      "mpm_prefork_max_connections_per_child": 10000,
      "trace_enable": "Off",
      "symlink_protection": "On",
      "server_signature": "Off",
      "server_tokens": "ONE_TIME_TOKEN",
      "hostname_lookups": "Off",
      "use_canonical_name": "Off",
      "log_level": "warn",
      "extended_status": "On",
      "file_etag": "None",
      "ssl_use_stapling": "Off"
    },
    "apply": true
  }
}

Requires a documented runtime value before QA can execute this request.

Disable Apache symlink and Options protection for compatibility
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "keep_alive": "On",
      "keep_alive_timeout": 5,
      "max_keep_alive_requests": 50,
      "timeout": 300,
      "proxy_timeout": 300,
      "service_nofile_limit": 65535,
      "mpm_worker_server_limit": 10,
      "mpm_worker_start_servers": 1,
      "mpm_worker_thread_limit": 64,
      "mpm_worker_min_spare_threads": 32,
      "mpm_worker_max_spare_threads": 640,
      "mpm_worker_threads_per_child": 64,
      "mpm_worker_max_request_workers": 640,
      "mpm_worker_max_connections_per_child": 10000,
      "mpm_worker_graceful_shutdown_timeout": 1,
      "mpm_event_server_limit": 10,
      "mpm_event_start_servers": 1,
      "mpm_event_thread_limit": 64,
      "mpm_event_min_spare_threads": 32,
      "mpm_event_max_spare_threads": 640,
      "mpm_event_threads_per_child": 64,
      "mpm_event_max_request_workers": 640,
      "mpm_event_max_connections_per_child": 10000,
      "mpm_event_graceful_shutdown_timeout": 1,
      "mpm_prefork_start_servers": 40,
      "mpm_prefork_min_spare_servers": 10,
      "mpm_prefork_max_spare_servers": 40,
      "mpm_prefork_server_limit": 640,
      "mpm_prefork_max_clients": 640,
      "mpm_prefork_max_request_workers": 640,
      "mpm_prefork_max_connections_per_child": 10000,
      "trace_enable": "Off",
      "symlink_protection": "Off",
      "server_signature": "Off",
      "server_tokens": "ONE_TIME_TOKEN",
      "hostname_lookups": "Off",
      "use_canonical_name": "Off",
      "log_level": "warn",
      "extended_status": "On",
      "file_etag": "None",
      "ssl_use_stapling": "Off"
    },
    "apply": true
  }
}

Requires a documented runtime value before QA can execute this request.

Save secure shared-hosting defaults
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "keep_alive": "On",
      "keep_alive_timeout": 5,
      "max_keep_alive_requests": 50,
      "timeout": 300,
      "proxy_timeout": 300,
      "service_nofile_limit": 65535,
      "mpm_worker_server_limit": 10,
      "mpm_worker_start_servers": 1,
      "mpm_worker_thread_limit": 64,
      "mpm_worker_min_spare_threads": 32,
      "mpm_worker_max_spare_threads": 640,
      "mpm_worker_threads_per_child": 64,
      "mpm_worker_max_request_workers": 640,
      "mpm_worker_max_connections_per_child": 10000,
      "mpm_worker_graceful_shutdown_timeout": 1,
      "mpm_event_server_limit": 10,
      "mpm_event_start_servers": 1,
      "mpm_event_thread_limit": 64,
      "mpm_event_min_spare_threads": 32,
      "mpm_event_max_spare_threads": 640,
      "mpm_event_threads_per_child": 64,
      "mpm_event_max_request_workers": 640,
      "mpm_event_max_connections_per_child": 10000,
      "mpm_event_graceful_shutdown_timeout": 1,
      "mpm_prefork_start_servers": 40,
      "mpm_prefork_min_spare_servers": 10,
      "mpm_prefork_max_spare_servers": 40,
      "mpm_prefork_server_limit": 640,
      "mpm_prefork_max_clients": 640,
      "mpm_prefork_max_request_workers": 640,
      "mpm_prefork_max_connections_per_child": 10000,
      "trace_enable": "Off",
      "symlink_protection": "On",
      "server_signature": "Off",
      "server_tokens": "ONE_TIME_TOKEN",
      "hostname_lookups": "Off",
      "use_canonical_name": "Off",
      "log_level": "warn",
      "extended_status": "On",
      "file_etag": "None",
      "ssl_use_stapling": "Off"
    },
    "apply": true
  }
}

Requires a documented runtime value before QA can execute this request.

Disable Apache symlink and Options protection for compatibility
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "keep_alive": "On",
      "keep_alive_timeout": 5,
      "max_keep_alive_requests": 50,
      "timeout": 300,
      "proxy_timeout": 300,
      "service_nofile_limit": 65535,
      "mpm_worker_server_limit": 10,
      "mpm_worker_start_servers": 1,
      "mpm_worker_thread_limit": 64,
      "mpm_worker_min_spare_threads": 32,
      "mpm_worker_max_spare_threads": 640,
      "mpm_worker_threads_per_child": 64,
      "mpm_worker_max_request_workers": 640,
      "mpm_worker_max_connections_per_child": 10000,
      "mpm_worker_graceful_shutdown_timeout": 1,
      "mpm_event_server_limit": 10,
      "mpm_event_start_servers": 1,
      "mpm_event_thread_limit": 64,
      "mpm_event_min_spare_threads": 32,
      "mpm_event_max_spare_threads": 640,
      "mpm_event_threads_per_child": 64,
      "mpm_event_max_request_workers": 640,
      "mpm_event_max_connections_per_child": 10000,
      "mpm_event_graceful_shutdown_timeout": 1,
      "mpm_prefork_start_servers": 40,
      "mpm_prefork_min_spare_servers": 10,
      "mpm_prefork_max_spare_servers": 40,
      "mpm_prefork_server_limit": 640,
      "mpm_prefork_max_clients": 640,
      "mpm_prefork_max_request_workers": 640,
      "mpm_prefork_max_connections_per_child": 10000,
      "trace_enable": "Off",
      "symlink_protection": "Off",
      "server_signature": "Off",
      "server_tokens": "ONE_TIME_TOKEN",
      "hostname_lookups": "Off",
      "use_canonical_name": "Off",
      "log_level": "warn",
      "extended_status": "On",
      "file_etag": "None",
      "ssl_use_stapling": "Off"
    },
    "apply": true
  }
}

Requires a documented runtime value before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/cache/configrootRead cache configuration.

What this endpoint does

Read cache configuration.

Operational guidance: Read Configuration > Cache. The response includes availability, save timestamp, pending_apply, the native validation schema, and all effective root Nginx/Apache cache settings. pending_apply remains true until a successful atomic apply has persisted cache.applied.yaml. Dynamic and static TTL values are inherited by domains that do not have an explicit Cache Manager override. Nginx keys_zone sizes are per-zone RAM metadata limits; max_size is the per-zone disk limit.

Endpoint

GET /v1/root/cache/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/cache/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Read server cache settings
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}
Read server cache settings
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/cache/configrootSave cache configuration.

What this endpoint does

Save cache configuration.

Operational guidance: Save and atomically apply Configuration > Cache. Send settings as a partial object: omitted recognized fields preserve their current normalized value. apply is optional and defaults to true; apply=false is rejected because SHM does not retain a saved-but-unapplied cache state. SHM snapshots every affected hosted-vhost cache artifact, regenerates all affected Nginx/Apache configuration, validates the combined runtime, performs a checked reload, and invalidates only cache layers made stale since the last successful apply. A request already identical to both cache.yaml and cache.applied.yaml is a no-op. Any generation, validation, reload, invalidation, or applied-state persistence failure reports an error and restores the previous settings/runtime when possible.

Endpoint

POST /v1/root/cache/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (22)

settingsRequired
Send in
JSON body
Type
object
Accepted values
Any value matching object
Example
{"nginx_dynamic_ttl":"15m","nginx_static_ttl":"7d","apache_ttl_seconds":900}

Server cache settings object. Recognized keys are validated and saved; omitted recognized keys keep their current/default values.

Validation and use: Required Send this parameter as a JSON body property.

applyOptional
Send in
JSON body
Type
enum
Accepted values
1, true, yes, on
Example
true

Atomic apply is mandatory and defaults to true. Explicit false/off/0 is rejected; use GET to inspect pending_apply.

Validation and use: Optional Send this parameter as a JSON body property. Default: true.

settings.apache_debug_headersOptional
Send in
JSON body
Type
enum
Accepted values
on, off, 1, 0, true, false, yes, no
Example
on

Controls Apache cache detail/debug response headers.

Validation and use: Optional Send this parameter as a JSON body property. Default: on.

settings.apache_dir_lengthOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string; default: 1
Example
1

Apache CacheDirLength value. Range: 1-3.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 3. Default: 1.

settings.apache_dir_levelsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string; default: 2
Example
2

Apache CacheDirLevels value. Range: 1-4.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 4. Default: 2.

settings.apache_ignore_no_last_modOptional
Send in
JSON body
Type
enum
Accepted values
on, off, 1, 0, true, false, yes, no
Example
on

Allows Apache to cache otherwise-safe responses without Last-Modified. private, no-store, no-cache, Set-Cookie, sensitive-path, authorization, and unsafe-method safeguards remain enforced for every profile.

Validation and use: Optional Send this parameter as a JSON body property. Default: on.

settings.apache_lockOptional
Send in
JSON body
Type
enum
Accepted values
on, off, 1, 0, true, false, yes, no
Example
on

Controls Apache CacheLock to prevent concurrent cache fills.

Validation and use: Optional Send this parameter as a JSON body property. Default: on.

settings.apache_lock_max_ageOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string; default: 5
Example
5

Apache CacheLockMaxAge in seconds. Range: 1-60.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 60. Default: 5.

settings.apache_quick_handlerOptional
Send in
JSON body
Type
enum
Accepted values
on, off, 1, 0, true, false, yes, no
Example
off

Controls Apache CacheQuickHandler. Keep off unless the vhost behavior has been compatibility-tested.

Validation and use: Optional Send this parameter as a JSON body property. Default: off.

settings.apache_stale_on_errorOptional
Send in
JSON body
Type
enum
Accepted values
on, off, 1, 0, true, false, yes, no
Example
on

Controls serving stale Apache cache entries on backend errors.

Validation and use: Optional Send this parameter as a JSON body property. Default: on.

settings.apache_ttl_secondsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string; default: 900
Example
900

Apache anonymous dynamic-response TTL in seconds. Range: 60-2592000.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 60. Maximum 2592000. Default: 900.

settings.nginx_background_updateOptional
Send in
JSON body
Type
enum
Accepted values
on, off, 1, 0, true, false, yes, no
Example
on

Controls background refresh of expired Nginx cache entries while stale content may be served.

Validation and use: Optional Send this parameter as a JSON body property. Default: on.

settings.nginx_cache_keys_zone_sizeOptional
Send in
JSON body
Type
size|string
Accepted values
Any value matching size|string; default: 128k
Example
128k

Nginx shared-memory keys_zone size per dynamic/static cache zone. This consumes RAM, not disk and is multiplied by dynamic/static zones across cached vhosts. Use k, m, or g; normalized range is 32 KB-128 MB. The high-cardinality default is 128k; raise it for unusually large individual sites.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 32k. Maximum 128m. Default: 128k.

settings.nginx_cache_max_sizeOptional
Send in
JSON body
Type
size|string
Accepted values
Any value matching size|string; default: 64m
Example
64m

Maximum Nginx disk cache size per dynamic/static cache zone. Use k, m, or g; normalized range is 64 MB-100 GB. The high-cardinality default is 64m per zone.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 64m. Maximum 100g. Default: 64m.

settings.nginx_cache_redirectsOptional
Send in
JSON body
Type
enum
Accepted values
on, off, 1, 0, true, false, yes, no
Example
on

Whether Nginx also caches HTTP 301/302 responses in the dynamic zone.

Validation and use: Optional Send this parameter as a JSON body property. Default: on.

settings.nginx_dynamic_ttlOptional
Send in
JSON body
Type
time|string
Accepted values
Any value matching time|string; default: 900s
Example
900s

Nginx anonymous dynamic-response TTL, inherited by domains without an explicit dynamic TTL. Use a unit suffix ms, s, m, h, d, or w; normalized duration must be 60-2592000 seconds. Default: 900s.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 60s. Maximum 30d. Default: 900s.

settings.nginx_lockOptional
Send in
JSON body
Type
enum
Accepted values
on, off, 1, 0, true, false, yes, no
Example
on

Controls proxy_cache_lock to prevent concurrent cache fills for the same key.

Validation and use: Optional Send this parameter as a JSON body property. Default: on.

settings.nginx_mobile_bucketOptional
Send in
JSON body
Type
enum
Accepted values
on, off, 1, 0, true, false, yes, no
Example
on

Whether Nginx separates mobile/tablet/TV cache-key buckets from desktop.

Validation and use: Optional Send this parameter as a JSON body property. Default: on.

settings.nginx_revalidateOptional
Send in
JSON body
Type
enum
Accepted values
on, off, 1, 0, true, false, yes, no
Example
on

Controls conditional upstream revalidation of Nginx cache entries.

Validation and use: Optional Send this parameter as a JSON body property. Default: on.

settings.nginx_static_access_logOptional
Send in
JSON body
Type
enum
Accepted values
on, off, 1, 0, true, false, yes, no
Example
off

Default static asset access-log policy. Off reduces disk I/O; Cache Manager can override it per domain.

Validation and use: Optional Send this parameter as a JSON body property. Default: off.

settings.nginx_static_ttlOptional
Send in
JSON body
Type
time|string
Accepted values
Any value matching time|string; default: 1d
Example
1d

Nginx static-asset TTL, inherited by domains without an explicit static TTL. Use a unit suffix ms, s, m, h, d, or w; normalized duration must be 60-2592000 seconds. Default: 1d.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 60s. Maximum 30d. Default: 1d.

settings.nginx_use_staleOptional
Send in
JSON body
Type
enum
Accepted values
off, error, timeout, invalid_header, updating, http_429, http_500, http_502, http_503, http_504
Example
off

Space-separated proxy_cache_use_stale conditions. Tokens are de-duplicated; unsupported tokens are rejected. Use off alone to disable stale delivery.

Validation and use: Optional Send this parameter as a JSON body property. Default: error timeout invalid_header updating http_429 http_500 http_502 http_503 http_504.

Complete request template

This reference template contains all 22 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "nginx_dynamic_ttl": "15m",
      "nginx_static_ttl": "7d",
      "apache_ttl_seconds": 900
    },
    "apply": true,
    "settings.apache_debug_headers": "on",
    "settings.apache_dir_length": 1,
    "settings.apache_dir_levels": 2,
    "settings.apache_ignore_no_last_mod": "on",
    "settings.apache_lock": "on",
    "settings.apache_lock_max_age": 5,
    "settings.apache_quick_handler": "off",
    "settings.apache_stale_on_error": "on",
    "settings.apache_ttl_seconds": 900,
    "settings.nginx_background_update": "on",
    "settings.nginx_cache_keys_zone_size": "128k",
    "settings.nginx_cache_max_size": "64m",
    "settings.nginx_cache_redirects": "on",
    "settings.nginx_dynamic_ttl": "900s",
    "settings.nginx_lock": "on",
    "settings.nginx_mobile_bucket": "on",
    "settings.nginx_revalidate": "on",
    "settings.nginx_static_access_log": "off",
    "settings.nginx_static_ttl": "1d",
    "settings.nginx_use_stale": "off"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/cache/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"settings":{"nginx_dynamic_ttl":"15m","nginx_static_ttl":"7d","apache_ttl_seconds":900},"apply":true}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Change inherited dynamic/static TTLs and apply safely
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "nginx_dynamic_ttl": "15m",
      "nginx_static_ttl": "7d",
      "apache_ttl_seconds": 900
    },
    "apply": true
  }
}
Change cache-zone capacity and apply atomically
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "nginx_cache_keys_zone_size": "128k",
      "nginx_cache_max_size": "256m"
    }
  }
}
Change inherited dynamic/static TTLs and apply safely
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "nginx_dynamic_ttl": "15m",
      "nginx_static_ttl": "7d",
      "apache_ttl_seconds": 900
    },
    "apply": true
  }
}
Change cache-zone capacity and apply atomically
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "nginx_cache_keys_zone_size": "128k",
      "nginx_cache_max_size": "256m"
    }
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/database/client-tools/installrootInstall MariaDB client tools from the MariaDB repository without installing or starting the local MariaDB server.

What this endpoint does

Install MariaDB client tools from the MariaDB repository without installing or starting the local MariaDB server.

Operational guidance: Install MariaDB client binaries from the configured MariaDB repository without installing or starting the local MariaDB server. This endpoint accepts no request fields. Use it for remote-only SQL Profiles when mysql or mariadb, mariadb-dump or mysqldump, and mariadb-admin or mysqladmin are missing; it also refreshes jailed client configuration.

Endpoint

POST /v1/root/database/client-tools/install

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/database/client-tools/install' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Install remote-profile client tools
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}
Install remote-profile client tools
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/database/configrootRead MariaDB configuration.

What this endpoint does

Read MariaDB configuration.

Operational guidance: Read the local MariaDB /etc/my.cnf editor state. When local MariaDB is disabled, this succeeds with available=false; remote SQL Profiles and client tools remain available. When available=true, content is the full raw option file and must be treated as sensitive root configuration.

Endpoint

GET /v1/root/database/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/database/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Read local MariaDB configuration
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}
Read local MariaDB configuration
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/database/configrootSave MariaDB configuration.

What this endpoint does

Save MariaDB configuration.

Operational guidance: Replace the complete local /etc/my.cnf content. This route is unavailable when the local MariaDB server is disabled. SHM rejects empty content and values larger than 1 MB, validates the proposal and verifies current local SQL readiness before touching the active file, creates a secured backup, writes atomically, validates the live path, restarts MariaDB, verifies systemd plus a local SELECT 1 query, refreshes jailed client configuration, and rolls back/restarts the prior configuration on validation, restart, SQL-readiness, or refresh failure. Byte-identical content returns success with changed=false and restarted=false and skips validation, backup, restart, and jailed-client refresh.

Endpoint

POST /v1/root/database/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

contentRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
[client] port=3306 [mysqld] max_connections=200

Complete MariaDB option-file content for /etc/my.cnf. Maximum 1 MB; empty content is rejected. Preserve required include/client/server sections from the GET response unless intentionally changing them.

Validation and use: Required Send this parameter as a JSON body property. Minimum length 1. Maximum length 1048576.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "content": "[client]\nport=3306\n\n[mysqld]\nmax_connections=200\n"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/database/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"content":"[client]\nport=3306\n\n[mysqld]\nmax_connections=200\n"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Save the full MariaDB configuration returned by GET
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "content": "[client]\nport=3306\n\n[mysqld]\nmax_connections=200\n"
  }
}
Save the full MariaDB configuration returned by GET
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "content": "[client]\nport=3306\n\n[mysqld]\nmax_connections=200\n"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/database/config/recommendationrootPreview a resource-adaptive MariaDB configuration without changing the server.

What this endpoint does

Preview a resource-adaptive MariaDB configuration without changing the server.

Operational guidance: Generate and preflight-validate a deterministic MariaDB configuration recommendation for the current local server without changing files or restarting services. SHM reads total RAM, online CPU count, and the installed MariaDB version; preserves all unmanaged /etc/my.cnf content; replaces or appends one delimited SHM-managed block; and returns the complete proposed file, managed block, resource calculations, effective settings, and current/generated SHA-256 values. The route is root-only and unavailable when local MariaDB is disabled.

Endpoint

GET /v1/root/database/config/recommendation

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/database/config/recommendation' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Preview the adaptive MariaDB configuration
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}
Preview the adaptive MariaDB configuration
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/database/config/recommendationrootApply the exact resource-adaptive MariaDB configuration returned by preview.

What this endpoint does

Apply the exact resource-adaptive MariaDB configuration returned by preview.

Operational guidance: Regenerate and transactionally apply the adaptive MariaDB recommendation previously returned by GET recommendation. Both SHA-256 values are mandatory optimistic-concurrency guards: SHM refuses the request if /etc/my.cnf, server capacity, MariaDB version, or generated output changed after preview. On apply, SHM prepares the secured server-file directory, preflight-validates the complete proposal and current local SQL readiness before any write, backs up and atomically writes /etc/my.cnf, validates the live path, restarts only MariaDB, verifies a local SELECT 1 query for up to 30 seconds, refreshes jailed clients, and automatically restores/restarts/verifies the prior configuration on any failure. No-op recommendations skip backup and restart.

Endpoint

POST /v1/root/database/config/recommendation

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

expected_current_sha256Required
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Exact current_sha256 returned by the immediately preceding GET recommendation preview. Prevents overwriting a configuration changed by another administrator or process.

Validation and use: Required Send this parameter as a JSON body property. Minimum length 64. Maximum length 64. Pattern: ^[a-f0-9]{64}$.

expected_generated_sha256Required
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

Exact generated_sha256 returned by the immediately preceding GET recommendation preview. Prevents applying a recommendation after resource/version/output drift.

Validation and use: Required Send this parameter as a JSON body property. Minimum length 64. Maximum length 64. Pattern: ^[a-f0-9]{64}$.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "expected_current_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "expected_generated_sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/database/config/recommendation' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"expected_current_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","expected_generated_sha256":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Apply the exact validated MariaDB preview
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "expected_current_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "expected_generated_sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
  }
}
Apply the exact validated MariaDB preview
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "expected_current_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "expected_generated_sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/database/local/sync-metadatarootSynchronize SHM account database metadata to a selected SQL profile by creating missing databases, database users, and grants. It does not copy table data.

What this endpoint does

Synchronize SHM account database metadata to a selected SQL profile by creating missing databases, database users, and grants. It does not copy table data.

Operational guidance: Synchronize SHM account-YAML database metadata to a selected SQL Profile by creating missing databases, recreating users from stored native password hashes, and applying recorded grants. It does not copy table data or delete databases. Remote grants use observed_client_host from the tested profile (so NAT is handled correctly), with the effective shared IPv4 only as a legacy fallback; SHM never grants to %. When user creation is requested, SHM verifies mysql_native_password support before executing any sync statement: an unknown capability returns 500 native_hash_capability_check_failed; an inactive/missing plugin returns 409 native_hash_unsupported with zero statements executed. This is important for MySQL 8.4 configurations where mysql_native_password is commonly disabled by default.

Endpoint

POST /v1/root/database/local/sync-metadata

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (5)

create_databasesOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Create missing databases recorded in SHM metadata.

Validation and use: Optional Send this parameter as a JSON body property. Default: true.

create_usersOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Create users from valid SHM mysql_native_password hashes after the target plugin capability gate passes.

Validation and use: Optional Send this parameter as a JSON body property. Default: true.

grant_privilegesOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Apply SHM-recorded database privileges for valid destination user hosts.

Validation and use: Optional Send this parameter as a JSON body property. Default: true.

overwrite_usersOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
false

Also ALTER existing destination users to the stored native hash. Defaults to false.

Validation and use: Optional Send this parameter as a JSON body property. Default: false.

target_profileOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string; default: localhost
Example
localhost

Destination SQL Profile key. Defaults to localhost.

Validation and use: Optional Send this parameter as a JSON body property. Default: localhost.

Complete request template

This reference template contains all 5 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "create_databases": true,
    "create_users": true,
    "grant_privileges": true,
    "overwrite_users": false,
    "target_profile": "localhost"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/database/local/sync-metadata' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"target_profile":"localhost","create_databases":true,"create_users":true,"grant_privileges":true,"overwrite_users":false}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Repair missing local databases, users, and grants
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "target_profile": "localhost",
    "create_databases": true,
    "create_users": true,
    "grant_privileges": true,
    "overwrite_users": false
  }
}
Create only databases and grants on a remote profile
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "target_profile": "remote-main",
    "create_databases": true,
    "create_users": false,
    "grant_privileges": true,
    "overwrite_users": false
  }
}
Repair missing local databases, users, and grants
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "target_profile": "localhost",
    "create_databases": true,
    "create_users": true,
    "grant_privileges": true,
    "overwrite_users": false
  }
}
Create only databases and grants on a remote profile
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "target_profile": "remote-main",
    "create_databases": true,
    "create_users": false,
    "grant_privileges": true,
    "overwrite_users": false
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/database/profile-copyrootCopy SHM account databases and database users between two saved SQL profiles, including local-to-remote and remote-to-local SQL Profile copy/import/export.

What this endpoint does

Copy SHM account databases and database users between two saved SQL profiles, including local-to-remote and remote-to-local SQL Profile copy/import/export.

Operational guidance: Copy SHM account databases and database users between two saved SQL Profiles. Use this for explicit local-to-remote, remote-to-local, or remote-to-remote import/export work; activation alone never copies data. Source and target normalized host+port must differ, otherwise SHM returns HTTP 400 same_endpoint before preparing clients or writing anything. Client tools and both profile connections are prerequisites. User/database outcomes are reported per item. Destructive overwrite options must be explicitly confirmed: SHM validates a non-empty source dump and backs up an existing target before replacement, with restore attempts on import failure.

Endpoint

POST /v1/root/database/profile-copy

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (7)

target_profileRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
remote-main

Destination SQL Profile key. It must resolve to a different normalized host+port endpoint.

Validation and use: Required Send this parameter as a JSON body property.

include_dataOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Copy database schema and table data using verified dump/import.

Validation and use: Optional Send this parameter as a JSON body property. Default: true.

include_grantsOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Apply SHM-recorded grants on the destination using the same bounded destination-host mapping.

Validation and use: Optional Send this parameter as a JSON body property. Default: true.

include_usersOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Copy source user definitions to bounded destination hosts. Individual unsupported authentication/plugin definitions are reported per user.

Validation and use: Optional Send this parameter as a JSON body property. Default: true.

overwrite_databasesOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
false

Replace an existing destination database only after source-object verification, validated source dump, and validated target backup. Empty source databases are refused for overwrite.

Validation and use: Optional Send this parameter as a JSON body property. Default: false.

overwrite_usersOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
false

Replace an existing destination user only after snapshotting its exact SHOW CREATE USER and SHOW GRANTS state; both definition and grants are restored if replacement fails.

Validation and use: Optional Send this parameter as a JSON body property. Default: false.

source_profileOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string; default: localhost
Example
localhost

Source SQL Profile key. Defaults to localhost.

Validation and use: Optional Send this parameter as a JSON body property. Default: localhost.

Complete request template

This reference template contains all 7 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "target_profile": "remote-main",
    "include_data": true,
    "include_grants": true,
    "include_users": true,
    "overwrite_databases": false,
    "overwrite_users": false,
    "source_profile": "localhost"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/database/profile-copy' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"source_profile":"localhost","target_profile":"remote-main","include_data":true,"include_users":true,"include_grants":true,"overwrite_users":false,"overwrite_databases":false}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Copy local profile to remote profile without overwriting target DBs
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_profile": "localhost",
    "target_profile": "remote-main",
    "include_data": true,
    "include_users": true,
    "include_grants": true,
    "overwrite_users": false,
    "overwrite_databases": false
  }
}
Overwrite remote profile from local profile after explicit confirmation
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_profile": "localhost",
    "target_profile": "remote-main",
    "include_data": true,
    "include_users": true,
    "include_grants": true,
    "overwrite_users": true,
    "overwrite_databases": true
  }
}
Copy local profile to remote profile without overwriting target DBs
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_profile": "localhost",
    "target_profile": "remote-main",
    "include_data": true,
    "include_users": true,
    "include_grants": true,
    "overwrite_users": false,
    "overwrite_databases": false
  }
}
Overwrite remote profile from local profile after explicit confirmation
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_profile": "localhost",
    "target_profile": "remote-main",
    "include_data": true,
    "include_users": true,
    "include_grants": true,
    "overwrite_users": true,
    "overwrite_databases": true
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/database/serverrootRead Database Server state, active SQL profile, local server availability, and MariaDB client tool status.

What this endpoint does

Read Database Server state, active SQL profile, local server availability, and MariaDB client tool status.

Operational guidance: Read Configuration > Database Server state before local repair or remote-profile work. The response identifies whether the local MariaDB server is enabled, the active SQL Profile, and availability/paths for mysql or mariadb, dump, and admin client binaries. A remote-only SHM installation is valid when local_server_enabled=false and an active remote profile plus client tools are available.

Endpoint

GET /v1/root/database/server

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/database/server' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Read Database Server state
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}
Read Database Server state
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

GET/v1/root/database/sql-profilesrootList SQL profiles.

What this endpoint does

List SQL profiles.

Operational guidance: List local and remote SQL Profiles, the active profile, local-server availability, and client-tool state. Profile rows expose host/port/user plus detected server_vendor, server_version, version_comment, observed_client_host (the source identity reported by USER() on the remote server), last test timestamp, and nullable mysql_native_password capability. Stored passwords are not returned.

Endpoint

GET /v1/root/database/sql-profiles

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/database/sql-profiles' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

List SQL Profiles
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}
List SQL Profiles
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/database/sql-profilesrootCreate a SQL profile.

What this endpoint does

Create a SQL profile.

Operational guidance: Create and connection-test a remote root SQL Profile. SHM supports MariaDB, MySQL, and Percona-compatible endpoints, records detected vendor/version, mysql_native_password capability, and the observed client host reported by USER() so later grants also work through NAT. The reserved localhost name and duplicates are rejected. SHM does not configure remote MySQL TLS. Do not use a public/untrusted network path unless transport encryption is enforced outside this profile contract.

Endpoint

POST /v1/root/database/sql-profiles

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (4)

hostRequired
Send in
JSON body
Type
hostname|IP|string
Accepted values
Any value matching hostname|IP|string
Example
db-private.example.net

Remote MariaDB/MySQL/Percona hostname or IP address.

Validation and use: Required Send this parameter as a JSON body property.

passwordRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

Remote root password. Empty values and CR/LF/NUL control characters are rejected. The fixed SQL username is root.

Validation and use: Required Send this parameter as a JSON body property.

profile_nameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
remote-main

Unique 2-32 character profile key. The first character must be a letter or digit; remaining characters may also use dash or underscore. localhost is reserved.

Validation and use: Required Send this parameter as a JSON body property. Minimum length 2. Maximum length 32. Pattern: ^[A-Za-z0-9][A-Za-z0-9_-]{1,31}$.

portOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string; default: 3306
Example
3306

Remote SQL TCP port. Defaults to 3306.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 65535. Default: 3306.

Complete request template

This reference template contains all 4 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "host": "db-private.example.net",
    "password": "STRONG_PASSWORD",
    "profile_name": "remote-main",
    "port": 3306
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/database/sql-profiles' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"profile_name":"remote-main","host":"db-private.example.net","port":3306,"password":"STRONG_PASSWORD"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Create a remote MariaDB profile
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "profile_name": "remote-main",
    "host": "db-private.example.net",
    "port": 3306,
    "password": "STRONG_PASSWORD"
  }
}
Create a remote MySQL profile on a custom port
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "profile_name": "mysql84",
    "host": "10.20.30.40",
    "port": 3307,
    "password": "STRONG_PASSWORD"
  }
}
Create a remote MariaDB profile
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "profile_name": "remote-main",
    "host": "db-private.example.net",
    "port": 3306,
    "password": "STRONG_PASSWORD"
  }
}
Create a remote MySQL profile on a custom port
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "profile_name": "mysql84",
    "host": "10.20.30.40",
    "port": 3307,
    "password": "STRONG_PASSWORD"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/database/sql-profiles/{profile_name}rootDelete a SQL profile.

What this endpoint does

Delete a SQL profile.

Operational guidance: Delete one inactive remote SQL Profile. The localhost profile and the currently active profile cannot be deleted; activate another profile first. This deletes only the saved SHM profile and does not delete databases or users from the SQL server.

Endpoint

DELETE /v1/root/database/sql-profiles/{profile_name}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

profile_nameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
remote-old

Inactive remote SQL Profile key returned by GET sql-profiles.

Validation and use: Required Replace this placeholder directly in the URL path.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "profile_name": "remote-old"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/database/sql-profiles/remote-old' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Delete an inactive remote profile
{
  "path_parameters": {
    "profile_name": "remote-old"
  },
  "query_parameters": {},
  "json_body": {}
}
Delete an inactive remote profile
{
  "path_parameters": {
    "profile_name": "remote-old"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/database/sql-profiles/{profile_name}/activaterootActivate a SQL profile.

What this endpoint does

Activate a SQL profile.

Operational guidance: Connection-test and activate one existing SQL Profile. Activation updates the SHM endpoint, /root/.my.cnf, phpMyAdmin endpoint, and jailed client configuration; it does not migrate databases, users, grants, or application configuration. SHM refreshes vendor/version/native-hash metadata and observed_client_host. After the activation snapshot, any write, verification, jailed-refresh, or metadata failure attempts an exact verified rollback and returns a 500 activation_* failure code.

Endpoint

POST /v1/root/database/sql-profiles/{profile_name}/activate

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

profile_nameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
remote-main

Existing SQL Profile key returned by GET sql-profiles, including localhost.

Validation and use: Required Replace this placeholder directly in the URL path.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "profile_name": "remote-main"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/database/sql-profiles/remote-main/activate' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Activate a tested remote profile
{
  "path_parameters": {
    "profile_name": "remote-main"
  },
  "query_parameters": {},
  "json_body": {}
}
Switch back to the local profile
{
  "path_parameters": {
    "profile_name": "localhost"
  },
  "query_parameters": {},
  "json_body": {}
}
Activate a tested remote profile
{
  "path_parameters": {
    "profile_name": "remote-main"
  },
  "query_parameters": {},
  "json_body": {}
}
Switch back to the local profile
{
  "path_parameters": {
    "profile_name": "localhost"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/dns/configrootRead PowerDNS configuration.

What this endpoint does

Read PowerDNS configuration.

Endpoint

GET /v1/root/dns/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/dns/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/dns/configrootSave PowerDNS configuration.

What this endpoint does

Save PowerDNS configuration.

Endpoint

POST /v1/root/dns/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

contentOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
Example content

Text content to save.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "content": "Example content"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/dns/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"content":"Example content"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "content": "Example content"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/domain-rebuild/jobsrootStart a domain rebuild job.

What this endpoint does

Start a domain rebuild job.

Operational guidance: Queue a root domain rebuild job.

Endpoint

POST /v1/root/domain-rebuild/jobs

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

modeRequired
Send in
JSON body
Type
enum
Accepted values
php, apache, nginx
Example
php

Operation mode. Allowed values: php, apache, nginx.

Validation and use: Required Send this parameter as a JSON body property.

cacheOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
0

1 to keep web cache enabled during the rebuild.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "mode": "php",
    "cache": 0
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/domain-rebuild/jobs' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"mode":"php","cache":0}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Rebuild PHP-FPM only
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "mode": "php",
    "cache": 0
  }
}
Rebuild Apache layer and keep cache
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "mode": "apache",
    "cache": 1
  }
}
Rebuild PHP-FPM only
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "mode": "php",
    "cache": 0
  }
}
Rebuild Apache layer and keep cache
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "mode": "apache",
    "cache": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/domain-rebuild/jobs/{job_id}rootRead a domain rebuild job.

What this endpoint does

Read a domain rebuild job.

Endpoint

GET /v1/root/domain-rebuild/jobs/{job_id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

job_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
job-id-from-previous-response

Job id that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path. Use the task/job id returned by the endpoint that started the async operation.

limitOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
25

Result size limit.

Validation and use: Optional Send this parameter in the query string.

offsetOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
0

Offset query parameter.

Validation and use: Optional Send this parameter in the query string.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "job_id": "job-id-from-previous-response"
  },
  "query_parameters": {
    "limit": 25,
    "offset": 0
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/domain-rebuild/jobs/job-id-from-previous-response?limit=25&offset=0' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "job_id": "job-id-from-previous-response"
  },
  "query_parameters": {
    "limit": 25,
    "offset": 0
  },
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

GET/v1/root/ftp/configrootRead FTP configuration.

What this endpoint does

Read FTP configuration.

Endpoint

GET /v1/root/ftp/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/ftp/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/ftp/configrootSave FTP configuration.

What this endpoint does

Save FTP configuration.

Endpoint

POST /v1/root/ftp/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

applyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Apply accepted by this endpoint while it performs: Save FTP configuration. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

settingsOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{}

Settings accepted by this endpoint while it performs: Save FTP configuration. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "apply": 1,
    "settings": {}
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/ftp/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"apply":1,"settings":{}}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "apply": 1,
    "settings": {}
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/mail/actions/{action}rootRun a root mail maintenance action.

What this endpoint does

Run a root mail maintenance action.

Endpoint

POST /v1/root/mail/actions/{action}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

actionRequired
Send in
URL path
Type
enum
Accepted values
install_runtime, install-runtime, mail_security_maintenance, mail-security-maintenance, rebuild_email_filters, rebuild-email-filters, rebuild_filters, rebuild-filters, rebuild_exim_maps, rebuild-exim-maps, rebuild_maps, sync_mail_quotas, sync-mail-quotas, sync_quotas, install_radicale, install-radicale, ensure_radicale_mailbox, ensure-radicale-mailbox, ensure_radicale_mailboxes, ensure-radicale-mailboxes, doveadm_resync, doveadm-resync, doveadm_force_resync, doveadm-force-resync
Example
install_runtime

Action path parameter. Allowed values: install_runtime, install-runtime, mail_security_maintenance, mail-security-maintenance, rebuild_email_filters, rebuild-email-filters, rebuild_filters, rebuild-filters, rebuild_exim_maps, rebuild-exim-maps, rebuild_maps, sync_mail_quotas, sync-mail-quotas, sync_quotas, install_radicale, install-radicale, ensure_radicale_mailbox, ensure-radicale-mailbox, ensure_radicale_mailboxes, ensure-radicale-mailboxes, doveadm_resync, doveadm-resync, doveadm_force_resync, doveadm-force-resync.

Validation and use: Required Replace this placeholder directly in the URL path.

Supported actions and option sets

action values (7)
install_runtimerebuild_exim_mapssync_mail_quotasmail_security_maintenanceinstall_radicaleensure_radicale_mailboxensure_radicale_mailboxes
Action-specific request bodies
{
  "install_runtime": {
    "install": 1
  },
  "rebuild_exim_maps": {
    "reload_services": 1
  },
  "sync_mail_quotas": {
    "account_user": "demo"
  },
  "mail_security_maintenance": [],
  "install_radicale": {
    "install": 1
  },
  "ensure_radicale_mailbox": {
    "account_user": "demo",
    "email": "user@example.com",
    "missing_only": true
  }
}

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "action": "install_runtime"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/mail/actions/install_runtime' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"install":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Action: install_runtime
{
  "path_parameters": {
    "action": "install_runtime"
  },
  "query_parameters": {},
  "json_body": {
    "install": 1
  }
}
Action: rebuild_exim_maps
{
  "path_parameters": {
    "action": "rebuild_exim_maps"
  },
  "query_parameters": {},
  "json_body": {
    "reload_services": 1
  }
}
Action: sync_mail_quotas
{
  "path_parameters": {
    "action": "sync_mail_quotas"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "demo"
  }
}
Action: mail_security_maintenance
{
  "path_parameters": {
    "action": "mail_security_maintenance"
  },
  "query_parameters": {},
  "json_body": {}
}
Action: install_radicale
{
  "path_parameters": {
    "action": "install_radicale"
  },
  "query_parameters": {},
  "json_body": {
    "install": 1
  }
}
Action: ensure_radicale_mailbox
{
  "path_parameters": {
    "action": "ensure_radicale_mailbox"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "demo",
    "email": "user@example.com",
    "missing_only": true
  }
}
Action: ensure_radicale_mailboxes
{
  "path_parameters": {
    "action": "ensure_radicale_mailboxes"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/mail/configrootRead mail configuration.

What this endpoint does

Read mail configuration.

Operational guidance: Read the root Mail Server configuration schema, defaults, saved settings, saved timestamp, and system timezone. The settings object is the canonical source used by Configuration > Mail Server and Save & Apply.

Endpoint

GET /v1/root/mail/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/mail/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Read current mail configuration
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}
Read current mail configuration
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/mail/configrootSave mail configuration.

What this endpoint does

Save mail configuration.

Operational guidance: Save the root Mail Server configuration. Send settings as an object containing any or all documented settings.* keys. Set apply=true to regenerate Exim config, Dovecot protocol memory limits, Exim systemd LimitAS, RBL lists, and reload/restart the affected mail services through the native apply path. Memory settings accept values such as 1024M, 2048M, 1G, or 2G; bare numbers are interpreted as MB, must be at least 256M, and must not exceed detected physical RAM.

Endpoint

POST /v1/root/mail/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (44)

settingsRequired
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{"dovecot_vsz_limit":"2048M","exim_process_memory_limit":"1024M"}

Mail settings object. Omitted setting keys are filled from saved/default schema values.

Validation and use: Required Send this parameter as a JSON body property.

applyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Apply runtime mail configuration after saving. Omit or set false to save only.

Validation and use: Optional Send this parameter as a JSON body property.

settings.auto_thawOptional
Send in
JSON body
Type
time string
Accepted values
Any value matching time string
Example
7d

Retry frozen non-bounce messages after this age.

Validation and use: Optional Send this parameter as a JSON body property.

settings.bounce_return_size_limitOptional
Send in
JSON body
Type
size string
Accepted values
Any value matching size string
Example
1

Maximum original content returned in bounces.

Validation and use: Optional Send this parameter as a JSON body property.

settings.callout_domain_negative_expireOptional
Send in
JSON body
Type
time string
Accepted values
Any value matching time string
Example
example.com

Negative callout cache TTL for domains.

Validation and use: Optional Send this parameter as a JSON body property.

settings.callout_negative_expireOptional
Send in
JSON body
Type
time string
Accepted values
Any value matching time string
Example
2h

Negative callout cache TTL for addresses.

Validation and use: Optional Send this parameter as a JSON body property.

settings.check_log_inodesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Minimum free log filesystem inodes when logs are on a separate partition.

Validation and use: Optional Send this parameter as a JSON body property.

settings.check_log_spaceOptional
Send in
JSON body
Type
size string
Accepted values
Any value matching size string
Example
1G

Minimum free log filesystem space when logs are on a separate partition.

Validation and use: Optional Send this parameter as a JSON body property.

settings.check_rfc2047_lengthOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enforce RFC2047 encoded-word length checks.

Validation and use: Optional Send this parameter as a JSON body property.

settings.check_spool_inodesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Minimum free spool filesystem inodes before accepting mail.

Validation and use: Optional Send this parameter as a JSON body property.

settings.check_spool_spaceOptional
Send in
JSON body
Type
size string
Accepted values
Any value matching size string
Example
1G

Minimum free spool filesystem space before accepting mail.

Validation and use: Optional Send this parameter as a JSON body property.

settings.deliver_queue_load_maxOptional
Send in
JSON body
Type
number|string
Accepted values
Any value matching number|string
Example
1

Abort queue runs above this load average.

Validation and use: Optional Send this parameter as a JSON body property.

settings.disable_ipv6Optional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Disable Exim IPv6 activity.

Validation and use: Optional Send this parameter as a JSON body property.

settings.dovecot_vsz_limitOptional
Send in
JSON body
Type
memory string
Accepted values
Any value matching memory string
Example
1

Dovecot configuration parser, IMAP, POP3 and LMTP per-process virtual memory/address-space limit. Default 1024M on normal servers; 2048M is suitable for large mailbox migrations when RAM allows.

Validation and use: Optional Send this parameter as a JSON body property.

settings.exim_process_memory_limitOptional
Send in
JSON body
Type
memory string
Accepted values
Any value matching memory string
Example
1

Exim daemon/delivery per-process virtual memory/address-space limit applied through systemd LimitAS. Default 1024M on normal servers.

Validation and use: Optional Send this parameter as a JSON body property.

settings.header_maxsizeOptional
Send in
JSON body
Type
size string
Accepted values
Any value matching size string
Example
10M

Maximum total message header size, for example 10M.

Validation and use: Optional Send this parameter as a JSON body property.

settings.ignore_bounce_errors_afterOptional
Send in
JSON body
Type
time string
Accepted values
Any value matching time string
Example
2d

Discard undeliverable frozen bounces after this age.

Validation and use: Optional Send this parameter as a JSON body property.

settings.local_from_checkOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Exim local_from_check for untrusted local submissions.

Validation and use: Optional Send this parameter as a JSON body property.

settings.log_timezoneOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Include timezone offset in Exim logs.

Validation and use: Optional Send this parameter as a JSON body property.

settings.message_body_newlinesOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Preserve newlines in Exim $message_body expansions.

Validation and use: Optional Send this parameter as a JSON body property.

settings.message_size_limitOptional
Send in
JSON body
Type
size string
Accepted values
Any value matching size string
Example
1024M

Maximum accepted message size, for example 1024M.

Validation and use: Optional Send this parameter as a JSON body property.

settings.openssl_optionsOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
+no_sslv2 +no_sslv3

Exim OpenSSL option flags, for example +no_sslv2 +no_sslv3.

Validation and use: Optional Send this parameter as a JSON body property.

settings.queue_auto_delete_after_daysOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

SHM cron deletes queued messages at least this many days old. 0 disables auto-delete.

Validation and use: Optional Send this parameter as a JSON body property.

settings.queue_only_loadOptional
Send in
JSON body
Type
number|string
Accepted values
Any value matching number|string
Example
1

Queue-only threshold above this load average.

Validation and use: Optional Send this parameter as a JSON body property.

settings.queue_run_maxOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Maximum concurrent Exim queue runners.

Validation and use: Optional Send this parameter as a JSON body property.

settings.rbl_actionOptional
Send in
JSON body
Type
enum
Accepted values
hard_reject, mark_spam, monitor
Example
hard_reject

Action for RBL hits. hard_reject rejects at SMTP time. mark_spam accepts with SHM RBL headers and SpamAssassin score. monitor accepts with SHM RBL headers and no RBL score. Default hard_reject.

Validation and use: Optional Send this parameter as a JSON body property.

settings.rbl_dnslistsOptional
Send in
JSON body
Type
array|string
Accepted values
zen.spamhaus.org, bl.spamcop.net, b.barracudacentral.org
Example
["zen.spamhaus.org","bl.spamcop.net","b.barracudacentral.org"]

Enabled DNSBL/RBL zones written to /etc/exim/rbl_lists.conf. Accepted zone values: zen.spamhaus.org, bl.spamcop.net, b.barracudacentral.org. Send an array of zone names or the Exim colon-separated string; send an empty array/string to disable DNSBL checks.

Validation and use: Optional Send this parameter as a JSON body property.

settings.rbl_respect_user_allowdenyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

When true, account-level sender whitelist/blacklist rules are exported to Exim maps and SpamAssassin user preferences. Whitelist rules bypass RBL checks for that recipient; blacklist rules can reject during hard_reject mode. Default true.

Validation and use: Optional Send this parameter as a JSON body property.

settings.rbl_spam_scoreOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
8

SpamAssassin score written to /etc/mail/spamassassin/shm_rbl.cf and applied only to trusted SHM RBL mark_spam hits. 0 keeps the headers but disables the extra score. Default 8.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 0. Maximum 100.

settings.recipients_maxOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Maximum original recipients per message.

Validation and use: Optional Send this parameter as a JSON body property.

settings.recipients_max_rejectOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Reject rather than defer when recipients_max is exceeded.

Validation and use: Optional Send this parameter as a JSON body property.

settings.remote_max_parallelOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Maximum parallel remote deliveries for one message.

Validation and use: Optional Send this parameter as a JSON body property.

settings.rfc1413_query_timeoutOptional
Send in
JSON body
Type
time string
Accepted values
Any value matching time string
Example
60

RFC1413 ident timeout, for example 0s, 5s, 1m.

Validation and use: Optional Send this parameter as a JSON body property.

settings.smtp_accept_maxOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Maximum concurrent inbound SMTP connections. 0 disables the limit.

Validation and use: Optional Send this parameter as a JSON body property.

settings.smtp_accept_max_nonmailOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Maximum non-mail SMTP commands per session.

Validation and use: Optional Send this parameter as a JSON body property.

settings.smtp_accept_max_per_connectionOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Maximum MAIL commands per SMTP connection.

Validation and use: Optional Send this parameter as a JSON body property.

settings.smtp_accept_max_per_hostOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Maximum concurrent SMTP connections from one host.

Validation and use: Optional Send this parameter as a JSON body property.

settings.smtp_accept_queueOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Queue-only threshold above this SMTP concurrency.

Validation and use: Optional Send this parameter as a JSON body property.

settings.smtp_accept_queue_per_connectionOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Maximum auto-deliveries started per SMTP connection.

Validation and use: Optional Send this parameter as a JSON body property.

settings.smtp_receive_timeoutOptional
Send in
JSON body
Type
time string
Accepted values
Any value matching time string
Example
60

Timeout for receiving each SMTP command/data line.

Validation and use: Optional Send this parameter as a JSON body property.

settings.timeout_frozen_afterOptional
Send in
JSON body
Type
time string
Accepted values
Any value matching time string
Example
60

Cancel frozen messages older than this age.

Validation and use: Optional Send this parameter as a JSON body property.

settings.untrusted_set_senderOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
mailbox@example.com

Exim untrusted_set_sender address-list pattern. Default is *.

Validation and use: Optional Send this parameter as a JSON body property.

settings.virus_scanner_incomingOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable ClamAV scanning for incoming SMTP mail.

Validation and use: Optional Send this parameter as a JSON body property.

settings.virus_scanner_outgoingOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable ClamAV scanning for outgoing/authenticated SMTP mail.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 44 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "dovecot_vsz_limit": "2048M",
      "exim_process_memory_limit": "1024M"
    },
    "apply": true,
    "settings.auto_thaw": "7d",
    "settings.bounce_return_size_limit": 1,
    "settings.callout_domain_negative_expire": "example.com",
    "settings.callout_negative_expire": "2h",
    "settings.check_log_inodes": -1,
    "settings.check_log_space": "1G",
    "settings.check_rfc2047_length": 1,
    "settings.check_spool_inodes": -1,
    "settings.check_spool_space": "1G",
    "settings.deliver_queue_load_max": 1,
    "settings.disable_ipv6": 1,
    "settings.dovecot_vsz_limit": 1,
    "settings.exim_process_memory_limit": 1,
    "settings.header_maxsize": "10M",
    "settings.ignore_bounce_errors_after": "2d",
    "settings.local_from_check": 1,
    "settings.log_timezone": 1,
    "settings.message_body_newlines": 1,
    "settings.message_size_limit": "1024M",
    "settings.openssl_options": "+no_sslv2 +no_sslv3",
    "settings.queue_auto_delete_after_days": 1,
    "settings.queue_only_load": 1,
    "settings.queue_run_max": 1,
    "settings.rbl_action": "hard_reject",
    "settings.rbl_dnslists": [
      "zen.spamhaus.org",
      "bl.spamcop.net",
      "b.barracudacentral.org"
    ],
    "settings.rbl_respect_user_allowdeny": 1,
    "settings.rbl_spam_score": 8,
    "settings.recipients_max": 1,
    "settings.recipients_max_reject": 1,
    "settings.remote_max_parallel": 1,
    "settings.rfc1413_query_timeout": 60,
    "settings.smtp_accept_max": 1,
    "settings.smtp_accept_max_nonmail": 1,
    "settings.smtp_accept_max_per_connection": 1,
    "settings.smtp_accept_max_per_host": 1,
    "settings.smtp_accept_queue": 1,
    "settings.smtp_accept_queue_per_connection": 1,
    "settings.smtp_receive_timeout": 60,
    "settings.timeout_frozen_after": 60,
    "settings.untrusted_set_sender": "mailbox@example.com",
    "settings.virus_scanner_incoming": 1,
    "settings.virus_scanner_outgoing": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/mail/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"apply":true,"settings":{"dovecot_vsz_limit":"2048M","exim_process_memory_limit":"1024M"}}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Raise mail worker memory limits and apply
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "apply": true,
    "settings": {
      "dovecot_vsz_limit": "2048M",
      "exim_process_memory_limit": "1024M"
    }
  }
}
Save conservative mail defaults without applying
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "apply": false,
    "settings": {
      "dovecot_vsz_limit": "1024M",
      "exim_process_memory_limit": "1024M",
      "smtp_accept_max": "100",
      "queue_run_max": "3"
    }
  }
}
Raise mail worker memory limits and apply
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "apply": true,
    "settings": {
      "dovecot_vsz_limit": "2048M",
      "exim_process_memory_limit": "1024M"
    }
  }
}
Save conservative mail defaults without applying
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "apply": false,
    "settings": {
      "dovecot_vsz_limit": "1024M",
      "exim_process_memory_limit": "1024M",
      "smtp_accept_max": "100",
      "queue_run_max": "3"
    }
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/nginx/configrootRead Nginx configuration.

What this endpoint does

Read Nginx configuration.

Endpoint

GET /v1/root/nginx/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/nginx/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/nginx/configrootSave Nginx configuration.

What this endpoint does

Save Nginx configuration.

Operational guidance: Save the full root Nginx settings payload. Send the settings object with every Nginx setting returned by GET /v1/root/nginx/config. Use apply=true to render nginx.conf, write worker_rlimit_nofile, write the nginx LimitNOFILE systemd drop-in, run systemctl daemon-reload, and restart nginx so file descriptor limits are inherited.

Endpoint

POST /v1/root/nginx/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (21)

settingsRequired
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{"worker_processes":4,"worker_connections":65535,"worker_rlimit_nofile":65535,"service_nofile_limit":65535,"multi_accept":"on","client_max_body_size":"10g","client_body_timeout":"300s","client_header_timeout":"10s","keepalive_timeout":"30s","proxy_connect_timeout":300,"proxy_read_timeout":300,"proxy_send_timeout":300,"fastcgi_read_timeout":300,"send_timeout":300,"gzip":"on","gzip_comp_level":5,"error_log_level":"warn","server_tokens":"ONE_TIME_TOKEN"}

Full Nginx settings object. Missing keys are rejected by the native validator.

Validation and use: Required Send this parameter as a JSON body property.

settings.client_body_timeoutRequired
Send in
JSON body
Type
time|string
Accepted values
Any value matching time|string
Example
60

Client body timeout such as 300s.

Validation and use: Required Send this parameter as a JSON body property.

settings.client_header_timeoutRequired
Send in
JSON body
Type
time|string
Accepted values
Any value matching time|string
Example
60

Client header timeout such as 10s.

Validation and use: Required Send this parameter as a JSON body property.

settings.client_max_body_sizeRequired
Send in
JSON body
Type
size|string
Accepted values
Any value matching size|string
Example
1

Maximum request body size such as 100m or 10g.

Validation and use: Required Send this parameter as a JSON body property.

settings.error_log_levelRequired
Send in
JSON body
Type
enum
Accepted values
debug, info, notice, warn, error, crit, alert, emerg
Example
debug

Allowed values: debug, info, notice, warn, error, crit, alert, emerg.

Validation and use: Required Send this parameter as a JSON body property.

settings.fastcgi_read_timeoutRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

FastCGI read timeout in seconds. Allowed range: 1-86400.

Validation and use: Required Send this parameter as a JSON body property.

settings.gzipRequired
Send in
JSON body
Type
enum
Accepted values
on, off
Example
on

Allowed values: on, off. Controls gzip.

Validation and use: Required Send this parameter as a JSON body property.

settings.gzip_comp_levelRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Gzip compression level. Allowed range: 1-9.

Validation and use: Required Send this parameter as a JSON body property.

settings.keepalive_timeoutRequired
Send in
JSON body
Type
time|string
Accepted values
Any value matching time|string
Example
60

Keepalive timeout such as 30s.

Validation and use: Required Send this parameter as a JSON body property.

settings.multi_acceptRequired
Send in
JSON body
Type
enum
Accepted values
on, off
Example
on

Allowed values: on, off. Controls multi_accept.

Validation and use: Required Send this parameter as a JSON body property.

settings.proxy_connect_timeoutRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Proxy connect timeout in seconds. Allowed range: 1-3600.

Validation and use: Required Send this parameter as a JSON body property.

settings.proxy_read_timeoutRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Proxy read timeout in seconds. Allowed range: 1-86400.

Validation and use: Required Send this parameter as a JSON body property.

settings.proxy_send_timeoutRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Proxy send timeout in seconds. Allowed range: 1-86400.

Validation and use: Required Send this parameter as a JSON body property.

settings.send_timeoutRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Send timeout in seconds. Allowed range: 1-86400.

Validation and use: Required Send this parameter as a JSON body property.

settings.server_tokensRequired
Send in
JSON body
Type
enum
Accepted values
on, off
Example
ONE_TIME_TOKEN

Allowed values: on, off. Controls server_tokens.

Validation and use: Required Send this parameter as a JSON body property.

settings.service_nofile_limitRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Open-file limit for the nginx systemd LimitNOFILE drop-in. Allowed range: 1024-1048576. Default: 65535.

Validation and use: Required Send this parameter as a JSON body property.

settings.worker_connectionsRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Nginx worker_connections per worker. Allowed range: 256-131072. Default: 65535.

Validation and use: Required Send this parameter as a JSON body property.

settings.worker_processesRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Nginx worker_processes. Allowed range: 1-256 or auto.

Validation and use: Required Send this parameter as a JSON body property.

settings.worker_rlimit_nofileRequired
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Nginx worker_rlimit_nofile. Allowed range: 1024-1048576. Default: 65535. Keep at least as high as worker_connections.

Validation and use: Required Send this parameter as a JSON body property.

applyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Apply the root Nginx configuration immediately after saving. Hosted domain configuration is not rebuilt by this flag.

Validation and use: Optional Send this parameter as a JSON body property.

reload_onlyOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{}

Reload only accepted by this endpoint while it performs: Save Nginx configuration. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 21 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "worker_processes": 4,
      "worker_connections": 65535,
      "worker_rlimit_nofile": 65535,
      "service_nofile_limit": 65535,
      "multi_accept": "on",
      "client_max_body_size": "10g",
      "client_body_timeout": "300s",
      "client_header_timeout": "10s",
      "keepalive_timeout": "30s",
      "proxy_connect_timeout": 300,
      "proxy_read_timeout": 300,
      "proxy_send_timeout": 300,
      "fastcgi_read_timeout": 300,
      "send_timeout": 300,
      "gzip": "on",
      "gzip_comp_level": 5,
      "error_log_level": "warn",
      "server_tokens": "ONE_TIME_TOKEN"
    },
    "settings.client_body_timeout": 60,
    "settings.client_header_timeout": 60,
    "settings.client_max_body_size": 1,
    "settings.error_log_level": "debug",
    "settings.fastcgi_read_timeout": 1,
    "settings.gzip": "on",
    "settings.gzip_comp_level": 1,
    "settings.keepalive_timeout": 60,
    "settings.multi_accept": "on",
    "settings.proxy_connect_timeout": 1,
    "settings.proxy_read_timeout": 1,
    "settings.proxy_send_timeout": 1,
    "settings.send_timeout": 1,
    "settings.server_tokens": "ONE_TIME_TOKEN",
    "settings.service_nofile_limit": 1,
    "settings.worker_connections": 1,
    "settings.worker_processes": -1,
    "settings.worker_rlimit_nofile": 1,
    "apply": true,
    "reload_only": {}
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/nginx/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"settings":{"worker_processes":4,"worker_connections":65535,"worker_rlimit_nofile":65535,"service_nofile_limit":65535,"multi_accept":"on","client_max_body_size":"10g","client_body_timeout":"300s","client_header_timeout":"10s","keepalive_timeout":"30s","proxy_connect_timeout":300,"proxy_read_timeout":300,"proxy_send_timeout":300,"fastcgi_read_timeout":300,"send_timeout":300,"gzip":"on","gzip_comp_level":5,"error_log_level":"warn","server_tokens":"ONE_TIME_TOKEN"},"apply":true,"settings.client_body_timeout":60,"settings.client_header_timeout":60,"settings.client_max_body_size":1,"settings.error_log_level":"debug","settings.fastcgi_read_timeout":1,"settings.gzip":"on","settings.gzip_comp_level":1,"settings.keepalive_timeout":60,"settings.multi_accept":"on","settings.proxy_connect_timeout":1,"settings.proxy_read_timeout":1,"settings.proxy_send_timeout":1,"settings.send_timeout":1,"settings.server_tokens":"ONE_TIME_TOKEN","settings.service_nofile_limit":1,"settings.worker_connections":1,"settings.worker_processes":-1,"settings.worker_rlimit_nofile":1}'

Example note: Requires a documented runtime value before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Save high-traffic Nginx defaults
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "worker_processes": 4,
      "worker_connections": 65535,
      "worker_rlimit_nofile": 65535,
      "service_nofile_limit": 65535,
      "multi_accept": "on",
      "client_max_body_size": "10g",
      "client_body_timeout": "300s",
      "client_header_timeout": "10s",
      "keepalive_timeout": "30s",
      "proxy_connect_timeout": 300,
      "proxy_read_timeout": 300,
      "proxy_send_timeout": 300,
      "fastcgi_read_timeout": 300,
      "send_timeout": 300,
      "gzip": "on",
      "gzip_comp_level": 5,
      "error_log_level": "warn",
      "server_tokens": "ONE_TIME_TOKEN"
    },
    "apply": true
  }
}

Requires a documented runtime value before QA can execute this request.

Save high-traffic Nginx defaults
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "worker_processes": 4,
      "worker_connections": 65535,
      "worker_rlimit_nofile": 65535,
      "service_nofile_limit": 65535,
      "multi_accept": "on",
      "client_max_body_size": "10g",
      "client_body_timeout": "300s",
      "client_header_timeout": "10s",
      "keepalive_timeout": "30s",
      "proxy_connect_timeout": 300,
      "proxy_read_timeout": 300,
      "proxy_send_timeout": 300,
      "fastcgi_read_timeout": 300,
      "send_timeout": 300,
      "gzip": "on",
      "gzip_comp_level": 5,
      "error_log_level": "warn",
      "server_tokens": "ONE_TIME_TOKEN"
    },
    "apply": true
  }
}

Requires a documented runtime value before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/php/configrootRead PHP configuration.

What this endpoint does

Read PHP configuration.

Endpoint

GET /v1/root/php/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/php/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/php/configrootSave PHP configuration.

What this endpoint does

Save PHP configuration.

Operational guidance: Save root PHP defaults. Fields may be sent directly or inside a settings object.

Endpoint

POST /v1/root/php/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (16)

allow_url_fopenOptional
Send in
JSON body
Type
enum
Accepted values
on, off
Example
on

Allowed values: on, off.

Validation and use: Optional Send this parameter as a JSON body property.

date_timezoneOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
UTC

Default PHP timezone.

Validation and use: Optional Send this parameter as a JSON body property.

disable_functionsOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
exec,passthru,shell_exec

Comma separated disabled PHP functions.

Validation and use: Optional Send this parameter as a JSON body property.

display_errorsOptional
Send in
JSON body
Type
enum
Accepted values
on, off
Example
on

Allowed values: on, off.

Validation and use: Optional Send this parameter as a JSON body property.

error_reportingOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
443

PHP error_reporting expression/value.

Validation and use: Optional Send this parameter as a JSON body property.

file_uploadsOptional
Send in
JSON body
Type
enum
Accepted values
on, off
Example
on

Allowed values: on, off.

Validation and use: Optional Send this parameter as a JSON body property.

max_execution_timeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
120

Maximum execution time in seconds.

Validation and use: Optional Send this parameter as a JSON body property.

max_file_uploadsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Maximum uploaded files per request.

Validation and use: Optional Send this parameter as a JSON body property.

max_input_timeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Maximum input parsing time in seconds.

Validation and use: Optional Send this parameter as a JSON body property.

max_input_varsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
5000

Maximum input variables.

Validation and use: Optional Send this parameter as a JSON body property.

memory_limitOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1024M

PHP memory_limit value.

Validation and use: Optional Send this parameter as a JSON body property.

post_max_sizeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1024M

PHP post_max_size value.

Validation and use: Optional Send this parameter as a JSON body property.

session_gc_maxlifetimeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Session GC max lifetime in seconds.

Validation and use: Optional Send this parameter as a JSON body property.

session_save_pathOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
/home/demo/public_html

Session save path.

Validation and use: Optional Send this parameter as a JSON body property.

settingsOptional
Send in
JSON body
Type
object
Accepted values
Any value matching object
Example
{}

Optional object wrapper for the PHP settings below.

Validation and use: Optional Send this parameter as a JSON body property.

upload_max_filesizeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1024M

PHP upload_max_filesize value.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 16 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "allow_url_fopen": "on",
    "date_timezone": "UTC",
    "disable_functions": "exec,passthru,shell_exec",
    "display_errors": "on",
    "error_reporting": 443,
    "file_uploads": "on",
    "max_execution_time": "120",
    "max_file_uploads": 1,
    "max_input_time": 1,
    "max_input_vars": "5000",
    "memory_limit": "1024M",
    "post_max_size": "1024M",
    "session_gc_maxlifetime": 1,
    "session_save_path": "/home/demo/public_html",
    "settings": {},
    "upload_max_filesize": "1024M"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/php/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"memory_limit":"1024M","upload_max_filesize":"1024M","post_max_size":"1024M","max_input_vars":"5000","max_execution_time":"120","date_timezone":"UTC"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Save PHP defaults
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "memory_limit": "1024M",
    "upload_max_filesize": "1024M",
    "post_max_size": "1024M",
    "max_input_vars": "5000",
    "max_execution_time": "120",
    "date_timezone": "UTC"
  }
}
Save PHP defaults
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "memory_limit": "1024M",
    "upload_max_filesize": "1024M",
    "post_max_size": "1024M",
    "max_input_vars": "5000",
    "max_execution_time": "120",
    "date_timezone": "UTC"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/php/fpm/configrootSave PHP-FPM configuration.

What this endpoint does

Save PHP-FPM configuration.

Operational guidance: Save root PHP-FPM process manager defaults. Fields may be sent directly or inside a settings object. The synconix mode is capability-tested per configured PHP runtime; supported builds use it natively and rejected builds receive an explicitly reported ondemand safety fallback.

Endpoint

POST /v1/root/php/fpm/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (11)

opcache_interned_strings_bufferOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
8

OPcache interned strings buffer in MB. Allowed range: 1-1024.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 1024.

opcache_memory_consumptionOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
64

OPcache shared memory limit in MB for each active PHP-FPM OPcache segment. Allowed range: 8-16384.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 8. Maximum 16384.

pmOptional
Send in
JSON body
Type
enum
Accepted values
ondemand, dynamic, static, synconix
Example
synconix

Allowed values: ondemand, dynamic, static, synconix. Synconix requires at least one configured PHP-FPM runtime to pass native capability validation and keeps the configured minimum warm workers per pool; ondemand uses less RAM for fully idle high-density hosting.

Validation and use: Optional Send this parameter as a JSON body property.

pm_max_childrenOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
50

Maximum PHP-FPM child processes. Allowed range: 1-10000.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 10000.

pm_max_requestsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
500

Requests before a child process is recycled. Allowed range: 0-1000000; zero disables request-count recycling.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 0. Maximum 1000000.

pm_max_spare_serversOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
5

Maximum spare servers for dynamic and synconix modes. Allowed range: 0-10000; synconix normalizes zero to a safe runtime value.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 0. Maximum 10000.

pm_min_spare_serversOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Minimum spare servers for dynamic and synconix modes. Allowed range: 0-10000; synconix normalizes zero to one.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 0. Maximum 10000.

pm_process_idle_timeoutOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
10

Idle worker timeout in seconds for ondemand and synconix modes. Allowed range: 1-86400.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 86400.

pm_start_serversOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Startup workers for dynamic and synconix modes. Allowed range: 0-10000; synconix normalizes zero to its minimum spare value.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 0. Maximum 10000.

revalidate_freqOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
300

OPcache revalidate frequency in seconds. Allowed range: 0-86400.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 0. Maximum 86400.

settingsOptional
Send in
JSON body
Type
object
Accepted values
Any value matching object
Example
{"pm":"synconix","pm_max_children":50}

Optional object wrapper for the PHP-FPM settings below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 11 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "opcache_interned_strings_buffer": 8,
    "opcache_memory_consumption": 64,
    "pm": "synconix",
    "pm_max_children": 50,
    "pm_max_requests": 500,
    "pm_max_spare_servers": 5,
    "pm_min_spare_servers": 1,
    "pm_process_idle_timeout": 10,
    "pm_start_servers": 1,
    "revalidate_freq": 300,
    "settings": {
      "pm": "synconix",
      "pm_max_children": 50
    }
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/php/fpm/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"pm":"synconix","pm_max_children":50,"pm_max_requests":500,"pm_process_idle_timeout":10,"pm_max_spare_servers":5,"pm_min_spare_servers":1,"pm_start_servers":1,"revalidate_freq":300,"opcache_memory_consumption":64,"opcache_interned_strings_buffer":8}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Save adaptive Synconix PHP-FPM defaults
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "pm": "synconix",
    "pm_max_children": 50,
    "pm_max_requests": 500,
    "pm_process_idle_timeout": 10,
    "pm_max_spare_servers": 5,
    "pm_min_spare_servers": 1,
    "pm_start_servers": 1,
    "revalidate_freq": 300,
    "opcache_memory_consumption": 64,
    "opcache_interned_strings_buffer": 8
  }
}
Save adaptive Synconix PHP-FPM defaults
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "pm": "synconix",
    "pm_max_children": 50,
    "pm_max_requests": 500,
    "pm_process_idle_timeout": 10,
    "pm_max_spare_servers": 5,
    "pm_min_spare_servers": 1,
    "pm_start_servers": 1,
    "revalidate_freq": 300,
    "opcache_memory_consumption": 64,
    "opcache_interned_strings_buffer": 8
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/postgresql/configrootRead PostgreSQL server configuration settings managed by SHM.

What this endpoint does

Read PostgreSQL server configuration settings managed by SHM.

Operational guidance: Use this endpoint to inspect local PostgreSQL service state and the whitelisted global settings that SHM can validate and apply. It returns available=false when PostgreSQL is not enabled or not active.

Endpoint

GET /v1/root/postgresql/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/postgresql/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Read PostgreSQL managed settings
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}
Read PostgreSQL managed settings
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/postgresql/configrootSave whitelisted PostgreSQL server settings, validate the cluster configuration, and restart PostgreSQL.

What this endpoint does

Save whitelisted PostgreSQL server settings, validate the cluster configuration, and restart PostgreSQL.

Operational guidance: Only send the whitelisted settings returned by GET /v1/root/postgresql/config. SHM applies them through PostgreSQL ALTER SYSTEM, validates the effective config before restart, and rolls back submitted values if validation or restart fails.

Endpoint

POST /v1/root/postgresql/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

settingsRequired
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{"max_connections":"80","shared_buffers":"1GB","shared_preload_libraries":"pg_stat_statements","max_worker_processes":"8","max_parallel_workers":"4","max_parallel_maintenance_workers":"2","wal_compression":"lz4","checkpoint_completion_target":"0.9","max_wal_size":"2GB","min_wal_size":"256MB","autovacuum_max_workers":"3","temp_buffers":"8MB","statement_timeout":"0","deadlock_timeout":"1s","track_io_timing":"off","track_functions":"none","log_lock_waits":"off"}

Allowed keys include max_connections, shared_buffers, shared_preload_libraries, worker/parallel settings, WAL/checkpoint settings, autovacuum thresholds, timeout settings, planner cost settings, logging toggles, and log_min_duration_statement. Memory values use PostgreSQL format such as 128MB or 4GB; durations accept ms, s, min, h, or d suffixes; booleans accept on/off; wal_compression accepts off, on, pglz, lz4, or zstd; track_functions accepts none, pl, or all.

Validation and use: Required Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "max_connections": "80",
      "shared_buffers": "1GB",
      "shared_preload_libraries": "pg_stat_statements",
      "max_worker_processes": "8",
      "max_parallel_workers": "4",
      "max_parallel_maintenance_workers": "2",
      "wal_compression": "lz4",
      "checkpoint_completion_target": "0.9",
      "max_wal_size": "2GB",
      "min_wal_size": "256MB",
      "autovacuum_max_workers": "3",
      "temp_buffers": "8MB",
      "statement_timeout": "0",
      "deadlock_timeout": "1s",
      "track_io_timing": "off",
      "track_functions": "none",
      "log_lock_waits": "off"
    }
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/postgresql/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"settings":{"max_connections":"80","shared_buffers":"1GB","shared_preload_libraries":"pg_stat_statements","max_worker_processes":"8","max_parallel_workers":"4","max_parallel_maintenance_workers":"2","wal_compression":"lz4","checkpoint_completion_target":"0.9","max_wal_size":"2GB","min_wal_size":"256MB","autovacuum_max_workers":"3","temp_buffers":"8MB","statement_timeout":"0","deadlock_timeout":"1s","track_io_timing":"off","track_functions":"none","log_lock_waits":"off"}}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Apply PostgreSQL settings safely
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "max_connections": "80",
      "shared_buffers": "1GB",
      "shared_preload_libraries": "pg_stat_statements",
      "max_worker_processes": "8",
      "max_parallel_workers": "4",
      "max_parallel_maintenance_workers": "2",
      "wal_compression": "lz4",
      "checkpoint_completion_target": "0.9",
      "max_wal_size": "2GB",
      "min_wal_size": "256MB",
      "autovacuum_max_workers": "3",
      "temp_buffers": "8MB",
      "statement_timeout": "0",
      "deadlock_timeout": "1s",
      "track_io_timing": "off",
      "track_functions": "none",
      "log_lock_waits": "off"
    }
  }
}
Apply PostgreSQL settings safely
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {
      "max_connections": "80",
      "shared_buffers": "1GB",
      "shared_preload_libraries": "pg_stat_statements",
      "max_worker_processes": "8",
      "max_parallel_workers": "4",
      "max_parallel_maintenance_workers": "2",
      "wal_compression": "lz4",
      "checkpoint_completion_target": "0.9",
      "max_wal_size": "2GB",
      "min_wal_size": "256MB",
      "autovacuum_max_workers": "3",
      "temp_buffers": "8MB",
      "statement_timeout": "0",
      "deadlock_timeout": "1s",
      "track_io_timing": "off",
      "track_functions": "none",
      "log_lock_waits": "off"
    }
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/web-vhosts/generaterootGenerate a web virtual host.

What this endpoint does

Generate a web virtual host.

Endpoint

POST /v1/root/web-vhosts/generate

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (6)

dnsOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
local

Dns accepted by this endpoint while it performs: Generate a web virtual host. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

document_rootOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
/home/demo/public_html

Document root path.

Validation and use: Optional Send this parameter as a JSON body property.

domainOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.com

Domain name.

Validation and use: Optional Send this parameter as a JSON body property.

ipOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

IPv4 address.

Validation and use: Optional Send this parameter as a JSON body property.

typeOptional
Send in
JSON body
Type
enum
Accepted values
domain, subdomain
Example
domain

Type value. Allowed values: domain, subdomain.

Validation and use: Optional Send this parameter as a JSON body property.

usernameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Username value.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 6 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "dns": "local",
    "document_root": "/home/demo/public_html",
    "domain": "example.com",
    "ip": "203.0.113.10",
    "type": "domain",
    "username": "demo"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/web-vhosts/generate' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"domain":"example.com","type":"domain","username":"demo","document_root":"/home/demo/public_html"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "type": "domain",
    "username": "demo",
    "document_root": "/home/demo/public_html"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/web-vhosts/rebuildrootRebuild web virtual hosts.

What this endpoint does

Rebuild web virtual hosts.

Operational guidance: Rebuild web virtual hosts globally or for one account/domain filter.

Endpoint

POST /v1/root/web-vhosts/rebuild

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (9)

account_refOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Account username filter. Aliases: account_user, username.

Validation and use: Optional Send this parameter as a JSON body property.

account_userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Alias of account_ref.

Validation and use: Optional Send this parameter as a JSON body property.

domainOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.com

Alias of item.

Validation and use: Optional Send this parameter as a JSON body property.

filter_itemOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
active

Alias of item.

Validation and use: Optional Send this parameter as a JSON body property.

filter_typeOptional
Send in
JSON body
Type
enum
Accepted values
main, addon, parked, subdomain
Example
main

Alias of type. Allowed values: main, addon, parked, subdomain.

Validation and use: Optional Send this parameter as a JSON body property.

itemOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.com

Domain/item filter. Aliases: filter_item, domain.

Validation and use: Optional Send this parameter as a JSON body property.

typeOptional
Send in
JSON body
Type
enum
Accepted values
main, addon, parked, subdomain
Example
main

Allowed values: main, addon, parked, subdomain. Aliases accepted: domain, primary, root, addondomain, parkeddomain, alias, sub.

Validation and use: Optional Send this parameter as a JSON body property.

uidOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Account UID filter.

Validation and use: Optional Send this parameter as a JSON body property.

usernameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Alias of account_ref.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 9 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "account_ref": "demo",
    "account_user": "demo",
    "domain": "example.com",
    "filter_item": "active",
    "filter_type": "main",
    "item": "example.com",
    "type": "main",
    "uid": 1,
    "username": "demo"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/web-vhosts/rebuild' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"domain":"example.com","type":"main","account_ref":"demo","account_user":"demo"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "type": "main",
    "account_ref": "demo",
    "account_user": "demo"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/webserver/http-guardrootRead root Web Server HTTP Guard configuration.

What this endpoint does

Read root Web Server HTTP Guard configuration.

Operational guidance: Read Web Server HTTP Guard settings used by hosted domain web-server configuration. This is not a firewall/firewalld rules endpoint.

Endpoint

GET /v1/root/webserver/http-guard

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/webserver/http-guard' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/webserver/http-guardrootSave root Web Server HTTP Guard configuration.

What this endpoint does

Save root Web Server HTTP Guard configuration.

Operational guidance: Save root Web Server HTTP Guard configuration. SHM applies web-server request and connection protection for hosted domains; it does not write firewall rules. Smart Protection scans only Smart-enabled domains in bounded batches, reads new access-log bytes from saved cursors, and writes temporary URI rules for detected spikes.

Endpoint

POST /v1/root/webserver/http-guard

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

settingsOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{}

Settings accepted by this endpoint while it performs: Save root Web Server HTTP Guard configuration. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {}
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/webserver/http-guard' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"settings":{}}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "settings": {}
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/webserver/http-guard/smart-refreshrootRefresh HTTP Guard Smart Protection runtime rules.

What this endpoint does

Refresh HTTP Guard Smart Protection runtime rules.

Operational guidance: Run one bounded Smart Protection refresh immediately. Normal refresh runs from the SHM cron loop; this endpoint is for root/admin testing or explicit manual rescan. It scans only Smart-enabled domains, observes account/domain/byte caps, updates runtime state, and rebuilds only domains whose temporary Smart rules changed.

Endpoint

POST /v1/root/webserver/http-guard/smart-refresh

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/webserver/http-guard/smart-refresh' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DNS Cluster

POST/v1/root/dns-cluster/actions/{action}rootRun a DNS Cluster action.

What this endpoint does

Run a DNS Cluster action.

Operational guidance: Run a DNS Cluster action. Use action=sync_zone with a domain to synchronously replace one remote DNS Cluster zone from the local SHM zone without creating a queue job.

Endpoint

POST /v1/root/dns-cluster/actions/{action}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (8)

actionRequired
Send in
URL path
Type
enum
Accepted values
nodes_refresh, test_api, sync_all_zones, sync_zone, queue_process, queue_clear, queue_delete_many
Example
sync_zone

Action path parameter. Allowed values: nodes_refresh, test_api, sync_all_zones, sync_zone, queue_process, queue_clear, queue_delete_many.

Validation and use: Required Replace this placeholder directly in the URL path.

domainOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.com

Domain name. Required for sync_zone: local DNS zone domain to replace on the remote DNS Cluster.

Validation and use: Optional Send this parameter as a JSON body property.

idsOptional
Send in
JSON body
Type
string|array
Accepted values
Any value matching string|array
Example
1,2

For queue_delete_many: array of job ids or a comma-separated string.

Validation and use: Optional Send this parameter as a JSON body property.

maxOptional
Send in
JSON body
Type
int|string|integer
Accepted values
Any value matching int|string|integer
Example
1

For queue_process: max number of jobs to process (0..200).

Validation and use: Optional Send this parameter as a JSON body property.

parallelOptional
Send in
JSON body
Type
int|string|integer
Accepted values
Any value matching int|string|integer
Example
1

For queue_process: worker limit from 0 to 16. Zero selects the automatic limit. Jobs for one domain are always serialized; only different domains run in parallel.

Validation and use: Optional Send this parameter as a JSON body property.

replace_remoteOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

For sync_zone this is always treated as 1 so the remote zone becomes 1:1 with the local SHM zone.

Validation and use: Optional Send this parameter as a JSON body property.

statusOptional
Send in
JSON body
Type
enum
Accepted values
active, pending
Example
active

For nodes_refresh: allowed values are active,pending (default). For queue_clear: allowed values include pending, trying, failed, blocked, success. Allowed values: active, pending.

Validation and use: Optional Send this parameter as a JSON body property.

zoneOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.com

Zone accepted by this endpoint while it performs: Run a DNS Cluster action. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Supported actions and option sets

action values (7)
nodes_refreshtest_apisync_all_zonessync_zonequeue_processqueue_clearqueue_delete_many
Action-specific request bodies
{
  "nodes_refresh": {
    "status": "active,pending"
  },
  "test_api": [],
  "sync_all_zones": [],
  "sync_zone": {
    "domain": "example.com",
    "replace_remote": 1
  },
  "queue_process": {
    "max": 25
  },
  "queue_clear": {
    "status": "failed"
  },
  "queue_delete_many": {
    "ids": [
      "job-1",
      "job-2"
    ]
  }
}

Complete request template

This reference template contains all 8 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "action": "sync_zone"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "ids": "1,2",
    "max": 1,
    "parallel": 1,
    "replace_remote": 1,
    "status": "active",
    "zone": "example.com"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/dns-cluster/actions/sync_zone' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"domain":"example.com","replace_remote":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Directly sync one full DNS zone
{
  "path_parameters": {
    "action": "sync_zone"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "replace_remote": 1
  }
}
Directly sync one full DNS zone
{
  "path_parameters": {
    "action": "sync_zone"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "replace_remote": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/dns-cluster/queuerootList DNS Cluster queue jobs.

What this endpoint does

List DNS Cluster queue jobs.

Endpoint

GET /v1/root/dns-cluster/queue

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (4)

drawOptional
Send in
Query string
Type
int|string
Accepted values
Any value matching int|string
Example
1

DataTables draw counter.

Validation and use: Optional Send this parameter in the query string.

lengthOptional
Send in
Query string
Type
int|string
Accepted values
Any value matching int|string
Example
25

Page size.

Validation and use: Optional Send this parameter in the query string.

limitOptional
Send in
Query string
Type
int|string
Accepted values
Any value matching int|string
Example
25

Result size limit.

Validation and use: Optional Send this parameter in the query string.

startOptional
Send in
Query string
Type
int|string
Accepted values
Any value matching int|string
Example
0

Row offset.

Validation and use: Optional Send this parameter in the query string.

Complete request template

This reference template contains all 4 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {
    "draw": 1,
    "length": 25,
    "limit": 25,
    "start": 0
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/dns-cluster/queue?limit=25&draw=1&start=0&length=25' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {
    "limit": 25,
    "draw": 1,
    "start": 0,
    "length": 25
  },
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/dns-cluster/queuerootList DNS Cluster queue jobs.

What this endpoint does

List DNS Cluster queue jobs.

Endpoint

POST /v1/root/dns-cluster/queue

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (4)

drawOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

DataTables draw counter.

Validation and use: Optional Send this parameter as a JSON body property.

lengthOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
25

Page size.

Validation and use: Optional Send this parameter as a JSON body property.

limitOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
25

Result size limit.

Validation and use: Optional Send this parameter as a JSON body property.

startOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
0

Row offset.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 4 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "draw": 1,
    "length": 25,
    "limit": 25,
    "start": 0
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/dns-cluster/queue' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"limit":25,"draw":1,"start":0,"length":25}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "limit": 25,
    "draw": 1,
    "start": 0,
    "length": 25
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/dns-cluster/queue/{id}rootDelete a DNS Cluster queue job.

What this endpoint does

Delete a DNS Cluster queue job.

Endpoint

DELETE /v1/root/dns-cluster/queue/{id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

idRequired
Send in
URL path
Type
string|int
Accepted values
Any value matching string|int
Example
1

Exact resource identifier returned by the related list or context endpoint. Do not guess ids from table position.

Validation and use: Required Replace this placeholder directly in the URL path. Use the corresponding list endpoint for this resource and copy the returned id value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/dns-cluster/queue/1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/dns-cluster/queue/{id}rootRead DNS Cluster queue job details.

What this endpoint does

Read DNS Cluster queue job details.

Endpoint

GET /v1/root/dns-cluster/queue/{id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

idRequired
Send in
URL path
Type
string|int
Accepted values
Any value matching string|int
Example
1

Exact resource identifier returned by the related list or context endpoint. Do not guess ids from table position.

Validation and use: Required Replace this placeholder directly in the URL path. Use the corresponding list endpoint for this resource and copy the returned id value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/dns-cluster/queue/1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/dns-cluster/queue/{id}/retryrootRetry a DNS Cluster queue job.

What this endpoint does

Retry a DNS Cluster queue job.

Endpoint

POST /v1/root/dns-cluster/queue/{id}/retry

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

idRequired
Send in
URL path
Type
string|int
Accepted values
Any value matching string|int
Example
1

Exact resource identifier returned by the related list or context endpoint. Do not guess ids from table position.

Validation and use: Required Replace this placeholder directly in the URL path. Use the corresponding list endpoint for this resource and copy the returned id value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/dns-cluster/queue/1/retry' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/dns-cluster/queue/enqueue/{kind}rootEnqueue a DNS Cluster queue job.

What this endpoint does

Enqueue a DNS Cluster queue job.

Operational guidance: Enqueue one DNS Cluster job.

Endpoint

POST /v1/root/dns-cluster/queue/enqueue/{kind}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (10)

kindRequired
Send in
URL path
Type
enum
Accepted values
zone-sync, zone-delete, record-add, record-update, record-delete, zone_sync, zone_delete, record_add, record_update, record_delete
Example
zone_sync

Kind path parameter. Allowed values: zone-sync, zone-delete, record-add, record-update, record-delete, zone_sync, zone_delete, record_add, record_update, record_delete. Allowed values: zone_sync, zone_delete, record_add, record_update, record_delete.

Validation and use: Required Replace this placeholder directly in the URL path.

contentOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
192.0.2.25

Text content to save. For record_* jobs: record value/content.

Validation and use: Optional Send this parameter as a JSON body property.

domainOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.com

For zone_sync or zone_delete: zone domain name.

Validation and use: Optional Send this parameter as a JSON body property.

extraOptional
Send in
JSON body
Type
object|string|array
Accepted values
Any value matching object|string|array
Example
{"priority":10}

For record_add or record_update: extra per-record data such as MX priority.

Validation and use: Optional Send this parameter as a JSON body property.

nameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
api

For record_* jobs: record owner name, such as @ or www.

Validation and use: Optional Send this parameter as a JSON body property.

old_contentOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
mail1.example.com.

For record_update: previous record content value.

Validation and use: Optional Send this parameter as a JSON body property.

replace_remoteOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

For zone_sync: 1 to replace remote records.

Validation and use: Optional Send this parameter as a JSON body property.

ttlOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
3600

For record_* jobs: TTL in seconds.

Validation and use: Optional Send this parameter as a JSON body property.

typeOptional
Send in
JSON body
Type
enum
Accepted values
A, AAAA, NS, CNAME, PTR, DNAME, MX, SRV, CAA, AFSDB, HINFO, DS, TXT, SOA
Example
A

For record_* jobs: allowed values are A, AAAA, NS, CNAME, PTR, DNAME, MX, SRV, CAA, AFSDB, HINFO, DS, TXT, SOA. Allowed values: A, AAAA, NS, CNAME, PTR, DNAME, MX, SRV, CAA, AFSDB, HINFO, DS, TXT, SOA.

Validation and use: Optional Send this parameter as a JSON body property.

zoneOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.com

For record_* jobs: zone domain name.

Validation and use: Optional Send this parameter as a JSON body property.

Supported actions and option sets

kind values (5)
zone_synczone_deleterecord_addrecord_updaterecord_delete

Complete request template

This reference template contains all 10 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "kind": "zone_sync"
  },
  "query_parameters": {},
  "json_body": {
    "content": "192.0.2.25",
    "domain": "example.com",
    "extra": {
      "priority": 10
    },
    "name": "api",
    "old_content": "mail1.example.com.",
    "replace_remote": 1,
    "ttl": 3600,
    "type": "A",
    "zone": "example.com"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/dns-cluster/queue/enqueue/zone_sync' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"domain":"example.com","replace_remote":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Queue full zone sync
{
  "path_parameters": {
    "kind": "zone_sync"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "replace_remote": 1
  }
}
Queue zone delete
{
  "path_parameters": {
    "kind": "zone_delete"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "old-example.com"
  }
}
Queue DNS record add
{
  "path_parameters": {
    "kind": "record_add"
  },
  "query_parameters": {},
  "json_body": {
    "zone": "example.com",
    "type": "A",
    "name": "api",
    "content": "192.0.2.25",
    "ttl": 3600
  }
}
Queue DNS record update
{
  "path_parameters": {
    "kind": "record_update"
  },
  "query_parameters": {},
  "json_body": {
    "zone": "example.com",
    "type": "MX",
    "name": "@",
    "content": "mail2.example.com.",
    "old_content": "mail1.example.com.",
    "ttl": 3600,
    "extra": {
      "priority": 10
    }
  }
}
Queue DNS record delete
{
  "path_parameters": {
    "kind": "record_delete"
  },
  "query_parameters": {},
  "json_body": {
    "zone": "example.com",
    "type": "TXT",
    "name": "_acme-challenge",
    "content": "obsolete-token"
  }
}
Queue full zone sync
{
  "path_parameters": {
    "kind": "zone_sync"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "replace_remote": 1
  }
}
Queue zone delete
{
  "path_parameters": {
    "kind": "zone_delete"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "old-example.com"
  }
}
Queue DNS record add
{
  "path_parameters": {
    "kind": "record_add"
  },
  "query_parameters": {},
  "json_body": {
    "zone": "example.com",
    "type": "A",
    "name": "api",
    "content": "192.0.2.25",
    "ttl": 3600
  }
}
Queue DNS record update
{
  "path_parameters": {
    "kind": "record_update"
  },
  "query_parameters": {},
  "json_body": {
    "zone": "example.com",
    "type": "MX",
    "name": "@",
    "content": "mail2.example.com.",
    "old_content": "mail1.example.com.",
    "ttl": 3600,
    "extra": {
      "priority": 10
    }
  }
}
Queue DNS record delete
{
  "path_parameters": {
    "kind": "record_delete"
  },
  "query_parameters": {},
  "json_body": {
    "zone": "example.com",
    "type": "TXT",
    "name": "_acme-challenge",
    "content": "obsolete-token"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/dns-cluster/settingsrootClear DNS Cluster settings.

What this endpoint does

Clear DNS Cluster settings.

Endpoint

DELETE /v1/root/dns-cluster/settings

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/dns-cluster/settings' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/dns-cluster/settingsrootRead DNS Cluster settings.

What this endpoint does

Read DNS Cluster settings.

Endpoint

GET /v1/root/dns-cluster/settings

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/dns-cluster/settings' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

PATCH/v1/root/dns-cluster/settingsrootSave DNS Cluster settings.

What this endpoint does

Save DNS Cluster settings.

Operational guidance: Save DNS Cluster settings and optionally refresh node state right after saving.

Endpoint

PATCH /v1/root/dns-cluster/settings

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (5)

api_keyOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
YOUR_API_KEY

Shared cluster API key. Required when enabling the cluster if no key is already stored.

Validation and use: Optional Send this parameter as a JSON body property.

api_userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
hosting

API username used for peer calls. Default: hosting.

Validation and use: Optional Send this parameter as a JSON body property.

enabledOptional
Send in
JSON body
Type
enum
Accepted values
on, off
Example
on

Allowed values: on, off.

Validation and use: Optional Send this parameter as a JSON body property.

seed_serverOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
host.example.com

Seed node IP or hostname. Locked after a key and node list already exist.

Validation and use: Optional Send this parameter as a JSON body property.

statusOptional
Send in
JSON body
Type
enum
Accepted values
active
Example
active

For the automatic nodes refresh after save: allowed values are active,pending (default) or another comma-separated node status filter such as failed. Allowed values: active.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 5 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "api_key": "YOUR_API_KEY",
    "api_user": "hosting",
    "enabled": "on",
    "seed_server": "host.example.com",
    "status": "active"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/dns-cluster/settings' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"status":"active","enabled":"on","api_user":"hosting","seed_server":"host.example.com"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "status": "active",
    "enabled": "on",
    "api_user": "hosting",
    "seed_server": "host.example.com"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DNS Manager

GET/v1/root/dns/zonesrootList DNS manager zones.

What this endpoint does

List DNS manager zones.

Endpoint

GET /v1/root/dns/zones

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/dns/zones' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/dns/zonesrootCreate a DNS manager zone.

What this endpoint does

Create a DNS manager zone.

Operational guidance: Create a DNS manager zone.

Endpoint

POST /v1/root/dns/zones

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

domainRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.com

Zone domain name. Alias: zonename.

Validation and use: Required Send this parameter as a JSON body property.

zonenameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.com

Alias of domain.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "zonename": "example.com"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/dns/zones' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"domain":"example.com"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Create DNS zone
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "domain": "example.com"
  }
}
Create DNS zone
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "domain": "example.com"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/dns/zones/{domain}rootDelete a DNS manager zone.

What this endpoint does

Delete a DNS manager zone.

Endpoint

DELETE /v1/root/dns/zones/{domain}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Exact authorized domain name used to select the DNS, website, mail, SSL, or diagnostic resource in this route.

Validation and use: Required Replace this placeholder directly in the URL path. Use the corresponding list endpoint for this resource and copy the returned domain value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/dns/zones/example.com' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/dns/zones/{domain}/mail-records/dkimrootDelete a DNS zone DKIM TXT record.

What this endpoint does

Delete a DNS zone DKIM TXT record.

Endpoint

DELETE /v1/root/dns/zones/{domain}/mail-records/dkim

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Exact authorized domain name used to select the DNS, website, mail, SSL, or diagnostic resource in this route.

Validation and use: Required Replace this placeholder directly in the URL path. Use the corresponding list endpoint for this resource and copy the returned domain value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/dns/zones/example.com/mail-records/dkim' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/dns/zones/{domain}/mail-records/syncrootSync DNS DKIM and DMARC TXT records from mail state.

What this endpoint does

Sync DNS DKIM and DMARC TXT records from mail state.

Endpoint

POST /v1/root/dns/zones/{domain}/mail-records/sync

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Exact authorized domain name used to select the DNS, website, mail, SSL, or diagnostic resource in this route.

Validation and use: Required Replace this placeholder directly in the URL path. Use the corresponding list endpoint for this resource and copy the returned domain value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/dns/zones/example.com/mail-records/sync' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/dns/zones/{domain}/regeneraterootRegenerate a DNS zone database from YAML.

What this endpoint does

Regenerate a DNS zone database from YAML.

Endpoint

POST /v1/root/dns/zones/{domain}/regenerate

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Exact authorized domain name used to select the DNS, website, mail, SSL, or diagnostic resource in this route.

Validation and use: Required Replace this placeholder directly in the URL path. Use the corresponding list endpoint for this resource and copy the returned domain value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/dns/zones/example.com/regenerate' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Engine API Users

PATCH/v1/root/engine-api/users/{username}/enabledrootUpdate Engine API access enabled state for a panel user.

What this endpoint does

Update Engine API access enabled state for a panel user.

Endpoint

PATCH /v1/root/engine-api/users/{username}/enabled

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

usernameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Target SHM account username. Root may target any authorized account, a reseller only an owned account, and a user only their own account.

Validation and use: Required Replace this placeholder directly in the URL path.

enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enabled accepted by this endpoint while it performs: Update Engine API access enabled state for a panel user. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "enabled": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/engine-api/users/demo/enabled' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"enabled":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "enabled": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/engine-api/users/{username}/keysrootDelete an Engine API key for a panel user.

What this endpoint does

Delete an Engine API key for a panel user.

Endpoint

DELETE /v1/root/engine-api/users/{username}/keys

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

usernameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Target SHM account username. Root may target any authorized account, a reseller only an owned account, and a user only their own account.

Validation and use: Required Replace this placeholder directly in the URL path.

key_idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Key id accepted by this endpoint while it performs: Delete an Engine API key for a panel user. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned key_id value.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "key_id": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/engine-api/users/demo/keys' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"key_id":1}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "key_id": 1
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/engine-api/users/{username}/keysrootCreate or update an Engine API key for a panel user.

What this endpoint does

Create or update an Engine API key for a panel user.

Endpoint

POST /v1/root/engine-api/users/{username}/keys

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (6)

usernameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Target SHM account username. Root may target any authorized account, a reseller only an owned account, and a user only their own account.

Validation and use: Required Replace this placeholder directly in the URL path.

descriptionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
192.0.2.10

Description accepted by this endpoint while it performs: Create or update an Engine API key for a panel user. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enabled accepted by this endpoint while it performs: Create or update an Engine API key for a panel user. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ipsOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
192.0.2.10

Ips accepted by this endpoint while it performs: Create or update an Engine API key for a panel user. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

key_idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Key id accepted by this endpoint while it performs: Create or update an Engine API key for a panel user. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned key_id value.

role_idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Role id accepted by this endpoint while it performs: Create or update an Engine API key for a panel user. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned role_id value.

Complete request template

This reference template contains all 6 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "description": "192.0.2.10",
    "enabled": 1,
    "ips": "192.0.2.10",
    "key_id": 1,
    "role_id": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/engine-api/users/demo/keys' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"description":"192.0.2.10","role_id":1,"key_id":1,"enabled":1}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "description": "192.0.2.10",
    "role_id": 1,
    "key_id": 1,
    "enabled": 1
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/engine-api/users/{username}/keys/rotaterootRotate an Engine API key for a panel user.

What this endpoint does

Rotate an Engine API key for a panel user.

Endpoint

POST /v1/root/engine-api/users/{username}/keys/rotate

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

usernameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Target SHM account username. Root may target any authorized account, a reseller only an owned account, and a user only their own account.

Validation and use: Required Replace this placeholder directly in the URL path.

key_idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Key id accepted by this endpoint while it performs: Rotate an Engine API key for a panel user. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned key_id value.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "key_id": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/engine-api/users/demo/keys/rotate' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"key_id":1}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "key_id": 1
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/engine-api/users/{username}/profilerootGet the Engine API access profile for a panel user.

What this endpoint does

Get the Engine API access profile for a panel user.

Endpoint

GET /v1/root/engine-api/users/{username}/profile

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

usernameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Target SHM account username. Root may target any authorized account, a reseller only an owned account, and a user only their own account.

Validation and use: Required Replace this placeholder directly in the URL path.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/engine-api/users/demo/profile' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

DELETE/v1/root/engine-api/users/{username}/rolesrootDelete an Engine API access role for a panel user.

What this endpoint does

Delete an Engine API access role for a panel user.

Endpoint

DELETE /v1/root/engine-api/users/{username}/roles

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

usernameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Target SHM account username. Root may target any authorized account, a reseller only an owned account, and a user only their own account.

Validation and use: Required Replace this placeholder directly in the URL path.

role_idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Role id accepted by this endpoint while it performs: Delete an Engine API access role for a panel user. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned role_id value.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "role_id": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/engine-api/users/demo/roles' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"role_id":1}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "role_id": 1
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/engine-api/users/{username}/rolesrootCreate or update an Engine API access role for a panel user.

What this endpoint does

Create or update an Engine API access role for a panel user.

Endpoint

POST /v1/root/engine-api/users/{username}/roles

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (5)

usernameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Target SHM account username. Root may target any authorized account, a reseller only an owned account, and a user only their own account.

Validation and use: Required Replace this placeholder directly in the URL path.

descriptionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
192.0.2.10

Description accepted by this endpoint while it performs: Create or update an Engine API access role for a panel user. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

nameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
Primary

Name value.

Validation and use: Optional Send this parameter as a JSON body property.

role_idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Role id accepted by this endpoint while it performs: Create or update an Engine API access role for a panel user. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned role_id value.

scopesOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{}

Scopes accepted by this endpoint while it performs: Create or update an Engine API access role for a panel user. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 5 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "description": "192.0.2.10",
    "name": "Primary",
    "role_id": 1,
    "scopes": {}
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/engine-api/users/demo/roles' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"name":"Primary","role_id":1,"description":"192.0.2.10","scopes":{}}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "name": "Primary",
    "role_id": 1,
    "description": "192.0.2.10",
    "scopes": {}
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Firewall

POST/v1/root/firewall/applyrootApply the firewall configuration.

What this endpoint does

Apply the firewall configuration.

Endpoint

POST /v1/root/firewall/apply

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/apply' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/firewall/blocklists/configrootSave firewall blocklist settings.

What this endpoint does

Save firewall blocklist settings.

Operational guidance: Save firewall blocklist settings.

Endpoint

POST /v1/root/firewall/blocklists/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

bl_enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable blocklist processing.

Validation and use: Optional Send this parameter as a JSON body property.

bl_refreshOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
3600

Refresh interval in seconds. Default example: 3600.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "bl_enabled": "1",
    "bl_refresh": "3600"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/blocklists/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"bl_enabled":"1","bl_refresh":"3600"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Enable blocklists
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "bl_enabled": "1",
    "bl_refresh": "3600"
  }
}
Enable blocklists
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "bl_enabled": "1",
    "bl_refresh": "3600"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/firewall/blocklists/sourcesrootCreate a firewall blocklist source.

What this endpoint does

Create a firewall blocklist source.

Endpoint

POST /v1/root/firewall/blocklists/sources

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

nameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
Primary

Name value.

Validation and use: Optional Send this parameter as a JSON body property.

urlOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
https://example.com

Url accepted by this endpoint while it performs: Create a firewall blocklist source. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "name": "Primary",
    "url": "https://example.com"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/blocklists/sources' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"name":"Primary","url":"https://example.com"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "name": "Primary",
    "url": "https://example.com"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/firewall/blocklists/sources/{index}rootDelete a firewall blocklist source.

What this endpoint does

Delete a firewall blocklist source.

Endpoint

DELETE /v1/root/firewall/blocklists/sources/{index}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

indexRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Index that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "index": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/firewall/blocklists/sources/demo' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "index": "demo"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/firewall/blocklists/updaterootRefresh firewall blocklists now.

What this endpoint does

Refresh firewall blocklists now.

Endpoint

POST /v1/root/firewall/blocklists/update

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/blocklists/update' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/firewall/configrootRead firewall config and defaults.

What this endpoint does

Read firewall config and defaults.

Endpoint

GET /v1/root/firewall/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/firewall/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/firewall/configrootSave firewall config.

What this endpoint does

Save firewall config.

Endpoint

POST /v1/root/firewall/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (8)

alert_fromOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
admin@example.com

Alert from accepted by this endpoint while it performs: Save firewall config. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

alert_smtp_hostOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
host.example.com

Alert smtp host accepted by this endpoint while it performs: Save firewall config. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

alert_smtp_passOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

Alert smtp pass accepted by this endpoint while it performs: Save firewall config. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

alert_smtp_userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
alerts@example.com

Alert smtp user accepted by this endpoint while it performs: Save firewall config. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

alert_toOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
admin@example.com

Alert to accepted by this endpoint while it performs: Save firewall config. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

general_apply_modeOptional
Send in
JSON body
Type
enum
Accepted values
additive, exact
Example
additive

General apply mode request field. Allowed values: additive, exact.

Validation and use: Optional Send this parameter as a JSON body property.

general_log_deniedOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
all

General log denied accepted by this endpoint while it performs: Save firewall config. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

general_zoneOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
public

General zone accepted by this endpoint while it performs: Save firewall config. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 8 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "alert_from": "admin@example.com",
    "alert_smtp_host": "host.example.com",
    "alert_smtp_pass": "STRONG_PASSWORD",
    "alert_smtp_user": "alerts@example.com",
    "alert_to": "admin@example.com",
    "general_apply_mode": "additive",
    "general_log_denied": "all",
    "general_zone": "public"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"general_zone":"public","general_apply_mode":"additive","general_log_denied":"all","alert_to":"admin@example.com"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "general_zone": "public",
    "general_apply_mode": "additive",
    "general_log_denied": "all",
    "alert_to": "admin@example.com"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/firewall/config/resetrootReset firewall config to defaults.

What this endpoint does

Reset firewall config to defaults.

Endpoint

POST /v1/root/firewall/config/reset

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/config/reset' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/firewall/ddos/configrootSave firewall DDoS protection settings.

What this endpoint does

Save firewall DDoS protection settings.

Endpoint

POST /v1/root/firewall/ddos/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (5)

CONNLIMITOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
22;20,80;100,443;100

CONNLIMIT accepted by this endpoint while it performs: Save firewall DDoS protection settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ICMP_IN_RATEOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

ICMP IN RATE accepted by this endpoint while it performs: Save firewall DDoS protection settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

PORTFLOODOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
443

PORTFLOOD accepted by this endpoint while it performs: Save firewall DDoS protection settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

SYNFLOOD_ACTIONOptional
Send in
JSON body
Type
enum
Accepted values
drop, reject
Example
drop

SYNFLOOD ACTION request field. Allowed values: drop, reject.

Validation and use: Optional Send this parameter as a JSON body property.

SYNFLOOD_RATEOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

SYNFLOOD RATE accepted by this endpoint while it performs: Save firewall DDoS protection settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 5 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "CONNLIMIT": "22;20,80;100,443;100",
    "ICMP_IN_RATE": 1,
    "PORTFLOOD": 443,
    "SYNFLOOD_ACTION": "drop",
    "SYNFLOOD_RATE": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/ddos/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"ICMP_IN_RATE":1,"SYNFLOOD_RATE":1,"SYNFLOOD_ACTION":"drop","PORTFLOOD":443}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "ICMP_IN_RATE": 1,
    "SYNFLOOD_RATE": 1,
    "SYNFLOOD_ACTION": "drop",
    "PORTFLOOD": 443
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/firewall/ip-lists/{kind}rootDelete a firewall IP-list entry.

What this endpoint does

Delete a firewall IP-list entry.

Endpoint

DELETE /v1/root/firewall/ip-lists/{kind}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

kindRequired
Send in
URL path
Type
enum
Accepted values
allow, deny, ignore, temp, permanent-deny, temporary-deny
Example
allow

Kind path parameter. Allowed values: allow, deny, ignore, temp.

Validation and use: Required Replace this placeholder directly in the URL path.

ipOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

IPv4 address.

Validation and use: Optional Send this parameter as a JSON body property.

ipaddressOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

IPv4 address.

Validation and use: Optional Send this parameter as a JSON body property.

Supported actions and option sets

kind values (4)
allowpermanent-denytemporary-denyignore

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "kind": "allow"
  },
  "query_parameters": {},
  "json_body": {
    "ip": "203.0.113.10",
    "ipaddress": "203.0.113.10"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/firewall/ip-lists/allow' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"ipaddress":"203.0.113.10","ip":"203.0.113.10"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Kind: allow
{
  "path_parameters": {
    "kind": "allow"
  },
  "query_parameters": {},
  "json_body": {
    "ipaddress": "203.0.113.10",
    "ip": "203.0.113.10"
  }
}
Kind: permanent-deny
{
  "path_parameters": {
    "kind": "permanent-deny"
  },
  "query_parameters": {},
  "json_body": {
    "ipaddress": "203.0.113.10",
    "ip": "203.0.113.10"
  }
}
Kind: temporary-deny
{
  "path_parameters": {
    "kind": "temporary-deny"
  },
  "query_parameters": {},
  "json_body": {
    "ipaddress": "203.0.113.10",
    "ip": "203.0.113.10"
  }
}
Kind: ignore
{
  "path_parameters": {
    "kind": "ignore"
  },
  "query_parameters": {},
  "json_body": {
    "ipaddress": "203.0.113.10",
    "ip": "203.0.113.10"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/firewall/ip-lists/{kind}rootList firewall IP-list entries.

What this endpoint does

List firewall IP-list entries.

Endpoint

GET /v1/root/firewall/ip-lists/{kind}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

kindRequired
Send in
URL path
Type
enum
Accepted values
allow, deny, ignore, temp, blocklist, permanent-deny, temporary-deny
Example
allow

Kind path parameter. Allowed values: allow, deny, ignore, temp, blocklist.

Validation and use: Required Replace this placeholder directly in the URL path.

maxOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
1

Max query parameter.

Validation and use: Optional Send this parameter in the query string.

Supported actions and option sets

kind values (4)
allowpermanent-denytemporary-denyignore

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "kind": "allow"
  },
  "query_parameters": {
    "max": 1
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/firewall/ip-lists/allow?max=1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Kind: allow
{
  "path_parameters": {
    "kind": "allow"
  },
  "query_parameters": {
    "max": 1
  },
  "json_body": {}
}
Kind: permanent-deny
{
  "path_parameters": {
    "kind": "permanent-deny"
  },
  "query_parameters": {
    "max": 1
  },
  "json_body": {}
}
Kind: temporary-deny
{
  "path_parameters": {
    "kind": "temporary-deny"
  },
  "query_parameters": {
    "max": 1
  },
  "json_body": {}
}
Kind: ignore
{
  "path_parameters": {
    "kind": "ignore"
  },
  "query_parameters": {
    "max": 1
  },
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/firewall/ip-lists/{kind}rootCreate a firewall IP-list entry.

What this endpoint does

Create a firewall IP-list entry.

Endpoint

POST /v1/root/firewall/ip-lists/{kind}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (6)

kindRequired
Send in
URL path
Type
enum
Accepted values
allow, deny, ignore, temp, permanent-deny, temporary-deny
Example
allow

Kind path parameter. Allowed values: allow, deny, ignore, temp.

Validation and use: Required Replace this placeholder directly in the URL path.

commentOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
Managed by automation

Comment accepted by this endpoint while it performs: Create a firewall IP-list entry. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ipOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

IPv4 address.

Validation and use: Optional Send this parameter as a JSON body property.

ipaddressOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

IPv4 address.

Validation and use: Optional Send this parameter as a JSON body property.

secondsOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Seconds accepted by this endpoint while it performs: Create a firewall IP-list entry. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

timeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
60

Time value.

Validation and use: Optional Send this parameter as a JSON body property.

Supported actions and option sets

kind values (4)
allowpermanent-denytemporary-denyignore

Complete request template

This reference template contains all 6 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "kind": "allow"
  },
  "query_parameters": {},
  "json_body": {
    "comment": "Managed by automation",
    "ip": "203.0.113.10",
    "ipaddress": "203.0.113.10",
    "seconds": 1,
    "time": 60
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/ip-lists/allow' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"ipaddress":"203.0.113.10","ip":"203.0.113.10","comment":"Managed by automation","time":60}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Kind: allow
{
  "path_parameters": {
    "kind": "allow"
  },
  "query_parameters": {},
  "json_body": {
    "ipaddress": "203.0.113.10",
    "ip": "203.0.113.10",
    "comment": "Managed by automation",
    "time": 60
  }
}
Kind: permanent-deny
{
  "path_parameters": {
    "kind": "permanent-deny"
  },
  "query_parameters": {},
  "json_body": {
    "ipaddress": "203.0.113.10",
    "ip": "203.0.113.10",
    "comment": "Managed by automation",
    "time": 60
  }
}
Kind: temporary-deny
{
  "path_parameters": {
    "kind": "temporary-deny"
  },
  "query_parameters": {},
  "json_body": {
    "ipaddress": "203.0.113.10",
    "ip": "203.0.113.10",
    "comment": "Managed by automation",
    "time": 60
  }
}
Kind: ignore
{
  "path_parameters": {
    "kind": "ignore"
  },
  "query_parameters": {},
  "json_body": {
    "ipaddress": "203.0.113.10",
    "ip": "203.0.113.10",
    "comment": "Managed by automation",
    "time": 60
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/firewall/ip-lists/{kind}/clearrootClear firewall IP-list entries.

What this endpoint does

Clear firewall IP-list entries.

Endpoint

POST /v1/root/firewall/ip-lists/{kind}/clear

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

kindRequired
Send in
URL path
Type
enum
Accepted values
deny, temp, allow, ignore, permanent-deny, temporary-deny
Example
allow

Kind path parameter. Allowed values: deny, temp, allow, ignore.

Validation and use: Required Replace this placeholder directly in the URL path.

Supported actions and option sets

kind values (4)
allowpermanent-denytemporary-denyignore

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "kind": "allow"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/ip-lists/allow/clear' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Kind: allow
{
  "path_parameters": {
    "kind": "allow"
  },
  "query_parameters": {},
  "json_body": {}
}
Kind: permanent-deny
{
  "path_parameters": {
    "kind": "permanent-deny"
  },
  "query_parameters": {},
  "json_body": {}
}
Kind: temporary-deny
{
  "path_parameters": {
    "kind": "temporary-deny"
  },
  "query_parameters": {},
  "json_body": {}
}
Kind: ignore
{
  "path_parameters": {
    "kind": "ignore"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/firewall/lfd/configrootSave firewall intrusion-monitor settings.

What this endpoint does

Save firewall intrusion-monitor settings.

Endpoint

POST /v1/root/firewall/lfd/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (6)

CT_PORTSOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
443

CT PORTS accepted by this endpoint while it performs: Save firewall intrusion-monitor settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

FW_LOG_FILESOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
/var/log/messages

FW LOG FILES accepted by this endpoint while it performs: Save firewall intrusion-monitor settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

LF_ALERT_FROMOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
admin@example.com

LF ALERT FROM accepted by this endpoint while it performs: Save firewall intrusion-monitor settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

LF_ALERT_SMTPOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

LF ALERT SMTP accepted by this endpoint while it performs: Save firewall intrusion-monitor settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

LF_ALERT_TOOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
admin@example.com

LF ALERT TO accepted by this endpoint while it performs: Save firewall intrusion-monitor settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

PS_PORTSOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
443

PS PORTS accepted by this endpoint while it performs: Save firewall intrusion-monitor settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 6 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "CT_PORTS": 443,
    "FW_LOG_FILES": "/var/log/messages",
    "LF_ALERT_FROM": "admin@example.com",
    "LF_ALERT_SMTP": "1",
    "LF_ALERT_TO": "admin@example.com",
    "PS_PORTS": 443
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/lfd/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"CT_PORTS":443,"PS_PORTS":443,"LF_ALERT_TO":"admin@example.com","LF_ALERT_FROM":"admin@example.com"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "CT_PORTS": 443,
    "PS_PORTS": 443,
    "LF_ALERT_TO": "admin@example.com",
    "LF_ALERT_FROM": "admin@example.com"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/firewall/lfd/installrootInstall or update the firewall intrusion-monitor service.

What this endpoint does

Install or update the firewall intrusion-monitor service.

Endpoint

POST /v1/root/firewall/lfd/install

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/lfd/install' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/firewall/port-restrictionsrootDelete a firewall port restriction.

What this endpoint does

Delete a firewall port restriction.

Endpoint

DELETE /v1/root/firewall/port-restrictions

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

portOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
80

TCP port number.

Validation and use: Optional Send this parameter as a JSON body property.

protocolOptional
Send in
JSON body
Type
enum
Accepted values
tcp, udp
Example
tcp

Protocol request field. Allowed values: tcp, udp.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "port": 80,
    "protocol": "tcp"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/firewall/port-restrictions' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"protocol":"tcp","port":80}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "protocol": "tcp",
    "port": 80
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/firewall/port-restrictionsrootList firewall port restrictions.

What this endpoint does

List firewall port restrictions.

Endpoint

GET /v1/root/firewall/port-restrictions

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/firewall/port-restrictions' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/firewall/port-restrictionsrootCreate or update a firewall port restriction.

What this endpoint does

Create or update a firewall port restriction.

Endpoint

POST /v1/root/firewall/port-restrictions

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (5)

action_on_otherOptional
Send in
JSON body
Type
enum
Accepted values
drop, reject
Example
drop

Action on other request field. Allowed values: drop, reject.

Validation and use: Optional Send this parameter as a JSON body property.

commentOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
Managed by automation

Comment accepted by this endpoint while it performs: Create or update a firewall port restriction. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

portOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
80

TCP port number.

Validation and use: Optional Send this parameter as a JSON body property.

protocolOptional
Send in
JSON body
Type
enum
Accepted values
tcp, udp
Example
tcp

Protocol request field. Allowed values: tcp, udp.

Validation and use: Optional Send this parameter as a JSON body property.

sourcesOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{}

Sources accepted by this endpoint while it performs: Create or update a firewall port restriction. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 5 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "action_on_other": "drop",
    "comment": "Managed by automation",
    "port": 80,
    "protocol": "tcp",
    "sources": {}
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/port-restrictions' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"protocol":"tcp","port":80,"action_on_other":"drop","comment":"Managed by automation"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "protocol": "tcp",
    "port": 80,
    "action_on_other": "drop",
    "comment": "Managed by automation"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/firewall/raw-configrootRead the raw firewall YAML config.

What this endpoint does

Read the raw firewall YAML config.

Endpoint

GET /v1/root/firewall/raw-config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/firewall/raw-config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/firewall/raw-configrootWrite the raw firewall YAML config.

What this endpoint does

Write the raw firewall YAML config.

Endpoint

POST /v1/root/firewall/raw-config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

contentOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
Example content

Text content to save.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "content": "Example content"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/raw-config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"content":"Example content"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "content": "Example content"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/firewall/rulesrootSave firewall rules configuration.

What this endpoint does

Save firewall rules configuration.

Operational guidance: Save firewall rules. Apply them separately with POST /v1/root/firewall/apply.

Endpoint

POST /v1/root/firewall/rules

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

rulesRequired
Send in
JSON body
Type
array
Accepted values
Any value matching array
Example
[{"action":"allow","port":80,"protocol":"tcp"}]

Firewall rule array.

Validation and use: Required Send this parameter as a JSON body property.

advanced_rulesOptional
Send in
JSON body
Type
array
Accepted values
Any value matching array
Example
[]

Advanced firewall rule array.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "rules": [
      {
        "action": "allow",
        "port": 80,
        "protocol": "tcp"
      }
    ],
    "advanced_rules": []
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/rules' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"rules":[{"action":"allow","port":80,"protocol":"tcp"}],"advanced_rules":[]}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Save empty ruleset
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "rules": [
      {
        "action": "allow",
        "port": 80,
        "protocol": "tcp"
      }
    ],
    "advanced_rules": []
  }
}
Save empty ruleset
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "rules": [
      {
        "action": "allow",
        "port": 80,
        "protocol": "tcp"
      }
    ],
    "advanced_rules": []
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/firewall/servicerootRun a firewall service action.

What this endpoint does

Run a firewall service action.

Endpoint

POST /v1/root/firewall/service

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

cmdOptional
Send in
JSON body
Type
enum
Accepted values
start, stop, restart, enable, disable
Example
start

Cmd request field. Allowed values: start, stop, restart, enable, disable.

Validation and use: Optional Send this parameter as a JSON body property.

unitOptional
Send in
JSON body
Type
enum
Accepted values
synconix-intrusion-monitor, firewalld
Example
synconix-intrusion-monitor

Unit request field. Allowed values: synconix-intrusion-monitor, firewalld.

Validation and use: Optional Send this parameter as a JSON body property.

Supported actions and option sets

cmd values (5)
startstoprestartenabledisable
unit values (2)
firewalldsynconix-intrusion-monitor

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "cmd": "start",
    "unit": "synconix-intrusion-monitor"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/firewall/service' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"unit":"synconix-intrusion-monitor","cmd":"start"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "unit": "synconix-intrusion-monitor",
    "cmd": "start"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/firewall/summaryrootRead firewall summary and counters.

What this endpoint does

Read firewall summary and counters.

Endpoint

GET /v1/root/firewall/summary

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/firewall/summary' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

License

POST/v1/license/keyrootValidate and save a SHM license key for lockout recovery.

What this endpoint does

Validate and save a SHM license key for lockout recovery.

Operational guidance: Activate SHM with a Synconix licensing install token. Alias fields are accepted for lockout recovery compatibility.

Endpoint

POST /v1/license/key

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (6)

activation_tokenRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ONE_TIME_TOKEN

Synconix licensing install/activation token. Alias fields: install_token, token, licensekey, license.

Validation and use: Required Send this parameter as a JSON body property.

install_tokenOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ONE_TIME_TOKEN

Alias of activation_token.

Validation and use: Optional Send this parameter as a JSON body property.

license_urlOptional
Send in
JSON body
Type
url|string
Accepted values
Any value matching url|string
Example
https://example.com

Trusted Synconix license service URL. Defaults to configured license URL.

Validation and use: Optional Send this parameter as a JSON body property.

machine_idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Machine binding override. Defaults to detected machine id.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned machine_id value.

product_versionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
current

Product version override for activation. Defaults to detected SHM version.

Validation and use: Optional Send this parameter as a JSON body property.

tokenOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ONE_TIME_TOKEN

Alias of activation_token.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 6 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "activation_token": "ONE_TIME_TOKEN",
    "install_token": "ONE_TIME_TOKEN",
    "license_url": "https://example.com",
    "machine_id": 1,
    "product_version": "current",
    "token": "ONE_TIME_TOKEN"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/license/key' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"activation_token":"ONE_TIME_TOKEN"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Activate with install token
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "activation_token": "ONE_TIME_TOKEN"
  }
}
Activate with install token
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "activation_token": "ONE_TIME_TOKEN"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/license/refreshrootRefresh the SHM local license cache for lockout recovery.

What this endpoint does

Refresh the SHM local license cache for lockout recovery.

Endpoint

POST /v1/license/refresh

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/license/refresh' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/license/statusrootRead the current SHM license status for lockout recovery.

What this endpoint does

Read the current SHM license status for lockout recovery.

Endpoint

GET /v1/license/status

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/license/status' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/license/keyrootUpdate the authenticated root license key.

What this endpoint does

Update the authenticated root license key.

Operational guidance: Activate SHM from the authenticated root license page with a Synconix licensing install token.

Endpoint

POST /v1/root/license/key

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (6)

activation_tokenRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ONE_TIME_TOKEN

Synconix licensing install/activation token. Alias fields: install_token, token, licensekey, license.

Validation and use: Required Send this parameter as a JSON body property.

install_tokenOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ONE_TIME_TOKEN

Alias of activation_token.

Validation and use: Optional Send this parameter as a JSON body property.

license_urlOptional
Send in
JSON body
Type
url|string
Accepted values
Any value matching url|string
Example
https://example.com

Trusted Synconix license service URL. Defaults to configured license URL.

Validation and use: Optional Send this parameter as a JSON body property.

machine_idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Machine binding override. Defaults to detected machine id.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned machine_id value.

product_versionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
current

Product version override for activation. Defaults to detected SHM version.

Validation and use: Optional Send this parameter as a JSON body property.

tokenOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ONE_TIME_TOKEN

Alias of activation_token.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 6 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "activation_token": "ONE_TIME_TOKEN",
    "install_token": "ONE_TIME_TOKEN",
    "license_url": "https://example.com",
    "machine_id": 1,
    "product_version": "current",
    "token": "ONE_TIME_TOKEN"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/license/key' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"activation_token":"ONE_TIME_TOKEN"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Activate with install token
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "activation_token": "ONE_TIME_TOKEN"
  }
}
Activate with install token
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "activation_token": "ONE_TIME_TOKEN"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/license/refreshrootClear and refresh the authenticated root license cache.

What this endpoint does

Clear and refresh the authenticated root license cache.

Endpoint

POST /v1/root/license/refresh

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/license/refresh' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/license/staterootRead the authenticated root license state.

What this endpoint does

Read the authenticated root license state.

Endpoint

GET /v1/root/license/state

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/license/state' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

Logs

GET/v1/root/logsrootFetch log content.

What this endpoint does

Fetch log content.

Operational guidance: Fetch root-visible log content. This endpoint can read account logs or server logs under one route.

Endpoint

GET /v1/root/logs

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (13)

logTypeRequired
Send in
Query string
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Log type. Allowed values for account logs: access, error, modsecurity, http_guard, ftp, login, mail_auth. Allowed values for server logs: srv_apache, srv_nginx, srv_exim, srv_firewall, srv_mariadb, srv_messages, srv_auth, srv_powerdns, srv_journal. Alias: log_type. Allowed values: access, error, modsecurity, http_guard, ftp, login, mail_auth.

Validation and use: Required Send this parameter in the query string.

account_userConditional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
demo

Required for account logs. Alias: user.

Validation and use: Conditional Send this parameter in the query string. Contract requirement: context.

actionOptional
Send in
Query string
Type
enum
Accepted values
DownloadLog
Example
DownloadLog

Requested action name. Allowed values: DownloadLog. Omit it for normal log-content fetch.

Validation and use: Optional Send this parameter in the query string.

domainConditional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
example.com

Required for access, error, modsecurity, http_guard, or ftp account logs. Omit it for server logs, login, and mail_auth logs.

Validation and use: Conditional Send this parameter in the query string. Contract requirement: context.

downloadOptional
Send in
Query string
Type
enum
Accepted values
DownloadLog
Example
DownloadLog

Alias of action=DownloadLog. Allowed values: DownloadLog.

Validation and use: Optional Send this parameter in the query string.

fileOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
error.log

Explicit server-log file name from GET /v1/root/logs/files.

Validation and use: Optional Send this parameter in the query string. Use the relevant list/read endpoint for this resource and copy the returned file name.

fileB64Optional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
YWNjZXNzLmxvZw==

Base64-encoded absolute server-log path returned by GET /v1/root/logs/files. Alias: file_b64.

Validation and use: Optional Send this parameter in the query string. GET /v1/accounts/{username}/logs/files

file_b64Optional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
YWNjZXNzLmxvZw==

Alias of fileB64.

Validation and use: Optional Send this parameter in the query string. GET /v1/accounts/{username}/logs/files

ftpAccountOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Alias of ftp_account.

Validation and use: Optional Send this parameter in the query string. GET /v1/accounts/{username}/ftp

ftp_accountOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Optional FTP account filter when logType=ftp. Alias: ftpAccount.

Validation and use: Optional Send this parameter in the query string. GET /v1/accounts/{username}/ftp

linesOptional
Send in
Query string
Type
int|string|integer
Accepted values
Any value matching int|string|integer
Example
300

Number of lines to return. Number of log lines to return. Default 500. Max 20000.

Validation and use: Optional Send this parameter in the query string.

log_typeOptional
Send in
Query string
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Log type. Alias of logType. Prefer logType. Allowed values: access, error, modsecurity, http_guard, ftp, login, mail_auth.

Validation and use: Optional Send this parameter in the query string.

userOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
demo

Alias of account_user.

Validation and use: Optional Send this parameter in the query string.

Complete request template

This reference template contains all 13 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {
    "logType": "access",
    "account_user": "demo",
    "action": "DownloadLog",
    "domain": "example.com",
    "download": "DownloadLog",
    "file": "error.log",
    "fileB64": "YWNjZXNzLmxvZw==",
    "file_b64": "YWNjZXNzLmxvZw==",
    "ftpAccount": "deploy@example.com",
    "ftp_account": "deploy@example.com",
    "lines": 300,
    "log_type": "access",
    "user": "demo"
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/logs?logType=access&lines=300' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Read recent server Apache log lines
{
  "path_parameters": {},
  "query_parameters": {
    "logType": "access",
    "lines": 300
  },
  "json_body": {}
}
Read recent account access log lines
{
  "path_parameters": {},
  "query_parameters": {
    "account_user": "demo",
    "logType": "access",
    "domain": "example.com",
    "lines": 500
  },
  "json_body": {}
}
Download a server log file
{
  "path_parameters": {},
  "query_parameters": {
    "logType": "access",
    "action": "DownloadLog"
  },
  "json_body": {}
}
Read recent server Apache log lines
{
  "path_parameters": {},
  "query_parameters": {
    "logType": "access",
    "lines": 300
  },
  "json_body": {}
}
Read recent account access log lines
{
  "path_parameters": {},
  "query_parameters": {
    "account_user": "demo",
    "logType": "access",
    "domain": "example.com",
    "lines": 500
  },
  "json_body": {}
}
Download a server log file
{
  "path_parameters": {},
  "query_parameters": {
    "logType": "access",
    "action": "DownloadLog"
  },
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/logsrootFetch log content.

What this endpoint does

Fetch log content.

Operational guidance: POST form of GET /v1/root/logs with the same accepted fields.

Endpoint

POST /v1/root/logs

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (13)

logTypeRequired
Send in
JSON body
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Log type. Allowed values for account logs: access, error, modsecurity, http_guard, ftp, login, mail_auth. Allowed values for server logs: srv_apache, srv_nginx, srv_exim, srv_firewall, srv_mariadb, srv_messages, srv_auth, srv_powerdns, srv_journal. Alias: log_type. Allowed values: access, error, modsecurity, http_guard, ftp, login, mail_auth.

Validation and use: Required Send this parameter as a JSON body property.

account_userConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Required for account logs. Alias: user.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: context.

actionOptional
Send in
JSON body
Type
enum
Accepted values
DownloadLog
Example
DownloadLog

Requested action name. Allowed values: DownloadLog. Omit it for normal log-content fetch.

Validation and use: Optional Send this parameter as a JSON body property.

domainConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.com

Required for access, error, modsecurity, http_guard, or ftp account logs. Omit it for server logs, login, and mail_auth logs.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: context.

downloadOptional
Send in
JSON body
Type
enum
Accepted values
DownloadLog
Example
DownloadLog

Alias of action=DownloadLog. Allowed values: DownloadLog.

Validation and use: Optional Send this parameter as a JSON body property.

fileOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
error.log

Explicit server-log file name from GET /v1/root/logs/files.

Validation and use: Optional Send this parameter as a JSON body property. Use the relevant list/read endpoint for this resource and copy the returned file name.

fileB64Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
YWNjZXNzLmxvZw==

Base64-encoded absolute server-log path returned by GET /v1/root/logs/files. Alias: file_b64.

Validation and use: Optional Send this parameter as a JSON body property. GET /v1/accounts/{username}/logs/files

file_b64Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
YWNjZXNzLmxvZw==

Alias of fileB64.

Validation and use: Optional Send this parameter as a JSON body property. GET /v1/accounts/{username}/logs/files

ftpAccountOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Alias of ftp_account.

Validation and use: Optional Send this parameter as a JSON body property. GET /v1/accounts/{username}/ftp

ftp_accountOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Optional FTP account filter when logType=ftp. Alias: ftpAccount.

Validation and use: Optional Send this parameter as a JSON body property. GET /v1/accounts/{username}/ftp

linesOptional
Send in
JSON body
Type
int|string|integer
Accepted values
Any value matching int|string|integer
Example
200

Number of lines to return. Number of log lines to return. Default 500. Max 20000.

Validation and use: Optional Send this parameter as a JSON body property.

log_typeOptional
Send in
JSON body
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Log type. Alias of logType. Prefer logType. Allowed values: access, error, modsecurity, http_guard, ftp, login, mail_auth.

Validation and use: Optional Send this parameter as a JSON body property.

userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Alias of account_user.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 13 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "logType": "access",
    "account_user": "demo",
    "action": "DownloadLog",
    "domain": "example.com",
    "download": "DownloadLog",
    "file": "error.log",
    "fileB64": "YWNjZXNzLmxvZw==",
    "file_b64": "YWNjZXNzLmxvZw==",
    "ftpAccount": "deploy@example.com",
    "ftp_account": "deploy@example.com",
    "lines": 200,
    "log_type": "access",
    "user": "demo"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/logs' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"logType":"access"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "logType": "access"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/logs/contextrootFetch logs page context.

What this endpoint does

Fetch logs page context.

Endpoint

GET /v1/root/logs/context

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/logs/context' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

GET/v1/root/logs/filesrootList log files.

What this endpoint does

List log files.

Operational guidance: List root-visible log files. This endpoint supports both account logs and server logs under one route.

Endpoint

GET /v1/root/logs/files

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (7)

logTypeRequired
Send in
Query string
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Log type. Allowed values for account logs: access, error, modsecurity, http_guard, ftp, login, mail_auth. Allowed values for server logs: srv_apache, srv_nginx, srv_exim, srv_firewall, srv_mariadb, srv_messages, srv_auth, srv_powerdns, srv_journal. Alias: log_type. Allowed values: access, error, modsecurity, http_guard, ftp, login, mail_auth.

Validation and use: Required Send this parameter in the query string.

account_userConditional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
demo

Required for account logs. Alias: user.

Validation and use: Conditional Send this parameter in the query string. Contract requirement: context.

domainConditional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
example.com

Required for access, error, modsecurity, http_guard, or ftp account logs. Omit it for server logs, login, and mail_auth logs.

Validation and use: Conditional Send this parameter in the query string. Contract requirement: context.

ftpAccountOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Alias of ftp_account.

Validation and use: Optional Send this parameter in the query string. GET /v1/accounts/{username}/ftp

ftp_accountOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Optional FTP account filter when logType=ftp. Alias: ftpAccount.

Validation and use: Optional Send this parameter in the query string. GET /v1/accounts/{username}/ftp

log_typeOptional
Send in
Query string
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Log type. Alias of logType. Prefer logType. Allowed values: access, error, modsecurity, http_guard, ftp, login, mail_auth.

Validation and use: Optional Send this parameter in the query string.

userOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
demo

Alias of account_user.

Validation and use: Optional Send this parameter in the query string.

Complete request template

This reference template contains all 7 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {
    "logType": "access",
    "account_user": "demo",
    "domain": "example.com",
    "ftpAccount": "deploy@example.com",
    "ftp_account": "deploy@example.com",
    "log_type": "access",
    "user": "demo"
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/logs/files?account_user=demo&logType=access&domain=example.com' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

List account access logs
{
  "path_parameters": {},
  "query_parameters": {
    "account_user": "demo",
    "logType": "access",
    "domain": "example.com"
  },
  "json_body": {}
}
List server Apache logs
{
  "path_parameters": {},
  "query_parameters": {
    "logType": "access"
  },
  "json_body": {}
}
List account access logs
{
  "path_parameters": {},
  "query_parameters": {
    "account_user": "demo",
    "logType": "access",
    "domain": "example.com"
  },
  "json_body": {}
}
List server Apache logs
{
  "path_parameters": {},
  "query_parameters": {
    "logType": "access"
  },
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/logs/filesrootList log files.

What this endpoint does

List log files.

Operational guidance: POST form of GET /v1/root/logs/files with the same accepted fields.

Endpoint

POST /v1/root/logs/files

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (7)

logTypeRequired
Send in
JSON body
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Log type. Allowed values for account logs: access, error, modsecurity, http_guard, ftp, login, mail_auth. Allowed values for server logs: srv_apache, srv_nginx, srv_exim, srv_firewall, srv_mariadb, srv_messages, srv_auth, srv_powerdns, srv_journal. Alias: log_type. Allowed values: access, error, modsecurity, http_guard, ftp, login, mail_auth.

Validation and use: Required Send this parameter as a JSON body property.

account_userConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Required for account logs. Alias: user.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: context.

domainConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.com

Required for access, error, modsecurity, http_guard, or ftp account logs. Omit it for server logs, login, and mail_auth logs.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: context.

ftpAccountOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Alias of ftp_account.

Validation and use: Optional Send this parameter as a JSON body property. GET /v1/accounts/{username}/ftp

ftp_accountOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Optional FTP account filter when logType=ftp. Alias: ftpAccount.

Validation and use: Optional Send this parameter as a JSON body property. GET /v1/accounts/{username}/ftp

log_typeOptional
Send in
JSON body
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Log type. Alias of logType. Prefer logType. Allowed values: access, error, modsecurity, http_guard, ftp, login, mail_auth.

Validation and use: Optional Send this parameter as a JSON body property.

userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Alias of account_user.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 7 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "logType": "access",
    "account_user": "demo",
    "domain": "example.com",
    "ftpAccount": "deploy@example.com",
    "ftp_account": "deploy@example.com",
    "log_type": "access",
    "user": "demo"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/logs/files' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"logType":"access"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "logType": "access"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Mail Queue

POST/v1/root/mail-queue/deleterootDelete one Exim queue message.

What this endpoint does

Delete one Exim queue message.

Endpoint

POST /v1/root/mail-queue/delete

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Resource ID.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned id value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "id": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/mail-queue/delete' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"id":1}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "id": 1
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/mail-queue/delete-allrootDelete all Exim queue messages.

What this endpoint does

Delete all Exim queue messages.

Endpoint

POST /v1/root/mail-queue/delete-all

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/mail-queue/delete-all' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/mail-queue/delete-selectedrootDelete selected Exim queue messages.

What this endpoint does

Delete selected Exim queue messages.

Endpoint

POST /v1/root/mail-queue/delete-selected

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

idsOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1,2

Ids accepted by this endpoint while it performs: Delete selected Exim queue messages. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "ids": "1,2"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/mail-queue/delete-selected' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"ids":"1,2"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "ids": "1,2"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/mail-queue/listrootList Exim queue rows.

What this endpoint does

List Exim queue rows.

Endpoint

POST /v1/root/mail-queue/list

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

drawOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

DataTables draw counter.

Validation and use: Optional Send this parameter as a JSON body property.

lengthOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
25

Page size.

Validation and use: Optional Send this parameter as a JSON body property.

startOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
0

Row offset.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "draw": 1,
    "length": 25,
    "start": 0
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/mail-queue/list' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"start":0,"length":25,"draw":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "start": 0,
    "length": 25,
    "draw": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/mail-queue/messagerootFetch one Exim queue message.

What this endpoint does

Fetch one Exim queue message.

Endpoint

POST /v1/root/mail-queue/message

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Resource ID.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned id value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "id": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/mail-queue/message' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"id":1}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "id": 1
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/mail-queue/resendrootResend one Exim queue message.

What this endpoint does

Resend one Exim queue message.

Endpoint

POST /v1/root/mail-queue/resend

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Resource ID.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned id value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "id": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/mail-queue/resend' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"id":1}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "id": 1
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Maintenance

POST/v1/root/maintenance/storage-cleanuprootPrepare or apply one root-only, one-use storage cleanup plan. Preview is non-mutating. Apply accepts only the returned 15-minute token and runs bounded fixed actions for package caches, journals, expired files in /tmp and /var/tmp, and already-rotated SHM-owned logs. It never accepts a host path or shell command and does not run global tmpfiles or global logrotate configuration.

What this endpoint does

Prepare or apply one root-only, one-use storage cleanup plan. Preview is non-mutating. Apply accepts only the returned 15-minute token and runs bounded fixed actions for package caches, journals, expired files in /tmp and /var/tmp, and already-rotated SHM-owned logs. It never accepts a host path or shell command and does not run global tmpfiles or global logrotate configuration.

Operational guidance: Root-only two-step storage cleanup. Call preview first to measure only the fixed supported areas and receive a 15-minute one-use plan token. Apply only that exact token after explicit confirmation. The endpoint accepts no path or shell command, never traverses customer homes or configured backup roots, and limits log cleanup to already-rotated SHM-owned logs.

Endpoint

POST /v1/root/maintenance/storage-cleanup

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (4)

actionsConditional
Send in
JSON body
Type
array|string|csv string
Accepted values
package_cache, journal, temporary_files, logs
Example
["package_cache","journal","temporary_files","logs"]

Fixed preview action set: package_cache, journal, temporary_files, logs. Omit to include all four. Explicitly empty, unknown, or malformed values are rejected.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: optional for preview; forbidden for apply.

journal_retain_daysConditional
Send in
JSON body
Type
integer
Accepted values
Any value matching integer
Example
14

Journal retention saved into the plan. Range 7-90 days; default 14.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: optional for preview; forbidden for apply.

modeOptional
Send in
JSON body
Type
enum
Accepted values
preview, apply
Example
preview

Operation mode. Defaults to preview. Preview creates no file changes; apply consumes one exact plan_token.

Validation and use: Optional Send this parameter as a JSON body property.

plan_tokenConditional
Send in
JSON body
Type
48-character string
Accepted values
Any value matching 48-character string
Example
ONE_TIME_TOKEN

Exact one-use token returned by preview. It expires after 15 minutes and cannot be replayed after consumption.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: required when mode=apply.

Complete request template

This reference template contains all 4 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "actions": [
      "package_cache",
      "journal",
      "temporary_files",
      "logs"
    ],
    "journal_retain_days": 14,
    "mode": "preview",
    "plan_token": "ONE_TIME_TOKEN"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/maintenance/storage-cleanup' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"mode":"preview","actions":["package_cache","journal","temporary_files","logs"],"journal_retain_days":14}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Preview safe cleanup
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "mode": "preview",
    "actions": [
      "package_cache",
      "journal",
      "temporary_files",
      "logs"
    ],
    "journal_retain_days": 14
  }
}
Apply the exact approved plan
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "mode": "apply",
    "plan_token": "ONE_TIME_TOKEN"
  }
}
Preview all safe cleanup actions
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "mode": "preview",
    "journal_retain_days": 14
  }
}
Preview selected fixed actions
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "mode": "preview",
    "actions": [
      "package_cache",
      "temporary_files",
      "logs"
    ]
  }
}
Apply an explicitly approved plan
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "mode": "apply",
    "plan_token": "ONE_TIME_TOKEN"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

FieldDocumented type or shape
modepreview|apply
plan_tokenone-use plan token
actionspreview action names or per-action apply results
protected_pathscustomer home and configured backup roots excluded by the fixed action contract
customer_backup_paths_touchedalways 0 for the fixed action implementation
free_bytes_beforeapply-only root filesystem free bytes before actions
free_bytes_afterapply-only root filesystem free bytes after actions
verification.complete1 only when every fixed action succeeded and free space was measured again

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Migration

GET/v1/root/migration/contextrootFetch migration form context.

What this endpoint does

Fetch migration form context.

Endpoint

GET /v1/root/migration/context

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/migration/context' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

GET/v1/root/migration/jobsrootList root migration jobs.

What this endpoint does

List root migration jobs.

Operational guidance: List root migration jobs using the safe UI/API projection. The response includes job identity, source mode/platform, non-secret server identity, options, progress, status, integrity summaries, and account identity/progress. Stored credentials, password hashes, private keys, database dumps, Roundcube database blobs, tokens, and provider secrets are never returned.

Endpoint

GET /v1/root/migration/jobs

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/migration/jobs' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

List migration jobs
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}
List migration jobs
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

FieldDocumented type or shape
jobs[]Migration job objects. Completed accounts may include integrity_status (ok|warning|error), integrity_errors[], integrity_warnings[], integrity_summary, and integrity_checked_at. live_counts may include integrity_errors and integrity_warnings totals.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/migration/jobsrootCreate a migration job.

What this endpoint does

Create a migration job.

Operational guidance: Create and immediately queue a root migration job. Remote mode requires server_* plus selected_accounts. Remote cPanel job creation re-runs the cPanel license and WHM API preflight and fails before saving the job when that control plane is unavailable. Selected-resource hydration fails closed on SSH/API/truncation or malformed authoritative metadata, while a valid empty provider response remains an empty resource list. Archive mode supports cPanel and SHM only and requires archive_path or archive_url. DirectAdmin and Plesk do not currently hydrate provider-specific mailing lists, per-mailbox filters, autoresponders, or Roundcube state. PostgreSQL copy is supported only for remote cPanel, remote SHM, and cPanel archives whose valid globally unique login roles include compatible SCRAM-SHA-256 verifiers; Plesk, DirectAdmin, SHM archives, reserved/system roles, missing/MD5 verifiers, unmanaged names, and destination ownership conflicts are rejected before live PostgreSQL mutation. Unsupported requested options are rejected before job state is created. Long copy/import work runs asynchronously; poll GET /v1/root/migration/jobs/{job_id}.

Endpoint

POST /v1/root/migration/jobs

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (50)

source_modeRequired
Send in
JSON body
Type
enum
Accepted values
remote, archive
Example
remote

Migration source mode. remote scans and gathers over SSH; archive imports one local/downloaded backup.

Validation and use: Required Send this parameter as a JSON body property.

source_platformRequired
Send in
JSON body
Type
enum
Accepted values
cpanel, shm, plesk, directadmin
Example
cpanel

Source platform. Archive mode accepts only cpanel or shm; remote mode accepts all four values.

Validation and use: Required Send this parameter as a JSON body property.

archive_pathConditional
Send in
JSON body
Type
absolute path|string
Accepted values
Any value matching absolute path|string
Example
/root/cpmove-demoacct.tar.gz

Existing local backup archive under /root. cPanel accepts cpmove-USER.tar.gz or backup-DATE_TIME_USER.tar.gz and imports Mailman list definitions, but not non-portable Mailman member/settings state from config.pck. SHM requires structure/account.yaml; SHM archives do not carry a restorable PostgreSQL password verifier and therefore reject copy_pgsql.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: required when source mode=archive and archive url is omitted.

archive_urlConditional
Send in
JSON body
Type
HTTP(S) URL|string
Accepted values
Any value matching HTTP(S) URL|string
Example
https://example.com

Direct HTTP or HTTPS backup URL downloaded into a private task-owned directory under /root. URL userinfo/query credentials are used only for the download and are not stored in the job or returned by the API.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: required when source mode=archive and archive path is omitted.

concurrent_accountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string; default: 1
Example
2

Maximum accounts migrated concurrently. Range: 1-10. Default: 1.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 10. Default: 1.

conflict_account_policyOptional
Send in
JSON body
Type
enum
Accepted values
skip, overwrite
Example
skip

Existing target account policy. skip leaves it untouched; overwrite reuses the existing account through the migration-safe path.

Validation and use: Optional Send this parameter as a JSON body property. Default: skip.

conflict_dns_policyOptional
Send in
JSON body
Type
enum
Accepted values
keep_existing, overwrite
Example
keep_existing

Existing DNS zone policy. overwrite explicitly replaces target/local cluster zones.

Validation and use: Optional Send this parameter as a JSON body property. Default: keep_existing.

conflict_domain_policyOptional
Send in
JSON body
Type
enum
Accepted values
skip_account, skip_domain
Example
skip_account

Domain collision policy. skip_account stops that account; skip_domain omits only conflicting secondary domains where safe.

Validation and use: Optional Send this parameter as a JSON body property. Default: skip_account.

copy_dataOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Copy account home/web data.

Validation and use: Optional Send this parameter as a JSON body property. Default: false.

copy_dnsonlyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
false

Remote cPanel/SHM only: queue the job-level DNS-only zone copy. Plesk, DirectAdmin, and archive jobs reject this option before changing job state.

Validation and use: Optional Send this parameter as a JSON body property. Default: false.

copy_mailOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Copy mailbox message data after mailbox metadata is created.

Validation and use: Optional Send this parameter as a JSON body property. Default: false.

copy_mysqlOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Export/import MySQL database contents after database metadata is created.

Validation and use: Optional Send this parameter as a JSON body property. Default: false.

copy_pgsqlOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Export/import PostgreSQL metadata and contents. Supported only for remote cPanel, remote SHM, and cPanel archives. Every database/user name must be a valid globally unique PostgreSQL identifier, every login must be non-system and provide a valid SCRAM-SHA-256 verifier, and each destination name must be unclaimed or already owned by the target account for retry. Plesk, DirectAdmin, SHM archives, reserved/system roles, MD5/missing/invalid verifiers, and destination ownership conflicts are rejected fail-closed before live PostgreSQL mutation. Verifiers are worker-only secrets and are never returned by migration job APIs or stored in destination account YAML.

Validation and use: Optional Send this parameter as a JSON body property. Default: false.

selected_accountsConditional
Send in
JSON body
Type
array<object>
Accepted values
Any value matching array<object>
Example
[{"user":"demoacct","domain":"example.com","partition":"home","owner":"root","disklimit":2048,"maxaddons":10,"maxparked":10,"maxsub":20,"maxsql":10,"maxpop":20,"maxftp":10,"maxlst":5,"shell":"/sbin/nologin","suspended":0}]

One or more account objects returned by POST /v1/root/migration/scan. Required and non-empty in remote mode.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: required when source mode=remote.

selected_accounts[].account_keyOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
account_demo

SHM canonical account YAML key returned by an SHM scan.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].disklimitOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Source disk quota in MB; -1 means unlimited.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].diskusedOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Source disk usage in MB for display/projection.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].domainConditional
Send in
JSON body
Type
domain|string
Accepted values
Any value matching domain|string
Example
example.com

Source account main domain.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: required in selected accounts.

selected_accounts[].emailOptional
Send in
JSON body
Type
email|string
Accepted values
Any value matching email|string
Example
admin@example.com

Source account contact email.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].idOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

SHM source account ID returned by an SHM scan.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].inodeslimitOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Inode limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].ipOptional
Send in
JSON body
Type
IP|string
Accepted values
Any value matching IP|string
Example
192.0.2.10

Source account IP. Used only when use_source_ip is enabled and the address is valid locally.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].max_email_per_hourOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Outbound email-per-hour limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].maxaddonsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Addon-domain limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].maxcpuOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

CPU limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].maxdiskOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Disk bandwidth limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].maxftpOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

FTP account limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].maxioOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

IOPS limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].maxlstOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Mailing-list limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].maxmemOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Memory limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].maxparkedOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Parked-domain limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].maxpopOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Mailbox limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].maxprocOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Process limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].maxsqlOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

MySQL database limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].maxsubOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Subdomain limit.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].ownerOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
root

Source reseller owner; root is used when no mapped reseller applies.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].partitionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
home

Source home partition, normally home.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].resellerOptional
Send in
JSON body
Type
object
Accepted values
Any value matching object
Example
{}

Optional reseller metadata object, including enabled, maxaccounts, and maxdiskspace.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].shadowOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
PASSWORD_HASH_FROM_SOURCE

Source system password hash when the scan/provider exposes it.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].shellOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
/sbin/nologin

Source shell path/state. /bin/bash enables shell; /sbin/nologin disables it.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].subscriptionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
192.0.2.10

Plesk subscription name returned by a Plesk scan.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].suspendedOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Whether the source account is suspended.

Validation and use: Optional Send this parameter as a JSON body property.

selected_accounts[].userConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Source account/system username. Must be unique within the job.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: required in selected accounts.

selected_ipOptional
Send in
JSON body
Type
IP|string
Accepted values
Any value matching IP|string
Example
203.0.113.10

Target IP override. Empty uses the configured shared IP unless use_source_ip can safely preserve the source IP.

Validation and use: Optional Send this parameter as a JSON body property.

selected_ownerOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Target owner override. Empty preserves/maps source ownership where supported.

Validation and use: Optional Send this parameter as a JSON body property.

selected_packageOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Target SHM package identifier applied to migrated accounts.

Validation and use: Optional Send this parameter as a JSON body property.

server_hostnameConditional
Send in
JSON body
Type
hostname|IP|string
Accepted values
Any value matching hostname|IP|string
Example
cpanel-source.example.com

Remote SSH hostname or IP. Required in remote mode.

Validation and use: Conditional Send this parameter as a JSON body property. Contract requirement: required when source mode=remote.

server_passwordOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

Remote root SSH password. Omit to use supported root key authentication.

Validation and use: Optional Send this parameter as a JSON body property.

server_portOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string; default: 22
Example
22

Remote SSH port in remote mode. Range: 1-65535. Default: 22.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 65535. Default: 22.

use_source_ipOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
false

Preserve a valid source account IP when available; otherwise use selected_ip/shared IP.

Validation and use: Optional Send this parameter as a JSON body property. Default: false.

Complete request template

This reference template contains all 50 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_mode": "remote",
    "source_platform": "cpanel",
    "archive_path": "/root/cpmove-demoacct.tar.gz",
    "archive_url": "https://example.com",
    "concurrent_accounts": 2,
    "conflict_account_policy": "skip",
    "conflict_dns_policy": "keep_existing",
    "conflict_domain_policy": "skip_account",
    "copy_data": true,
    "copy_dnsonly": false,
    "copy_mail": true,
    "copy_mysql": true,
    "copy_pgsql": true,
    "selected_accounts": [
      {
        "user": "demoacct",
        "domain": "example.com",
        "partition": "home",
        "owner": "root",
        "disklimit": 2048,
        "maxaddons": 10,
        "maxparked": 10,
        "maxsub": 20,
        "maxsql": 10,
        "maxpop": 20,
        "maxftp": 10,
        "maxlst": 5,
        "shell": "/sbin/nologin",
        "suspended": 0
      }
    ],
    "selected_accounts[].account_key": "account_demo",
    "selected_accounts[].disklimit": -1,
    "selected_accounts[].diskused": -1,
    "selected_accounts[].domain": "example.com",
    "selected_accounts[].email": "admin@example.com",
    "selected_accounts[].id": -1,
    "selected_accounts[].inodeslimit": -1,
    "selected_accounts[].ip": "192.0.2.10",
    "selected_accounts[].max_email_per_hour": -1,
    "selected_accounts[].maxaddons": -1,
    "selected_accounts[].maxcpu": -1,
    "selected_accounts[].maxdisk": -1,
    "selected_accounts[].maxftp": -1,
    "selected_accounts[].maxio": -1,
    "selected_accounts[].maxlst": -1,
    "selected_accounts[].maxmem": -1,
    "selected_accounts[].maxparked": -1,
    "selected_accounts[].maxpop": -1,
    "selected_accounts[].maxproc": -1,
    "selected_accounts[].maxsql": -1,
    "selected_accounts[].maxsub": -1,
    "selected_accounts[].owner": "root",
    "selected_accounts[].partition": "home",
    "selected_accounts[].reseller": {},
    "selected_accounts[].shadow": "PASSWORD_HASH_FROM_SOURCE",
    "selected_accounts[].shell": "/sbin/nologin",
    "selected_accounts[].subscription": "192.0.2.10",
    "selected_accounts[].suspended": 1,
    "selected_accounts[].user": "demo",
    "selected_ip": "203.0.113.10",
    "selected_owner": "demo",
    "selected_package": "1",
    "server_hostname": "cpanel-source.example.com",
    "server_password": "STRONG_PASSWORD",
    "server_port": 22,
    "use_source_ip": false
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/migration/jobs' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"source_mode":"remote","source_platform":"cpanel","server_hostname":"cpanel-source.example.com","server_port":22,"server_password":"STRONG_PASSWORD","selected_accounts":[{"user":"demoacct","domain":"example.com","partition":"home","owner":"root","disklimit":2048,"maxaddons":10,"maxparked":10,"maxsub":20,"maxsql":10,"maxpop":20,"maxftp":10,"maxlst":5,"shell":"/sbin/nologin","suspended":0}],"selected_package":"1","concurrent_accounts":2,"copy_data":true,"copy_mail":true,"copy_mysql":true,"copy_pgsql":true,"conflict_account_policy":"skip","conflict_domain_policy":"skip_account","conflict_dns_policy":"keep_existing"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Create remote cPanel migration job
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_mode": "remote",
    "source_platform": "cpanel",
    "server_hostname": "cpanel-source.example.com",
    "server_port": 22,
    "server_password": "STRONG_PASSWORD",
    "selected_accounts": [
      {
        "user": "demoacct",
        "domain": "example.com",
        "partition": "home",
        "owner": "root",
        "disklimit": 2048,
        "maxaddons": 10,
        "maxparked": 10,
        "maxsub": 20,
        "maxsql": 10,
        "maxpop": 20,
        "maxftp": 10,
        "maxlst": 5,
        "shell": "/sbin/nologin",
        "suspended": 0
      }
    ],
    "selected_package": "1",
    "concurrent_accounts": 2,
    "copy_data": true,
    "copy_mail": true,
    "copy_mysql": true,
    "copy_pgsql": true,
    "conflict_account_policy": "skip",
    "conflict_domain_policy": "skip_account",
    "conflict_dns_policy": "keep_existing"
  }
}
Create remote Plesk migration job
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_mode": "remote",
    "source_platform": "plesk",
    "server_hostname": "plesk-source.example.com",
    "server_port": 22,
    "selected_accounts": [
      {
        "user": "pleskuser",
        "domain": "plesk-example.com",
        "subscription": "plesk-example.com",
        "owner": "root"
      }
    ],
    "copy_data": true,
    "copy_mail": true,
    "copy_mysql": true
  }
}
Create cPanel archive migration job
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_mode": "archive",
    "source_platform": "cpanel",
    "archive_path": "/root/cpmove-demoacct.tar.gz",
    "selected_package": "1",
    "copy_data": true,
    "copy_mail": true,
    "copy_mysql": true,
    "copy_pgsql": true
  }
}
Create SHM archive migration job
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_mode": "archive",
    "source_platform": "shm",
    "archive_path": "/root/backup-shm-demoacct.tar.gz",
    "selected_package": "1",
    "copy_data": true,
    "copy_mail": true,
    "copy_mysql": true,
    "copy_pgsql": false
  }
}
Create remote cPanel migration job
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_mode": "remote",
    "source_platform": "cpanel",
    "server_hostname": "cpanel-source.example.com",
    "server_port": 22,
    "server_password": "STRONG_PASSWORD",
    "selected_accounts": [
      {
        "user": "demoacct",
        "domain": "example.com",
        "partition": "home",
        "owner": "root",
        "disklimit": 2048,
        "maxaddons": 10,
        "maxparked": 10,
        "maxsub": 20,
        "maxsql": 10,
        "maxpop": 20,
        "maxftp": 10,
        "maxlst": 5,
        "shell": "/sbin/nologin",
        "suspended": 0
      }
    ],
    "selected_package": "1",
    "concurrent_accounts": 2,
    "copy_data": true,
    "copy_mail": true,
    "copy_mysql": true,
    "copy_pgsql": true,
    "conflict_account_policy": "skip",
    "conflict_domain_policy": "skip_account",
    "conflict_dns_policy": "keep_existing"
  }
}
Create remote Plesk migration job
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_mode": "remote",
    "source_platform": "plesk",
    "server_hostname": "plesk-source.example.com",
    "server_port": 22,
    "selected_accounts": [
      {
        "user": "pleskuser",
        "domain": "plesk-example.com",
        "subscription": "plesk-example.com",
        "owner": "root"
      }
    ],
    "copy_data": true,
    "copy_mail": true,
    "copy_mysql": true
  }
}
Create cPanel archive migration job
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_mode": "archive",
    "source_platform": "cpanel",
    "archive_path": "/root/cpmove-demoacct.tar.gz",
    "selected_package": "1",
    "copy_data": true,
    "copy_mail": true,
    "copy_mysql": true,
    "copy_pgsql": true
  }
}
Create SHM archive migration job
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_mode": "archive",
    "source_platform": "shm",
    "archive_path": "/root/backup-shm-demoacct.tar.gz",
    "selected_package": "1",
    "copy_data": true,
    "copy_mail": true,
    "copy_mysql": true,
    "copy_pgsql": false
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/migration/jobs/{job_id}rootDelete a migration job.

What this endpoint does

Delete a migration job.

Endpoint

DELETE /v1/root/migration/jobs/{job_id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

job_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
job-id-from-previous-response

Job id that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path. Use the task/job id returned by the endpoint that started the async operation.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "job_id": "job-id-from-previous-response"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/migration/jobs/job-id-from-previous-response' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "job_id": "job-id-from-previous-response"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/migration/jobs/{job_id}rootRead one migration job.

What this endpoint does

Read one migration job.

Operational guidance: Read one root migration job using the same safe projection as the list endpoint. This endpoint is for status, progress, integrity, and recovery UI state; it never returns stored credentials or hydrated resource secrets.

Endpoint

GET /v1/root/migration/jobs/{job_id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

job_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
migjob_example

Migration job identifier returned by job creation or listing.

Validation and use: Required Replace this placeholder directly in the URL path. Use the task/job id returned by the endpoint that started the async operation.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/migration/jobs/migjob_example' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Read migration job status
{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Read migration job status
{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

FieldDocumented type or shape
jobMigration job object. Completed accounts may include integrity_status (ok|warning|error), integrity_errors[], integrity_warnings[], integrity_summary, and integrity_checked_at. live_counts may include integrity_errors and integrity_warnings totals.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/migration/jobs/{job_id}/selective-resyncrootQueue or start a migration selective re-sync.

What this endpoint does

Queue or start a migration selective re-sync.

Operational guidance: Re-run selected migration steps for one account or every account in an existing job. Use account_user=ALL for a clean job-wide restart. copy_dnsonly is a job-level step supported only by remote cPanel and remote SHM jobs; archive, Plesk, and DirectAdmin jobs reject it before changing job state. copy_pgsql is an account step supported only by remote cPanel, remote SHM, and cPanel archive jobs with valid globally unique identifiers, compatible non-system SCRAM credentials, and no destination ownership conflict; unsupported jobs are rejected before progress is reset. All other values are account steps.

Endpoint

POST /v1/root/migration/jobs/{job_id}/selective-resync

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (5)

job_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
migjob_example

Migration job identifier returned by job creation/listing.

Validation and use: Required Replace this placeholder directly in the URL path. Use the task/job id returned by the endpoint that started the async operation.

account_userRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demoacct

Target account username or ALL to re-run all matching accounts.

Validation and use: Required Send this parameter as a JSON body property.

stepsRequired
Send in
JSON body
Type
enum
Accepted values
create_account, create_subdomains, create_addons, create_parked, create_dns, create_emailaccounts, create_emailforwarders, create_mailinglists, create_emailfilters, create_emailautoresponders, create_ftpaccounts, create_databases, create_databaseusers, create_cronjobs, copy_ssl, copy_mysql, copy_pgsql, copy_data, copy_mail, copy_dnsonly
Example
["copy_dnsonly"]

Non-empty unique step list. Values outside the documented list are ignored; the request fails if no valid step remains. copy_dnsonly is accepted only for remote cPanel and remote SHM jobs. copy_pgsql is accepted only for remote cPanel, remote SHM, and cPanel archive jobs that satisfy the documented identifier/SCRAM/ownership contract; unsupported legacy jobs are rejected before progress is reset.

Validation and use: Required Send this parameter as a JSON body property.

concurrent_accountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
2

Optional concurrency override for the restarted job. Clamped to 1-10.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 10.

full_resetOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Reset selected step state even when prior progress exists.

Validation and use: Optional Send this parameter as a JSON body property. Default: false.

Complete request template

This reference template contains all 5 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "demoacct",
    "steps": [
      "copy_dnsonly"
    ],
    "concurrent_accounts": 2,
    "full_reset": true
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/migration/jobs/migjob_example/selective-resync' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"account_user":"demoacct","steps":["copy_dnsonly"],"full_reset":true}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Re-sync mail resources for one account
{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "demoacct",
    "steps": [
      "copy_dnsonly"
    ],
    "full_reset": true
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Clean restart data and databases for all accounts
{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "ALL",
    "steps": [
      "copy_dnsonly"
    ],
    "concurrent_accounts": 2,
    "full_reset": true
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Re-run job-level DNS-only copy
{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "ALL",
    "steps": [
      "copy_dnsonly"
    ]
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Re-sync mail resources for one account
{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "demoacct",
    "steps": [
      "copy_dnsonly"
    ],
    "full_reset": true
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Clean restart data and databases for all accounts
{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "ALL",
    "steps": [
      "copy_dnsonly"
    ],
    "concurrent_accounts": 2,
    "full_reset": true
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Re-run job-level DNS-only copy
{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "ALL",
    "steps": [
      "copy_dnsonly"
    ]
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/migration/jobs/{job_id}/startrootStart or resume a migration job.

What this endpoint does

Start or resume a migration job.

Operational guidance: Start or resume the coordinator for an existing pending/stale migration job. The call is idempotent while a matching coordinator/runner or a recent launch claim is active. Explicitly stopped jobs remain stopped; use selective re-sync for an intentional post-stop retry.

Endpoint

POST /v1/root/migration/jobs/{job_id}/start

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

job_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
migjob_example

Migration job identifier returned by job creation/listing.

Validation and use: Required Replace this placeholder directly in the URL path. Use the task/job id returned by the endpoint that started the async operation.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/migration/jobs/migjob_example/start' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Resume a pending or stale migration coordinator
{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Resume a pending or stale migration coordinator
{
  "path_parameters": {
    "job_id": "migjob_example"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/migration/jobs/{job_id}/stoprootStop a migration job.

What this endpoint does

Stop a migration job.

Endpoint

POST /v1/root/migration/jobs/{job_id}/stop

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

job_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
job-id-from-previous-response

Job id that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path. Use the task/job id returned by the endpoint that started the async operation.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "job_id": "job-id-from-previous-response"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/migration/jobs/job-id-from-previous-response/stop' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "job_id": "job-id-from-previous-response"
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/migration/scanrootScan a remote migration source server.

What this endpoint does

Scan a remote migration source server.

Operational guidance: Discover accounts on a remote cPanel, SHM, Plesk, or DirectAdmin server. This root-only discovery call has a 10-minute native timeout for large panels. cPanel discovery requires a valid cPanel license and a working WHM API and does not fall back to a potentially incomplete account-file-only scan. Credentials are used for this request and are not returned.

Endpoint

POST /v1/root/migration/scan

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (4)

remoteserverRequired
Send in
JSON body
Type
hostname|IP|string
Accepted values
Any value matching hostname|IP|string
Example
cpanel-source.example.com

Remote server hostname or IP address. SSH connects as root.

Validation and use: Required Send this parameter as a JSON body property.

source_platformRequired
Send in
JSON body
Type
enum
Accepted values
cpanel, shm, plesk, directadmin
Example
cpanel

Remote control-panel type. Allowed values: cpanel, shm, plesk, directadmin.

Validation and use: Required Send this parameter as a JSON body property.

remotepasswordOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

Remote root SSH password. When omitted, SHM uses non-interactive key authentication if a supported root key is available.

Validation and use: Optional Send this parameter as a JSON body property.

remoteportOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string; default: 22
Example
22

Remote SSH port. Range: 1-65535. Default: 22.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 65535. Default: 22.

Complete request template

This reference template contains all 4 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "remoteserver": "cpanel-source.example.com",
    "source_platform": "cpanel",
    "remotepassword": "STRONG_PASSWORD",
    "remoteport": 22
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/migration/scan' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"source_platform":"cpanel","remoteserver":"cpanel-source.example.com","remoteport":22,"remotepassword":"STRONG_PASSWORD"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Scan cPanel accounts
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_platform": "cpanel",
    "remoteserver": "cpanel-source.example.com",
    "remoteport": 22,
    "remotepassword": "STRONG_PASSWORD"
  }
}
Scan Plesk with SSH key authentication
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_platform": "plesk",
    "remoteserver": "plesk-source.example.com",
    "remoteport": 22
  }
}
Scan DirectAdmin
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_platform": "directadmin",
    "remoteserver": "directadmin-source.example.com",
    "remoteport": 2222,
    "remotepassword": "STRONG_PASSWORD"
  }
}
Scan another SHM server
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_platform": "shm",
    "remoteserver": "shm-source.example.com",
    "remoteport": 22,
    "remotepassword": "STRONG_PASSWORD"
  }
}
Scan cPanel accounts
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_platform": "cpanel",
    "remoteserver": "cpanel-source.example.com",
    "remoteport": 22,
    "remotepassword": "STRONG_PASSWORD"
  }
}
Scan Plesk with SSH key authentication
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_platform": "plesk",
    "remoteserver": "plesk-source.example.com",
    "remoteport": 22
  }
}
Scan DirectAdmin
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_platform": "directadmin",
    "remoteserver": "directadmin-source.example.com",
    "remoteport": 2222,
    "remotepassword": "STRONG_PASSWORD"
  }
}
Scan another SHM server
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "source_platform": "shm",
    "remoteserver": "shm-source.example.com",
    "remoteport": 22,
    "remotepassword": "STRONG_PASSWORD"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

ModSecurity

PATCH/v1/root/modsecurityrootSave ModSecurity manager settings.

What this endpoint does

Save ModSecurity manager settings.

Endpoint

PATCH /v1/root/modsecurity

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

default_modeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
on

Default mode accepted by this endpoint while it performs: Save ModSecurity manager settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enabled accepted by this endpoint while it performs: Save ModSecurity manager settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "default_mode": "on",
    "enabled": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/modsecurity' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"enabled":1,"default_mode":"on"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "enabled": 1,
    "default_mode": "on"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/modsecurity/contextrootFetch ModSecurity manager context.

What this endpoint does

Fetch ModSecurity manager context.

Endpoint

GET /v1/root/modsecurity/context

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/modsecurity/context' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/modsecurity/installrootInstall or repair the complete ModSecurity runtime, connector packages, and OWASP CRS, then reapply web server configuration.

What this endpoint does

Install or repair the complete ModSecurity runtime, connector packages, and OWASP CRS, then reapply web server configuration.

Endpoint

POST /v1/root/modsecurity/install

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

forceOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Force accepted by this endpoint while it performs: Install or repair the complete ModSecurity runtime, connector packages, and OWASP CRS, then reapply web server configuration. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

force_refreshOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Force refresh accepted by this endpoint while it performs: Install or repair the complete ModSecurity runtime, connector packages, and OWASP CRS, then reapply web server configuration. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "force": 1,
    "force_refresh": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/modsecurity/install' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"force_refresh":1,"force":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "force_refresh": 1,
    "force": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/modsecurity/uninstallrootCompletely uninstall the ModSecurity runtime: disable the global layer, turn ModSecurity off for all domain objects, remove connector packages, and reapply web server configuration.

What this endpoint does

Completely uninstall the ModSecurity runtime: disable the global layer, turn ModSecurity off for all domain objects, remove connector packages, and reapply web server configuration.

Operational guidance: Completely remove the server-wide ModSecurity runtime only after explicit root confirmation. This disables the global layer, turns ModSecurity off for every domain object, removes connector packages, and reapplies the web-server configuration. Use the exact confirmation value below; no other value is accepted.

Endpoint

POST /v1/root/modsecurity/uninstall

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

confirmRequired
Send in
JSON body
Type
enum
Accepted values
UNINSTALL
Example
UNINSTALL

Exact destructive confirmation. The value must be UNINSTALL, in uppercase.

Validation and use: Required Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "confirm": "UNINSTALL"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/modsecurity/uninstall' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"confirm":"UNINSTALL"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "confirm": "UNINSTALL"
  }
}
Confirm complete ModSecurity removal
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "confirm": "UNINSTALL"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Monitor

GET/v1/root/monitor/configrootRead root monitor configuration and service states.

What this endpoint does

Read root monitor configuration and service states.

Endpoint

GET /v1/root/monitor/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/monitor/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/monitor/configrootSave root monitor configuration.

What this endpoint does

Save root monitor configuration.

Operational guidance: Save monitor settings. monitored is an object keyed by service key; each row accepts enabled, action, and notify.

Endpoint

POST /v1/root/monitor/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

emailsOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
admin@example.com

Comma-separated global notification recipients. Per-service notify controls whether each service uses this recipient list.

Validation and use: Optional Send this parameter as a JSON body property.

loop_delayOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
60

Monitor check interval in seconds. Minimum accepted value is 5.

Validation and use: Optional Send this parameter as a JSON body property.

monitoredOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{"php":{"enabled":"on","action":"restart","notify":"off"}}

Map of monitor service keys to settings. Each service object accepts enabled: on/off, action: restart/start/stop/none, and notify: on/off.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "emails": "admin@example.com",
    "loop_delay": 60,
    "monitored": {
      "php": {
        "enabled": "on",
        "action": "restart",
        "notify": "off"
      }
    }
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/monitor/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"loop_delay":60,"emails":"admin@example.com","monitored":{"php":{"enabled":"on","action":"restart","notify":"off"}}}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Enable PHP-FPM pool monitoring without email alerts
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "loop_delay": 60,
    "emails": "admin@example.com",
    "monitored": {
      "php": {
        "enabled": "on",
        "action": "restart",
        "notify": "off"
      }
    }
  }
}
Enable PHP-FPM pool monitoring without email alerts
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "loop_delay": 60,
    "emails": "admin@example.com",
    "monitored": {
      "php": {
        "enabled": "on",
        "action": "restart",
        "notify": "off"
      }
    }
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/monitor/row/{service}rootRead one root monitor service row.

What this endpoint does

Read one root monitor service row.

Operational guidance: Read one monitor row. Allowed values for {service} are the live monitor keys returned by GET /v1/root/monitor/config.

Endpoint

GET /v1/root/monitor/row/{service}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

serviceRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
apache

Allowed values: live service keys returned by GET /v1/root/monitor/config. Common keys: apache, nginx, php, mail, dovecot, mariadb, dns. For php, the row returns aggregate PHP-FPM user-pool health plus unhealthy pool details.

Validation and use: Required Replace this placeholder directly in the URL path.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "service": "apache"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/monitor/row/apache' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "service": "apache"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/monitor/service/{cmd}rootStart, stop, or restart the monitor service.

What this endpoint does

Start, stop, or restart the monitor service.

Endpoint

POST /v1/root/monitor/service/{cmd}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

cmdRequired
Send in
URL path
Type
enum
Accepted values
start, stop, restart
Example
start

Cmd path parameter. Allowed values: start, stop, restart.

Validation and use: Required Replace this placeholder directly in the URL path.

Supported actions and option sets

cmd values (3)
startstoprestart

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "cmd": "start"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/monitor/service/start' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Cmd: start
{
  "path_parameters": {
    "cmd": "start"
  },
  "query_parameters": {},
  "json_body": {}
}
Cmd: stop
{
  "path_parameters": {
    "cmd": "stop"
  },
  "query_parameters": {},
  "json_body": {}
}
Cmd: restart
{
  "path_parameters": {
    "cmd": "restart"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Owner

PATCH/v1/accounts/{username}/ownerrootChange account owner.

What this endpoint does

Change account owner.

Operational guidance: Changes account owner (root-only). Owner must be root or an existing reseller.

Endpoint

PATCH /v1/accounts/{username}/owner

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI and Account AI when the authenticated role, account ownership, feature policy, and parameters permit it.

Parameters (3)

usernameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Target SHM account username. Root may target any authorized account, a reseller only an owned account, and a user only their own account.

Validation and use: Required Replace this placeholder directly in the URL path.

ownerRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Owner username or owner filter. Owner identifier. Alias: owner_id.

Validation and use: Required Send this parameter as a JSON body property.

owner_idOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Alias of owner. Prefer owner.

Validation and use: Optional Send this parameter as a JSON body property. Use the corresponding list endpoint for this resource and copy the returned owner_id value.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "owner": 1,
    "owner_id": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/accounts/demo/owner' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"owner":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "owner": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Pgsql Processes

GET/v1/pgsql-processesrootList server-wide PostgreSQL backend processes.

What this endpoint does

List server-wide PostgreSQL backend processes.

Endpoint

GET /v1/pgsql-processes

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (10)

drawOptional
Send in
Query string
Type
int
Accepted values
Any value matching int; default: 0
Example
0

(mode=full) DataTables draw counter.

Validation and use: Optional Send this parameter in the query string. Default: 0.

lengthOptional
Send in
Query string
Type
int
Accepted values
Any value matching int; default: 25
Example
25

(mode=full) Page size.

Validation and use: Optional Send this parameter in the query string. Minimum 1. Maximum 200. Default: 25.

modeOptional
Send in
Query string
Type
enum
Accepted values
simple, full
Example
simple

Response shape. `full` supports pagination/search/order.

Validation and use: Optional Send this parameter in the query string. Default: simple.

orderOptional
Send in
Query string
Type
object|string
Accepted values
Any value matching object|string
Example
{}

Sort order payload.

Validation and use: Optional Send this parameter in the query string.

order_dirOptional
Send in
Query string
Type
enum
Accepted values
asc, desc
Example
desc

(mode=full) Sort direction.

Validation and use: Optional Send this parameter in the query string. Default: desc.

order_idxOptional
Send in
Query string
Type
enum
Accepted values
0, 1, 2, 3, 4, 5, 6, 7
Example
1

(mode=full) Sort column index.

Validation and use: Optional Send this parameter in the query string. Default: 1.

searchOptional
Send in
Query string
Type
object|string
Accepted values
Any value matching object|string
Example
account

Search term or search payload. (mode=full) Search string or `{value:\"...\"}`.

Validation and use: Optional Send this parameter in the query string.

search.valueOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
account

Search value accepted by this endpoint while it performs: List server-wide PostgreSQL backend processes. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter in the query string.

startOptional
Send in
Query string
Type
int
Accepted values
Any value matching int; default: 0
Example
0

(mode=full) Row offset.

Validation and use: Optional Send this parameter in the query string. Default: 0.

valueOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
updated-content

Value payload.

Validation and use: Optional Send this parameter in the query string.

Complete request template

This reference template contains all 10 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {
    "draw": 0,
    "length": 25,
    "mode": "simple",
    "order": {},
    "order_dir": "desc",
    "order_idx": 1,
    "search": "account",
    "search.value": "account",
    "start": 0,
    "value": "updated-content"
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/pgsql-processes?mode=simple&value=updated-content&search.value=account&order=%5Bobject+Object%5D' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {
    "mode": "simple",
    "value": "updated-content",
    "search.value": "account",
    "order": {}
  },
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

FieldDocumented type or shape
data[]["pid","user","host","db","command","time","state","info","killable"]

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/pgsql-processesrootList server-wide PostgreSQL backend processes.

What this endpoint does

List server-wide PostgreSQL backend processes.

Endpoint

POST /v1/pgsql-processes

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (10)

drawOptional
Send in
JSON body
Type
int
Accepted values
Any value matching int; default: 0
Example
0

(mode=full) DataTables draw counter.

Validation and use: Optional Send this parameter as a JSON body property. Default: 0.

lengthOptional
Send in
JSON body
Type
int
Accepted values
Any value matching int; default: 25
Example
25

(mode=full) Page size.

Validation and use: Optional Send this parameter as a JSON body property. Minimum 1. Maximum 200. Default: 25.

modeOptional
Send in
JSON body
Type
enum
Accepted values
simple, full
Example
simple

Response shape. `full` supports pagination/search/order.

Validation and use: Optional Send this parameter as a JSON body property. Default: simple.

orderOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{}

Sort order payload.

Validation and use: Optional Send this parameter as a JSON body property.

order_dirOptional
Send in
JSON body
Type
enum
Accepted values
asc, desc
Example
desc

(mode=full) Sort direction.

Validation and use: Optional Send this parameter as a JSON body property. Default: desc.

order_idxOptional
Send in
JSON body
Type
enum
Accepted values
0, 1, 2, 3, 4, 5, 6, 7
Example
1

(mode=full) Sort column index.

Validation and use: Optional Send this parameter as a JSON body property. Default: 1.

searchOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
account

Search term or search payload. (mode=full) Search string or `{value:\"...\"}`.

Validation and use: Optional Send this parameter as a JSON body property.

search.valueOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
account

Search value accepted by this endpoint while it performs: List server-wide PostgreSQL backend processes. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

startOptional
Send in
JSON body
Type
int
Accepted values
Any value matching int; default: 0
Example
0

(mode=full) Row offset.

Validation and use: Optional Send this parameter as a JSON body property. Default: 0.

valueOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
updated-content

Value payload.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 10 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "draw": 0,
    "length": 25,
    "mode": "simple",
    "order": {},
    "order_dir": "desc",
    "order_idx": 1,
    "search": "account",
    "search.value": "account",
    "start": 0,
    "value": "updated-content"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/pgsql-processes' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"mode":"simple","value":"updated-content","search.value":"account","order":{}}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "mode": "simple",
    "value": "updated-content",
    "search.value": "account",
    "order": {}
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/pgsql-processes/{id}rootTerminate a PostgreSQL backend process by pid.

What this endpoint does

Terminate a PostgreSQL backend process by pid.

Endpoint

DELETE /v1/pgsql-processes/{id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

idRequired
Send in
URL path
Type
int
Accepted values
Any value matching int
Example
1

PostgreSQL pg_stat_activity.pid

Validation and use: Required Replace this placeholder directly in the URL path. Use the corresponding list endpoint for this resource and copy the returned id value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/pgsql-processes/1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Reseller Packages

GET/v1/reseller-packagesrootList reseller packages.

What this endpoint does

List reseller packages.

Endpoint

GET /v1/reseller-packages

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/reseller-packages' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/reseller-packagesrootCreate reseller package.

What this endpoint does

Create reseller package.

Operational guidance: Create reseller package (root-only).

Endpoint

POST /v1/reseller-packages

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (12)

packagenameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
Starter

Package name. Package name (1–64 chars; letters, numbers, spaces, hyphens, and underscores).

Validation and use: Required Send this parameter as a JSON body property.

maxaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max accounts for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxcpuOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max CPU for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxdiskspaceOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max diskspace (MB) for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxinodeslimitOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max inodes for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxiodiskbandwidthOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max IO bandwidth for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxiopslimitsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max IOPS for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxipsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Max dedicated IPs for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxmemoryOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max memory (MB) for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxprocessesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max processes for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

permitshellaccessOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Allow shell access in reseller package. 1 to allow shell access for reseller accounts.

Validation and use: Optional Send this parameter as a JSON body property.

permitunlimiteddiskspaceOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Allow unlimited disk space in reseller package. 1 to allow unlimited disk space assignment by reseller.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 12 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "packagename": "Starter",
    "maxaccounts": -1,
    "maxcpu": -1,
    "maxdiskspace": -1,
    "maxinodeslimit": -1,
    "maxiodiskbandwidth": -1,
    "maxiopslimits": -1,
    "maxips": 1,
    "maxmemory": -1,
    "maxprocesses": -1,
    "permitshellaccess": 1,
    "permitunlimiteddiskspace": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/reseller-packages' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"packagename":"Starter"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "packagename": "Starter"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/reseller-packages/{id}rootDelete reseller package (if unused).

What this endpoint does

Delete reseller package (if unused).

Endpoint

DELETE /v1/reseller-packages/{id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

idRequired
Send in
URL path
Type
int
Accepted values
Any value matching int
Example
1

Exact resource identifier returned by the related list or context endpoint. Do not guess ids from table position.

Validation and use: Required Replace this placeholder directly in the URL path. Use the corresponding list endpoint for this resource and copy the returned id value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/reseller-packages/1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/reseller-packages/{id}rootGet reseller package by id.

What this endpoint does

Get reseller package by id.

Endpoint

GET /v1/reseller-packages/{id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

idRequired
Send in
URL path
Type
int
Accepted values
Any value matching int
Example
1

Exact resource identifier returned by the related list or context endpoint. Do not guess ids from table position.

Validation and use: Required Replace this placeholder directly in the URL path. Use the corresponding list endpoint for this resource and copy the returned id value.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/reseller-packages/1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

PATCH/v1/reseller-packages/{id}rootEdit reseller package definition.

What this endpoint does

Edit reseller package definition.

Operational guidance: Edit reseller package (root-only). PATCH is partial: send only fields that must change.

Endpoint

PATCH /v1/reseller-packages/{id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (13)

idRequired
Send in
URL path
Type
int
Accepted values
Any value matching int
Example
1

Exact resource identifier returned by the related list or context endpoint. Do not guess ids from table position.

Validation and use: Required Replace this placeholder directly in the URL path. Use the corresponding list endpoint for this resource and copy the returned id value.

maxaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max accounts for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxcpuOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max CPU for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxdiskspaceOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max diskspace (MB) for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxinodeslimitOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max inodes for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxiodiskbandwidthOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max IO bandwidth for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxiopslimitsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max IOPS for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxipsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Max dedicated IPs for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxmemoryOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max memory (MB) for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

maxprocessesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max processes for reseller.

Validation and use: Optional Send this parameter as a JSON body property.

packagenameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
Starter

Package name. Package name (1–64 chars; letters, numbers, spaces, hyphens, and underscores).

Validation and use: Optional Send this parameter as a JSON body property.

permitshellaccessOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Allow shell access in reseller package. 1 to allow shell access for reseller accounts.

Validation and use: Optional Send this parameter as a JSON body property.

permitunlimiteddiskspaceOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Allow unlimited disk space in reseller package. 1 to allow unlimited disk space assignment by reseller.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 13 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {
    "maxaccounts": -1,
    "maxcpu": -1,
    "maxdiskspace": -1,
    "maxinodeslimit": -1,
    "maxiodiskbandwidth": -1,
    "maxiopslimits": -1,
    "maxips": 1,
    "maxmemory": -1,
    "maxprocesses": -1,
    "packagename": "Starter",
    "permitshellaccess": 1,
    "permitunlimiteddiskspace": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/reseller-packages/1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"packagename":"Starter","permitshellaccess":1,"permitunlimiteddiskspace":1,"maxaccounts":-1}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {
    "packagename": "Starter",
    "permitshellaccess": 1,
    "permitunlimiteddiskspace": 1,
    "maxaccounts": -1
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Resellers

GET/v1/root/resellersrootList reseller assignments.

What this endpoint does

List reseller assignments.

Endpoint

GET /v1/root/resellers

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/resellers' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/resellersrootCreate reseller assignment.

What this endpoint does

Create reseller assignment.

Endpoint

POST /v1/root/resellers

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (5)

account_userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Account username.

Validation and use: Optional Send this parameter as a JSON body property.

package_idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Package id accepted by this endpoint while it performs: Create reseller assignment. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property. GET /v1/resellers

selectaccountOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Selectaccount accepted by this endpoint while it performs: Create reseller assignment. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

selectedIPsOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
192.0.2.10

SelectedIPs accepted by this endpoint while it performs: Create reseller assignment. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

selectpackageOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Selectpackage accepted by this endpoint while it performs: Create reseller assignment. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 5 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "account_user": "demo",
    "package_id": 1,
    "selectaccount": "demo",
    "selectedIPs": "192.0.2.10",
    "selectpackage": "1"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/resellers' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"selectaccount":"demo","account_user":"demo","selectpackage":"1","package_id":1}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "selectaccount": "demo",
    "account_user": "demo",
    "selectpackage": "1",
    "package_id": 1
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/resellers/{username}rootDelete reseller assignment.

What this endpoint does

Delete reseller assignment.

Endpoint

DELETE /v1/root/resellers/{username}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

usernameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Target SHM account username. Root may target any authorized account, a reseller only an owned account, and a user only their own account.

Validation and use: Required Replace this placeholder directly in the URL path.

account_userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Account username.

Validation and use: Optional Send this parameter as a JSON body property.

idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Resource ID.

Validation and use: Optional Send this parameter as a JSON body property. GET /v1/resellers

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "demo",
    "id": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/resellers/demo' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"id":1,"account_user":"demo"}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "id": 1,
    "account_user": "demo"
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

PATCH/v1/root/resellers/{username}rootUpdate reseller assignment.

What this endpoint does

Update reseller assignment.

Endpoint

PATCH /v1/root/resellers/{username}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (6)

usernameRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Target SHM account username. Root may target any authorized account, a reseller only an owned account, and a user only their own account.

Validation and use: Required Replace this placeholder directly in the URL path.

account_userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Account username.

Validation and use: Optional Send this parameter as a JSON body property.

idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Resource ID.

Validation and use: Optional Send this parameter as a JSON body property. GET /v1/resellers

ipsOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
192.0.2.10

Ips accepted by this endpoint while it performs: Update reseller assignment. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

packageOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
default

Package accepted by this endpoint while it performs: Update reseller assignment. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

package_idOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Package id accepted by this endpoint while it performs: Update reseller assignment. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property. GET /v1/resellers

Complete request template

This reference template contains all 6 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "demo",
    "id": 1,
    "ips": "192.0.2.10",
    "package": "default",
    "package_id": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/resellers/demo' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"id":1,"account_user":"demo","package":"default","package_id":1}'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "id": 1,
    "account_user": "demo",
    "package": "default",
    "package_id": 1
  }
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Resource Usage

GET/v1/root/live-overview-globalrootRead the root live process overview.

What this endpoint does

Read the root live process overview.

Endpoint

GET /v1/root/live-overview-global

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/live-overview-global' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

GET/v1/root/resource-usage/historyrootRead root resource usage history.

What this endpoint does

Read root resource usage history.

Endpoint

GET /v1/root/resource-usage/history

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

compactOptional
Send in
Query string
Type
int|string
Accepted values
Any value matching int|string
Example
1

Compact accepted by this endpoint while it performs: Read root resource usage history. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter in the query string.

formatOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
json

Format accepted by this endpoint while it performs: Read root resource usage history. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter in the query string.

resourceOptional
Send in
Query string
Type
enum
Accepted values
cpu, memory, processes, disk, innodes
Example
cpu

Resource metric name. Allowed values: cpu, memory, processes, disk, innodes.

Validation and use: Optional Send this parameter in the query string.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {
    "compact": 1,
    "format": "json",
    "resource": "cpu"
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/resource-usage/history?resource=cpu&format=json&compact=1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {
    "resource": "cpu",
    "format": "json",
    "compact": 1
  },
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/resource-usage/historyrootRead root resource usage history.

What this endpoint does

Read root resource usage history.

Endpoint

POST /v1/root/resource-usage/history

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

compactOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

Compact accepted by this endpoint while it performs: Read root resource usage history. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

formatOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
json

Format accepted by this endpoint while it performs: Read root resource usage history. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

resourceOptional
Send in
JSON body
Type
enum
Accepted values
cpu, memory, processes, disk, innodes
Example
cpu

Resource metric name. Allowed values: cpu, memory, processes, disk, innodes.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "compact": 1,
    "format": "json",
    "resource": "cpu"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/resource-usage/history' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"resource":"cpu","format":"json","compact":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "resource": "cpu",
    "format": "json",
    "compact": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/resource-usage/snapshotrootRead root resource usage snapshot.

What this endpoint does

Read root resource usage snapshot.

Endpoint

GET /v1/root/resource-usage/snapshot

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

resourceOptional
Send in
Query string
Type
enum
Accepted values
cpu, memory, processes
Example
cpu

Resource metric name. Allowed values: cpu, memory, processes.

Validation and use: Optional Send this parameter in the query string.

timestampOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
60

Timestamp value.

Validation and use: Optional Send this parameter in the query string.

tsOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
2026-07-16T12:00:00Z

Timestamp value.

Validation and use: Optional Send this parameter in the query string.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {
    "resource": "cpu",
    "timestamp": 60,
    "ts": "2026-07-16T12:00:00Z"
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/resource-usage/snapshot?resource=cpu&ts=2026-07-16T12%3A00%3A00Z&timestamp=60' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {
    "resource": "cpu",
    "ts": "2026-07-16T12:00:00Z",
    "timestamp": 60
  },
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/resource-usage/snapshotrootRead root resource usage snapshot.

What this endpoint does

Read root resource usage snapshot.

Endpoint

POST /v1/root/resource-usage/snapshot

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

resourceOptional
Send in
JSON body
Type
enum
Accepted values
cpu, memory, processes
Example
cpu

Resource metric name. Allowed values: cpu, memory, processes.

Validation and use: Optional Send this parameter as a JSON body property.

timestampOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
60

Timestamp value.

Validation and use: Optional Send this parameter as a JSON body property.

tsOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
2026-07-16T12:00:00Z

Timestamp value.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "resource": "cpu",
    "timestamp": 60,
    "ts": "2026-07-16T12:00:00Z"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/resource-usage/snapshot' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"resource":"cpu","ts":"2026-07-16T12:00:00Z","timestamp":60}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "resource": "cpu",
    "ts": "2026-07-16T12:00:00Z",
    "timestamp": 60
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Security

DELETE/v1/root/security/ip-accessrootDelete a root IP access entry.

What this endpoint does

Delete a root IP access entry.

Endpoint

DELETE /v1/root/security/ip-access

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

ipOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

IPv4 address.

Validation and use: Optional Send this parameter as a JSON body property.

ipaddressOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

IPv4 address.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "ip": "203.0.113.10",
    "ipaddress": "203.0.113.10"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/security/ip-access' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"ipaddress":"203.0.113.10","ip":"203.0.113.10"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "ipaddress": "203.0.113.10",
    "ip": "203.0.113.10"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/security/ip-accessrootList root IP access entries.

What this endpoint does

List root IP access entries.

Endpoint

GET /v1/root/security/ip-access

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/security/ip-access' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/security/ip-accessrootCreate a root IP access entry.

What this endpoint does

Create a root IP access entry.

Endpoint

POST /v1/root/security/ip-access

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

commentOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
Managed by automation

Comment accepted by this endpoint while it performs: Create a root IP access entry. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ipOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

IPv4 address.

Validation and use: Optional Send this parameter as a JSON body property.

ipaddressOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

IPv4 address.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "comment": "Managed by automation",
    "ip": "203.0.113.10",
    "ipaddress": "203.0.113.10"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/security/ip-access' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"ipaddress":"203.0.113.10","ip":"203.0.113.10","comment":"Managed by automation"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "ipaddress": "203.0.113.10",
    "ip": "203.0.113.10",
    "comment": "Managed by automation"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

PATCH/v1/root/security/passwordrootUpdate the root password.

What this endpoint does

Update the root password.

Endpoint

PATCH /v1/root/security/password

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (4)

confirm_passwordOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

Password confirmation.

Validation and use: Optional Send this parameter as a JSON body property.

passwordOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

Password value.

Validation and use: Optional Send this parameter as a JSON body property.

root_password1Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

Root password1 accepted by this endpoint while it performs: Update the root password. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

root_password2Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

Root password2 accepted by this endpoint while it performs: Update the root password. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 4 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "confirm_password": "STRONG_PASSWORD",
    "password": "STRONG_PASSWORD",
    "root_password1": "STRONG_PASSWORD",
    "root_password2": "STRONG_PASSWORD"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/security/password' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"root_password1":"STRONG_PASSWORD","password":"STRONG_PASSWORD","root_password2":"STRONG_PASSWORD","confirm_password":"STRONG_PASSWORD"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "root_password1": "STRONG_PASSWORD",
    "password": "STRONG_PASSWORD",
    "root_password2": "STRONG_PASSWORD",
    "confirm_password": "STRONG_PASSWORD"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/security/settingsrootRead root security settings.

What this endpoint does

Read root security settings.

Endpoint

GET /v1/root/security/settings

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/security/settings' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

PATCH/v1/root/security/ssh-portrootUpdate the root SSH port.

What this endpoint does

Update the root SSH port.

Endpoint

PATCH /v1/root/security/ssh-port

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

sshportOptional
Send in
JSON body
Type
int|string
Accepted values
Any value matching int|string
Example
1

Sshport accepted by this endpoint while it performs: Update the root SSH port. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "sshport": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/security/ssh-port' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"sshport":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "sshport": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

DELETE/v1/root/security/ssh/allow-usersrootDelete an SSH AllowUsers entry.

What this endpoint does

Delete an SSH AllowUsers entry.

Endpoint

DELETE /v1/root/security/ssh/allow-users

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

User accepted by this endpoint while it performs: Delete an SSH AllowUsers entry. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

userpatternOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
active

Userpattern accepted by this endpoint while it performs: Delete an SSH AllowUsers entry. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "user": "demo",
    "userpattern": "active"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/security/ssh/allow-users' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"userpattern":"active","user":"demo"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "userpattern": "active",
    "user": "demo"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/security/ssh/allow-usersrootList SSH AllowUsers entries.

What this endpoint does

List SSH AllowUsers entries.

Endpoint

GET /v1/root/security/ssh/allow-users

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/security/ssh/allow-users' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/security/ssh/allow-usersrootCreate an SSH AllowUsers entry.

What this endpoint does

Create an SSH AllowUsers entry.

Endpoint

POST /v1/root/security/ssh/allow-users

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

commentOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
Managed by automation

Comment accepted by this endpoint while it performs: Create an SSH AllowUsers entry. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

User accepted by this endpoint while it performs: Create an SSH AllowUsers entry. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

userpatternOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
active

Userpattern accepted by this endpoint while it performs: Create an SSH AllowUsers entry. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "comment": "Managed by automation",
    "user": "demo",
    "userpattern": "active"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/security/ssh/allow-users' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"userpattern":"active","user":"demo","comment":"Managed by automation"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "userpattern": "active",
    "user": "demo",
    "comment": "Managed by automation"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

PATCH/v1/root/security/twofarootUpdate root two-factor settings.

What this endpoint does

Update root two-factor settings.

Endpoint

PATCH /v1/root/security/twofa

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

codeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
123456

Code accepted by this endpoint while it performs: Update root two-factor settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

twofacodeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
123456

Two-factor authentication code.

Validation and use: Optional Send this parameter as a JSON body property.

twofasecretOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

Two-factor secret.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "code": "123456",
    "twofacode": "123456",
    "twofasecret": "STRONG_PASSWORD"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/security/twofa' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"twofacode":"123456","code":"123456","twofasecret":"STRONG_PASSWORD"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "twofacode": "123456",
    "code": "123456",
    "twofasecret": "STRONG_PASSWORD"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Server

GET/v1/root/apache/statusrootRead Apache mod_status data.

What this endpoint does

Read Apache mod_status data.

Endpoint

GET /v1/root/apache/status

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/apache/status' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

PATCH/v1/root/server/hostnamerootUpdate the server hostname.

What this endpoint does

Update the server hostname.

Endpoint

PATCH /v1/root/server/hostname

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

hostnameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
host.example.com

Hostname accepted by this endpoint while it performs: Update the server hostname. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "hostname": "host.example.com"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/server/hostname' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"hostname":"host.example.com"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "hostname": "host.example.com"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/server/informationrootRead root server information.

What this endpoint does

Read root server information.

Endpoint

GET /v1/root/server/information

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/server/information' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

PATCH/v1/root/server/journaldrootUpdate journald settings.

What this endpoint does

Update journald settings.

Endpoint

PATCH /v1/root/server/journald

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (4)

journald_retentionTimeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
60

Journald retentionTime accepted by this endpoint while it performs: Update journald settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

journald_storageLimitOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
2

Journald storageLimit accepted by this endpoint while it performs: Update journald settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

retentionTimeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
60

RetentionTime accepted by this endpoint while it performs: Update journald settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

storageLimitOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
2

StorageLimit accepted by this endpoint while it performs: Update journald settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 4 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "journald_retentionTime": 60,
    "journald_storageLimit": 2,
    "retentionTime": 60,
    "storageLimit": 2
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/server/journald' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"storageLimit":2,"journald_storageLimit":2,"retentionTime":60,"journald_retentionTime":60}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "storageLimit": 2,
    "journald_storageLimit": 2,
    "retentionTime": 60,
    "journald_retentionTime": 60
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/server/network/interfacesrootList server network interfaces.

What this endpoint does

List server network interfaces.

Endpoint

GET /v1/root/server/network/interfaces

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/server/network/interfaces' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

DELETE/v1/root/server/network/ip-addressesrootDelete a server IPv4 address from a network connection.

What this endpoint does

Delete a server IPv4 address from a network connection.

Endpoint

DELETE /v1/root/server/network/ip-addresses

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

interfaceOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
eth0

Interface accepted by this endpoint while it performs: Delete a server IPv4 address from a network connection. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ipaddressOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

IPv4 address.

Validation and use: Optional Send this parameter as a JSON body property.

prefixOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
24

Prefix accepted by this endpoint while it performs: Delete a server IPv4 address from a network connection. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "interface": "eth0",
    "ipaddress": "203.0.113.10",
    "prefix": "24"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X DELETE 'https://panel.example.com:882/v1/root/server/network/ip-addresses' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"ipaddress":"203.0.113.10","prefix":"24","interface":"eth0"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "ipaddress": "203.0.113.10",
    "prefix": "24",
    "interface": "eth0"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/server/network/ip-addressesrootList server IPv4 addresses.

What this endpoint does

List server IPv4 addresses.

Operational guidance: List IPv4 addresses configured on server interfaces. For the shared/default hosting IP prefer GET /v1/root/account-defaults and read sharedip.

Endpoint

GET /v1/root/server/network/ip-addresses

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/server/network/ip-addresses' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

List server IPv4 addresses
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}
List server IPv4 addresses
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/server/network/ip-addressesrootAdd a server IPv4 address to a network connection.

What this endpoint does

Add a server IPv4 address to a network connection.

Endpoint

POST /v1/root/server/network/ip-addresses

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (3)

interfaceOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
eth0

Interface accepted by this endpoint while it performs: Add a server IPv4 address to a network connection. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ipaddressOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

IPv4 address.

Validation and use: Optional Send this parameter as a JSON body property.

prefixOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
24

Prefix accepted by this endpoint while it performs: Add a server IPv4 address to a network connection. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 3 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "interface": "eth0",
    "ipaddress": "203.0.113.10",
    "prefix": "24"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/server/network/ip-addresses' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"ipaddress":"203.0.113.10","prefix":"24","interface":"eth0"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "ipaddress": "203.0.113.10",
    "prefix": "24",
    "interface": "eth0"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

PATCH/v1/root/server/oomrootUpdate OOM settings.

What this endpoint does

Update OOM settings.

Endpoint

PATCH /v1/root/server/oom

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (12)

oomKillAllocatingTaskOptional
Send in
JSON body
Type
enum
Accepted values
0, 1
Example
0

Oom Kill Allocating Task request field. Allowed values: 0, 1.

Validation and use: Optional Send this parameter as a JSON body property.

oom_kill_allocating_taskOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
0

Oom kill allocating task accepted by this endpoint while it performs: Update OOM settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

oom_overcommit_memoryOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

Oom overcommit memory accepted by this endpoint while it performs: Update OOM settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

oom_overcommit_ratioOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
50

Oom overcommit ratio accepted by this endpoint while it performs: Update OOM settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

oom_panic_on_oomOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
0

Oom panic on oom accepted by this endpoint while it performs: Update OOM settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

oom_process_exclusionsOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{}

Oom process exclusions accepted by this endpoint while it performs: Update OOM settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

oom_service_exclusionsOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{}

Oom service exclusions accepted by this endpoint while it performs: Update OOM settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

overcommitMemoryOptional
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
0

Overcommit Memory request field. Allowed values: 0, 1, 2.

Validation and use: Optional Send this parameter as a JSON body property.

overcommitRatioOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
50

OvercommitRatio accepted by this endpoint while it performs: Update OOM settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

panicOnOomOptional
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
0

Panic On Oom request field. Allowed values: 0, 1, 2.

Validation and use: Optional Send this parameter as a JSON body property.

processExclusionsOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{}

ProcessExclusions accepted by this endpoint while it performs: Update OOM settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

serviceExclusionsOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
{}

ServiceExclusions accepted by this endpoint while it performs: Update OOM settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 12 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "oomKillAllocatingTask": 0,
    "oom_kill_allocating_task": "0",
    "oom_overcommit_memory": 1,
    "oom_overcommit_ratio": "50",
    "oom_panic_on_oom": "0",
    "oom_process_exclusions": {},
    "oom_service_exclusions": {},
    "overcommitMemory": 0,
    "overcommitRatio": "50",
    "panicOnOom": 0,
    "processExclusions": {},
    "serviceExclusions": {}
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/server/oom' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"overcommitMemory":0,"oom_overcommit_memory":1,"overcommitRatio":"50","oom_overcommit_ratio":"50"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "overcommitMemory": 0,
    "oom_overcommit_memory": 1,
    "overcommitRatio": "50",
    "oom_overcommit_ratio": "50"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

PATCH/v1/root/server/resolverrootUpdate DNS resolver settings.

What this endpoint does

Update DNS resolver settings.

Endpoint

PATCH /v1/root/server/resolver

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (5)

resolv_dnssearchOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
account

Resolv dnssearch accepted by this endpoint while it performs: Update DNS resolver settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

resolv_nameserver1Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ns1.example.com

Resolv nameserver1 accepted by this endpoint while it performs: Update DNS resolver settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

resolv_nameserver2Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ns1.example.com

Resolv nameserver2 accepted by this endpoint while it performs: Update DNS resolver settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

resolv_nameserver3Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ns1.example.com

Resolv nameserver3 accepted by this endpoint while it performs: Update DNS resolver settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

resolv_nameserver4Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ns1.example.com

Resolv nameserver4 accepted by this endpoint while it performs: Update DNS resolver settings. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 5 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "resolv_dnssearch": "account",
    "resolv_nameserver1": "ns1.example.com",
    "resolv_nameserver2": "ns1.example.com",
    "resolv_nameserver3": "ns1.example.com",
    "resolv_nameserver4": "ns1.example.com"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/server/resolver' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"resolv_dnssearch":"account","resolv_nameserver1":"ns1.example.com","resolv_nameserver2":"ns1.example.com","resolv_nameserver3":"ns1.example.com"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "resolv_dnssearch": "account",
    "resolv_nameserver1": "ns1.example.com",
    "resolv_nameserver2": "ns1.example.com",
    "resolv_nameserver3": "ns1.example.com"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/server/settingsrootRead root server settings context.

What this endpoint does

Read root server settings context.

Operational guidance: By default this endpoint returns the lightweight Server Settings context. Set include_oom=1 only when the caller also needs OOM runtime inventory and process-match data.

Endpoint

GET /v1/root/server/settings

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/server/settings' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

PATCH/v1/root/server/timezonerootUpdate the server timezone.

What this endpoint does

Update the server timezone.

Endpoint

PATCH /v1/root/server/timezone

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

timezoneOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
UTC

Timezone accepted by this endpoint while it performs: Update the server timezone. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "timezone": "UTC"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/server/timezone' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"timezone":"UTC"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "timezone": "UTC"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/system-hardeningrootRead saved SHM system hardening policy and, by default, live runtime state.

What this endpoint does

Read saved SHM system hardening policy and, by default, live runtime state.

Operational guidance: Use this endpoint to inspect kernel ptrace hardening, /tmp and /dev/shm mount hardening, saved boot persistence, and the live runtime state. Set include_runtime=0 when only the saved policy is needed and live system checks should be skipped.

Endpoint

GET /v1/root/system-hardening

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/system-hardening' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

PATCH/v1/root/system-hardeningrootSave SHM system hardening policy.

What this endpoint does

Save SHM system hardening policy.

Operational guidance: Saves the desired host hardening policy and repairs boot persistence. It does not need to change OOM settings; OOM protection remains managed by /v1/root/server/oom.

Endpoint

PATCH /v1/root/system-hardening

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (14)

hardenPtraceOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

HardenPtrace accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

hardenTempMountsOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

HardenTempMounts accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ptraceEnabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

PtraceEnabled accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ptracePersistOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

PtracePersist accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ptraceScopeOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
1

PtraceScope accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ptrace_apply_on_bootOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Ptrace apply on boot accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ptrace_enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Ptrace enabled accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ptrace_persistOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Ptrace persist accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

ptrace_scopeOptional
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
0

Ptrace scope request field. Allowed values: 0, 1, 2.

Validation and use: Optional Send this parameter as a JSON body property.

tempMountsEnabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

TempMountsEnabled accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

tempMountsPersistOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

TempMountsPersist accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

temp_mounts_apply_on_bootOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Temp mounts apply on boot accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

temp_mounts_enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Temp mounts enabled accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

temp_mounts_persistOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Temp mounts persist accepted by this endpoint while it performs: Save SHM system hardening policy. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 14 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "hardenPtrace": 1,
    "hardenTempMounts": 1,
    "ptraceEnabled": 1,
    "ptracePersist": 1,
    "ptraceScope": "1",
    "ptrace_apply_on_boot": 1,
    "ptrace_enabled": 1,
    "ptrace_persist": 1,
    "ptrace_scope": 0,
    "tempMountsEnabled": 1,
    "tempMountsPersist": 1,
    "temp_mounts_apply_on_boot": 1,
    "temp_mounts_enabled": 1,
    "temp_mounts_persist": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/system-hardening' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"ptrace_scope":0,"ptraceScope":"1","ptrace_enabled":1,"ptraceEnabled":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "ptrace_scope": 0,
    "ptraceScope": "1",
    "ptrace_enabled": 1,
    "ptraceEnabled": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/system-hardening/actions/{action}rootRun a SHM system hardening runtime action.

What this endpoint does

Run a SHM system hardening runtime action.

Operational guidance: Runs one on-demand system hardening action. Use status/recheck to read state, repair to recreate persistent files, apply-runtime to apply saved policy now, apply-persistent to apply only boot-persistent settings, and revert-runtime to revert only live runtime changes.

Endpoint

POST /v1/root/system-hardening/actions/{action}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

actionRequired
Send in
URL path
Type
enum
Accepted values
status, check, recheck, repair, apply, apply-runtime, apply-persistent, apply-boot, revert, revert-runtime
Example
status

Action path parameter. Allowed values: status, check, recheck, repair, apply, apply-runtime, apply-persistent, apply-boot, revert, revert-runtime.

Validation and use: Required Replace this placeholder directly in the URL path.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "action": "status"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/system-hardening/actions/status' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "action": "status"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Services

GET/v1/root/services/configrootRead the root Server > Services saved configuration plan plus lightweight detection data used by services.php. This is desired configuration, not proof that every service is installed/running; use GET /v1/root/services/status to verify real service state before telling the user Services are active.

What this endpoint does

Read the root Server > Services saved configuration plan plus lightweight detection data used by services.php. This is desired configuration, not proof that every service is installed/running; use GET /v1/root/services/status to verify real service state before telling the user Services are active.

Operational guidance: Read the root Server > Services saved plan plus a lightweight current detection snapshot. The saved plan is desired configuration, not proof that every service is installed/running. Do not tell the user Services are installed/active from this endpoint alone; use GET /v1/root/services/status after applying a plan to verify real installed/running state. Node.js selectors should merge services.nodejs.versions with nodejs_installed_versions so already installed SHM nodeXX runtimes stay selected in the UI.

Endpoint

GET /v1/root/services/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/services/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Read current Services plan
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

FieldDocumented type or shape
statusstring
messagestring
servicesobject
detectedobject
nodejs_installed_versionsstring[]
mariadb_allowed_versionsstring[]
mariadb_installed_fullstring
mariadb_installed_mmstring
postgresql_allowed_versionsstring[]
postgresql_default_versionstring
postgresql_installed_majorstring
postgresql_installed_fullstring
postgresql_data_dirstring
postgresql_legacyboolean

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/services/configrootSave and apply the root Server > Services configuration plan from services.php. Use for default server setup, default services install, all SHM services, or ready-to-use server workflows. API POST is partial by default; omitted fields preserve the current plan unless replace_all=true. For default-ready/all-services workflows, prefer use_defaults=true or preset=default so SHM expands the saved services.yaml default:true/false metadata into the canonical full hosting stack. After this endpoint completes, verify with GET /v1/root/services/status before reporting that Services are installed/active; if the async job fails, report the failure and do not claim the saved/default plan is installed.

What this endpoint does

Save and apply the root Server > Services configuration plan from services.php. Use for default server setup, default services install, all SHM services, or ready-to-use server workflows. API POST is partial by default; omitted fields preserve the current plan unless replace_all=true. For default-ready/all-services workflows, prefer use_defaults=true or preset=default so SHM expands the saved services.yaml default:true/false metadata into the canonical full hosting stack. After this endpoint completes, verify with GET /v1/root/services/status before reporting that Services are installed/active; if the async job fails, report the failure and do not claim the saved/default plan is installed.

Operational guidance: Root-only, server-wide Services configuration endpoint. Use this when the user asks to install the default server, install default Services, install all SHM Services, make SHM ready to use, repair missing Services, or apply the Server > Services page. This endpoint is not account-scoped and it is intended for root platform administration; the saved plan affects the server stack used by all current and future hosted accounts. For generic/default/all Services requests, send use_defaults=true or preset=default; SHM then expands services.yaml default:true/false metadata into the canonical server-wide plan. The backend default expansion selects NGINX + Apache, PHP with every available SHM runtime php56 through php85 and every exposed PHP module, with compatibility-limited modules such as php-pdo_sqlsrv and php-sqlsrv skipped outside PHP 7.0 through PHP 8.5. Node.js default majors 22, 24, and 26 with mandatory pm2/yarn/pnpm, preserving saved released even Node.js compatibility selections such as Node.js 20 End of life, Podman, MariaDB + phpMyAdmin, SFTP + FTP, PowerDNS, and Exim + Dovecot + Roundcube unless that service section has default:false. After this endpoint completes, call GET /v1/root/services/status and only report Services as installed/active when that status check confirms them. If the async job fails, stop and report the failure instead of claiming the saved/default plan is installed. Only send the detailed *_checked and section keys when the user asks for a custom plan instead of the default metadata plan.

Endpoint

POST /v1/root/services/config

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (33)

apache_modulesOptional
Send in
JSON body
Type
array|string[]
Accepted values
Any value matching array|string[]
Example
["httpd-tools","mod_ssl","mod_http2","mod_security"]

Apache module package list. HTML form sends apache_modules[]. SHM filters out and does not persist mod_lua, mod_perl, mod_perl-devel, mod_log_post, mod_security_crs, or mod_security-mlogc. proxy_fcgi is provided by httpd-core for PHP-FPM. Required custom plans include httpd-tools, mod_ssl, mod_http2, and mod_security when the Apache WAF is enabled. SHM filters out and does not persist mod_lua, mod_perl, mod_perl-devel, mod_log_post, mod_fcgid, mod_markdown, mod_speedycgi, mod_wsgi, python3-mod_wsgi, mod_security_crs, or mod_security-mlogc. The proxy_fcgi module is provided by httpd-core and remains available for every per-domain PHP-FPM handler.

Validation and use: Optional Send this parameter as a JSON body property.

apache_mpmOptional
Send in
JSON body
Type
enum
Accepted values
event, worker, prefork
Example
event

Apache MPM when webserver=apache: event|worker|prefork. Apache MPM when webserver=apache or when Apache is part of the saved plan. Allowed values: event, worker, prefork.

Validation and use: Optional Send this parameter as a JSON body property.

apply_defaultsOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Alias of use_defaults.

Validation and use: Optional Send this parameter as a JSON body property.

database_checkedOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable the database section.

Validation and use: Optional Send this parameter as a JSON body property.

database_mariadbOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable MariaDB.

Validation and use: Optional Send this parameter as a JSON body property.

database_postgresqlOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable PostgreSQL as a separate database engine.

Validation and use: Optional Send this parameter as a JSON body property.

database_versionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
10.11

MariaDB version, for example 10.11 or 11.4. MariaDB target version, for example 10.11 or 11.4.

Validation and use: Optional Send this parameter as a JSON body property.

dnsserver_checkedOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable the DNS section.

Validation and use: Optional Send this parameter as a JSON body property.

exim_dovecotOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable the Exim + Dovecot mail stack. Enable Exim + Dovecot.

Validation and use: Optional Send this parameter as a JSON body property.

filetransfer_checkedOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable the file-transfer section.

Validation and use: Optional Send this parameter as a JSON body property.

force_reinstallOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
on

Force reinstall/reapply for selected components even if already detected. Force reapply/reinstall for selected components.

Validation and use: Optional Send this parameter as a JSON body property.

ftpOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable Pure-FTPd.

Validation and use: Optional Send this parameter as a JSON body property.

mailserver_checkedOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable the mail section.

Validation and use: Optional Send this parameter as a JSON body property.

nodejs_modulesOptional
Send in
JSON body
Type
array|string[]
Accepted values
Any value matching array|string[]
Example
["pm2","yarn","pnpm"]

Node.js tool list, for example pm2, yarn, pnpm. HTML form sends nodejs_modules[]. pm2 is mandatory and SHM adds it when omitted; default-ready installs use the union of existing tools plus pm2, yarn, pnpm. Node.js tools to install. pm2 is mandatory; default tools are pm2, yarn, pnpm.

Validation and use: Optional Send this parameter as a JSON body property.

nodejsversionOptional
Send in
JSON body
Type
array|string[]
Accepted values
Any value matching array|string[]
Example
["20","22","24","26"]

Node.js majors to install, for example 20, 22, 24, 26. HTML form sends nodejsversion[]. Default-ready installs use majors 22, 24, and 26 and preserve saved released even Node.js compatibility selections, including EOL lines. Node.js majors to install. Default expansion uses majors 22, 24, and 26 and preserves saved released even Node.js compatibility selections, including EOL lines.

Validation and use: Optional Send this parameter as a JSON body property.

pdns_serverOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable PowerDNS.

Validation and use: Optional Send this parameter as a JSON body property.

pgadminOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable the pgAdmin PostgreSQL administration UI. Requires PostgreSQL and runs as pgadmin UID/GID 886. Requires PostgreSQL.

Validation and use: Optional Send this parameter as a JSON body property.

php_modulesOptional
Send in
JSON body
Type
array|string[]
Accepted values
Any value matching array|string[]
Example
["runtime","php-common","php-fpm","php-cli","php-opcache"]

PHP package/extension list. Default-ready/all-services installs use every PHP module exposed by Server > Services: runtime, php-common, php-fpm, php-cli, php-opcache, php-devel, pear, php-phpdbg, php-bz2, php-calendar, php-curl, php-dba, php-exif, php-fileinfo, php-ftp, php-gd, php-gmp, php-imagick, php-imap, php-intl, php-ldap, php-mbstring, php-mcrypt, php-mysqli, php-mysql, php-odbc, php-pdo_mysql, php-pdo_pgsql, php-pdo_sqlite, php-pdo_sqlsrv, php-pgsql, php-pspell, php-soap, php-sockets, php-sodium, php-sqlite3, php-sqlsrv, php-tidy, php-xsl, php-xmlrpc, php-wddx, php-yaml, php-zip, php-brotli, php-enchant, php-bcmath, php-redis, php-ioncube. SQL Server modules are installed only for PHP 7.0 through PHP 8.5. HTML form sends php_modules[]. PHP modules to install. Default/all Services plans use every PHP module exposed by Server > Services; php-pdo_sqlsrv and php-sqlsrv are installed only for PHP 7.0 through PHP 8.5.

Validation and use: Optional Send this parameter as a JSON body property.

phpmyadminOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable phpMyAdmin. Requires MariaDB.

Validation and use: Optional Send this parameter as a JSON body property.

phpversionsOptional
Send in
JSON body
Type
array|string[]
Accepted values
Any value matching array|string[]
Example
["php84"]

PHP major runtime list. Default-ready/all-services installs use every available SHM PHP runtime: php56, php70, php71, php72, php73, php74, php80, php81, php82, php83, php84, php85. HTML form sends phpversions[]. PHP runtimes to install. All available SHM runtimes are php56, php70, php71, php72, php73, php74, php80, php81, php82, php83, php84, php85.

Validation and use: Optional Send this parameter as a JSON body property.

postgresql_versionOptional
Send in
JSON body
Type
enum
Accepted values
16, 17, 18
Example
17

PostgreSQL server major version: 16, 17, or 18. SHM manages one active major per server; selecting a higher supported major runs a guarded pg_upgrade copy-mode upgrade, while downgrades and legacy/non-SHM clusters are blocked. PostgreSQL server major. SHM manages one active PostgreSQL major per server; selecting a higher supported major runs a guarded pg_upgrade copy-mode upgrade, while downgrades and legacy/non-SHM clusters are blocked. PostgreSQL installs include the matching PGDG pg_repack_<major> package and expose /usr/local/bin/pg_repack for the selected major.

Validation and use: Optional Send this parameter as a JSON body property.

presetOptional
Send in
JSON body
Type
enum
Accepted values
default
Example
default

Set to default to apply the backend-owned default Services plan.

Validation and use: Optional Send this parameter as a JSON body property.

progress_taskOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
services_install_1778880000000_ab12cd34ef56

Optional progress task id matching [A-Za-z0-9_.-]{1,80}. When supplied, SHM writes live Services apply progress to GET /v1/progress/{task}. When supplied, poll GET /v1/progress/{task} to show live Services apply progress.

Validation and use: Optional Send this parameter as a JSON body property.

replace_allOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Replace the whole saved Services plan. Omit or set off to keep unspecified fields unchanged. Omit or set off to preserve unspecified fields.

Validation and use: Optional Send this parameter as a JSON body property.

roundcubeOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable Roundcube webmail.

Validation and use: Optional Send this parameter as a JSON body property.

scripting_nodejsOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable Node.js runtimes. Default-ready installs should enable this and use default Node.js majors 22, 24, and 26; Node.js 20 remains selectable/installable as an End of life compatibility runtime.

Validation and use: Optional Send this parameter as a JSON body property.

scripting_phpOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
on

Enable PHP runtimes.

Validation and use: Optional Send this parameter as a JSON body property.

scripting_podmanOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable Podman. SHM installs podman, podman-docker, and podman-compose.

Validation and use: Optional Send this parameter as a JSON body property.

sftpOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Enable SFTP.

Validation and use: Optional Send this parameter as a JSON body property.

use_defaultsOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Apply the backend-owned default Services plan from services.yaml default:true/false metadata. Use this for generic/default/all Services install requests. Alias: apply_defaults. Use this for generic/default/all Services requests.

Validation and use: Optional Send this parameter as a JSON body property.

webscripting_checkedOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
on

Enable the runtime section. Enable the web scripting/runtime section for a custom Services plan.

Validation and use: Optional Send this parameter as a JSON body property.

webserverOptional
Send in
JSON body
Type
enum
Accepted values
apache, nginx, nginxapache
Example
apache

Selected web stack: apache|nginx|nginxapache. Selected web stack for a custom plan. Use nginxapache for NGINX + Apache.

Validation and use: Optional Send this parameter as a JSON body property.

webserver_checkedOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
on

Enable the web-server section. Enable the web-server section for a custom Services plan.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 33 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "apache_modules": [
      "httpd-tools",
      "mod_ssl",
      "mod_http2",
      "mod_security"
    ],
    "apache_mpm": "event",
    "apply_defaults": true,
    "database_checked": 1,
    "database_mariadb": 1,
    "database_postgresql": 1,
    "database_version": "10.11",
    "dnsserver_checked": 1,
    "exim_dovecot": 1,
    "filetransfer_checked": 1,
    "force_reinstall": "on",
    "ftp": 1,
    "mailserver_checked": 1,
    "nodejs_modules": [
      "pm2",
      "yarn",
      "pnpm"
    ],
    "nodejsversion": [
      "20",
      "22",
      "24",
      "26"
    ],
    "pdns_server": 1,
    "pgadmin": 1,
    "php_modules": [
      "runtime",
      "php-common",
      "php-fpm",
      "php-cli",
      "php-opcache"
    ],
    "phpmyadmin": 1,
    "phpversions": [
      "php84"
    ],
    "postgresql_version": "17",
    "preset": "default",
    "progress_task": "services_install_1778880000000_ab12cd34ef56",
    "replace_all": true,
    "roundcube": 1,
    "scripting_nodejs": 1,
    "scripting_php": "on",
    "scripting_podman": 1,
    "sftp": 1,
    "use_defaults": true,
    "webscripting_checked": "on",
    "webserver": "apache",
    "webserver_checked": "on"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/services/config' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"use_defaults":true,"preset":"default"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Apply the standard hosting stack
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "use_defaults": true,
    "preset": "default"
  }
}
Reapply selected services
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "webserver_checked": "on",
    "webserver": "apache",
    "apache_mpm": "event",
    "apache_modules": [
      "httpd-tools",
      "mod_ssl",
      "mod_http2",
      "mod_security"
    ],
    "webscripting_checked": "on",
    "scripting_php": "on",
    "phpversions": [
      "php84"
    ],
    "php_modules": [
      "runtime",
      "php-common",
      "php-fpm",
      "php-cli",
      "php-opcache"
    ],
    "force_reinstall": "on"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

FieldDocumented type or shape
statusstring
titlestring
messagestring

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/services/installers/{service}rootRun one root-only native service installer/apply action for a single Services component. Use POST /v1/root/services/config instead when the user asks to install the default server, install all/default Services, make the server ready, or repair the complete Services stack. Use this endpoint only for one missing/failed component after reading GET /v1/root/services/status.

What this endpoint does

Run one root-only native service installer/apply action for a single Services component. Use POST /v1/root/services/config instead when the user asks to install the default server, install all/default Services, make the server ready, or repair the complete Services stack. Use this endpoint only for one missing/failed component after reading GET /v1/root/services/status.

Operational guidance: Run one targeted installer/apply action instead of posting the full services plan. Use POST /v1/root/services/config, not this endpoint, when the user asks to install the default server, install all/default Services, make the server ready, or repair the complete Services stack. Workflow for a single missing component: GET /v1/root/services/status, map the missing/failed row to this installer, POST this endpoint, then GET status again. Service map: apache/httpd=>httpd, nginx=>nginx, php/php-fpm=>php, nodejs=>nodejs, mariadb/mysql/database=>database, postgresql/postgres=>postgresql, pgadmin=>pgadmin, ftp/pure-ftpd/pure-authd/pure-certd=>ftp with install=true and ftp=true, sftp=>sftp with sftp=true, dns/pdns/powerdns=>pdns with pdns=true, roundcube=>roundcube, phpmyadmin=>phpmyadmin, podman=>podman. Apache and Nginx installers are web-stack operations: when adding or repairing one web layer on a server where the other layer is already present, send nginxapache=true to keep NGINX + Apache mode; send nginxapache=false only when the user explicitly asks to switch to Apache-only or NGINX-only and understands the other web server can be removed. For php targeted installs, send phpversions/versions/php_versions and php_modules/modules; if omitted, SHM defaults to every available PHP runtime php56 through php85 and every PHP module exposed by Server > Services, skipping compatibility-limited modules such as php-pdo_sqlsrv and php-sqlsrv outside PHP 7.0 through PHP 8.5. For nodejs targeted installs, send versions/nodejsversion and modules/nodejs_modules; if omitted, SHM defaults to Node.js 22,24,26 and tools pm2,yarn,pnpm; released even lines such as Node.js 20 are accepted when selected/saved for lifecycle compatibility. pm2 is mandatory. For postgresql targeted installs, send postgresql_version/version 16, 17, or 18; SHM uses PGDG packages, installs the matching pg_repack_<major> package, exposes /usr/local/bin/pg_repack for the selected major, supports guarded pg_upgrade copy-mode upgrades to higher supported majors, and blocks downgrades/legacy clusters. For mail/exim/dovecot plan changes use POST /v1/root/services/config, not an invented installer.

Endpoint

POST /v1/root/services/installers/{service}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (12)

serviceRequired
Send in
URL path
Type
enum
Accepted values
httpd, apache, nginx, php, nodejs, mariadb, database, postgresql, ftp, podman, sftp, roundcube, mailman, phpmyadmin, pgadmin, pdns, postgres
Example
ftp

Service path parameter. Allowed values: httpd, apache, nginx, php, nodejs, mariadb, database, postgresql, ftp, podman, sftp, roundcube, mailman, phpmyadmin, pgadmin, pdns. Installer target: apache|httpd|nginx|php|nodejs|mariadb|database|postgresql|postgres|pgadmin|ftp|podman|sftp|roundcube|phpmyadmin|pdns. Map apache/httpd to httpd, mariadb/mysql/database to database, postgresql/postgres to postgresql, ftp/pure-ftpd/pure-authd/pure-certd to ftp, dns/pdns/powerdns to pdns. For php, SHM defaults to all available runtimes php56 through php85 if no versions are saved or supplied. For nodejs, SHM defaults to versions 22,24,26 and tools pm2,yarn,pnpm if not supplied; released even lines such as 20 remain accepted for lifecycle compatibility when selected/saved. For postgresql, send postgresql_version/version 16, 17, or 18; SHM supports guarded pg_upgrade copy-mode upgrades to higher supported majors and blocks downgrades/legacy clusters. Installer target service family.

Validation and use: Required Replace this placeholder directly in the URL path.

enabledOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Alias of install. Prefer install.

Validation and use: Optional Send this parameter as a JSON body property.

ftpOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

For the ftp installer, control the FTP daemon state. Use install=true and ftp=true to install or repair FTP/Pure-FTPd/pure-authd/pure-certd. For ftp installer, control FTP/Pure-FTPd state. Use install=true and ftp=true to install or repair FTP.

Validation and use: Optional Send this parameter as a JSON body property.

installOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

Enable or disable the target service. Alias: enabled.

Validation and use: Optional Send this parameter as a JSON body property.

nginxapacheOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

For apache/nginx installers, keep the combined NGINX + Apache mode enabled. Send true when adding/repairing one web layer while the other is present. Send false only for an explicit switch to Apache-only or NGINX-only, because the other web server may be removed. For apache/nginx installers, keep combined NGINX + Apache mode. Send true when adding or repairing one web layer while the other is present; send false only for an explicit exclusive Apache-only or NGINX-only switch.

Validation and use: Optional Send this parameter as a JSON body property.

nodejs_modulesOptional
Send in
JSON body
Type
array|string[]
Accepted values
Any value matching array|string[]
Example
["pm2","yarn","pnpm"]

For the nodejs installer, Node.js tools to install. Defaults to pm2,yarn,pnpm when omitted and no saved tools exist. pm2 is mandatory. Alias: modules. For nodejs installer, Node.js tools to install. pm2 is mandatory; default tools are pm2, yarn, pnpm.

Validation and use: Optional Send this parameter as a JSON body property.

nodejsversionOptional
Send in
JSON body
Type
array|string[]
Accepted values
Any value matching array|string[]
Example
["20","22","24","26"]

For the nodejs installer, Node.js majors to install. Defaults to supported majors 22,24,26 when omitted; released even lines such as 20 remain accepted for lifecycle compatibility when selected/saved. Aliases: versions, nodejs_versions. For nodejs installer, Node.js majors to install. Defaults to supported majors 22, 24, and 26 when omitted; released even lines such as 20 are accepted for lifecycle compatibility.

Validation and use: Optional Send this parameter as a JSON body property.

pdnsOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

For the pdns installer, control the PowerDNS service state. For pdns installer, control PowerDNS service state.

Validation and use: Optional Send this parameter as a JSON body property.

php_modulesOptional
Send in
JSON body
Type
array|string[]
Accepted values
Any value matching array|string[]
Example
["runtime","php-common","php-fpm","php-cli","php-opcache","php-devel","pear","php-phpdbg","php-bz2","php-calendar","php-curl","php-dba","php-exif","php-fileinfo","php-ftp","php-gd","php-gmp","php-imagick","php-imap","php-intl","php-ldap","php-mbstring","php-mcrypt","php-mysqli","php-mysql","php-odbc","php-pdo_mysql","php-pdo_pgsql","php-pdo_sqlite","php-pdo_sqlsrv","php-pgsql","php-pspell","php-soap","php-sockets","php-sodium","php-sqlite3","php-sqlsrv","php-tidy","php-xsl","php-xmlrpc","php-wddx","php-yaml","php-zip","php-brotli","php-enchant","php-bcmath","php-redis","php-ioncube"]

For the php installer, PHP runtime modules to install. Defaults to every Server > Services PHP module when omitted and no saved modules exist: runtime, php-common, php-fpm, php-cli, php-opcache, php-devel, pear, php-phpdbg, php-bz2, php-calendar, php-curl, php-dba, php-exif, php-fileinfo, php-ftp, php-gd, php-gmp, php-imagick, php-imap, php-intl, php-ldap, php-mbstring, php-mcrypt, php-mysqli, php-mysql, php-odbc, php-pdo_mysql, php-pdo_pgsql, php-pdo_sqlite, php-pdo_sqlsrv, php-pgsql, php-pspell, php-soap, php-sockets, php-sodium, php-sqlite3, php-sqlsrv, php-tidy, php-xsl, php-xmlrpc, php-wddx, php-yaml, php-zip, php-brotli, php-enchant, php-bcmath, php-redis, php-ioncube. SQL Server modules are installed only for PHP 7.0 through PHP 8.5. Alias: modules. For php installer, PHP modules to install. For all/default PHP, send every PHP module exposed by Server > Services; php-pdo_sqlsrv and php-sqlsrv are installed only for PHP 7.0 through PHP 8.5.

Validation and use: Optional Send this parameter as a JSON body property.

phpversionsOptional
Send in
JSON body
Type
array|string[]
Accepted values
Any value matching array|string[]
Example
["php56","php70","php71","php72","php73","php74","php80","php81","php82","php83","php84","php85"]

For the php installer, PHP runtimes to install. Defaults to php56, php70, php71, php72, php73, php74, php80, php81, php82, php83, php84, php85 when omitted and no saved versions exist. Aliases: versions, php_versions. For php installer, runtimes to install.

Validation and use: Optional Send this parameter as a JSON body property.

postgresql_versionOptional
Send in
JSON body
Type
enum
Accepted values
16, 17, 18
Example
16

PostgreSQL target major for service=postgresql. Alias: version. Higher supported majors trigger a guarded pg_upgrade copy-mode upgrade; downgrades are blocked. SHM installs pg_repack_<major> with the selected PGDG major and exposes /usr/local/bin/pg_repack.

Validation and use: Optional Send this parameter as a JSON body property.

sftpOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
true

For the sftp installer, control the SFTP service state. For sftp installer, control SFTP service state.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 12 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "service": "ftp"
  },
  "query_parameters": {},
  "json_body": {
    "enabled": 1,
    "ftp": true,
    "install": true,
    "nginxapache": true,
    "nodejs_modules": [
      "pm2",
      "yarn",
      "pnpm"
    ],
    "nodejsversion": [
      "20",
      "22",
      "24",
      "26"
    ],
    "pdns": true,
    "php_modules": [
      "runtime",
      "php-common",
      "php-fpm",
      "php-cli",
      "php-opcache",
      "php-devel",
      "pear",
      "php-phpdbg",
      "php-bz2",
      "php-calendar",
      "php-curl",
      "php-dba",
      "php-exif",
      "php-fileinfo",
      "php-ftp",
      "php-gd",
      "php-gmp",
      "php-imagick",
      "php-imap",
      "php-intl",
      "php-ldap",
      "php-mbstring",
      "php-mcrypt",
      "php-mysqli",
      "php-mysql",
      "php-odbc",
      "php-pdo_mysql",
      "php-pdo_pgsql",
      "php-pdo_sqlite",
      "php-pdo_sqlsrv",
      "php-pgsql",
      "php-pspell",
      "php-soap",
      "php-sockets",
      "php-sodium",
      "php-sqlite3",
      "php-sqlsrv",
      "php-tidy",
      "php-xsl",
      "php-xmlrpc",
      "php-wddx",
      "php-yaml",
      "php-zip",
      "php-brotli",
      "php-enchant",
      "php-bcmath",
      "php-redis",
      "php-ioncube"
    ],
    "phpversions": [
      "php56",
      "php70",
      "php71",
      "php72",
      "php73",
      "php74",
      "php80",
      "php81",
      "php82",
      "php83",
      "php84",
      "php85"
    ],
    "postgresql_version": 16,
    "sftp": true
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/services/installers/ftp' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"install":true,"ftp":true}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Install or repair FTP stack
{
  "path_parameters": {
    "service": "ftp"
  },
  "query_parameters": {},
  "json_body": {
    "install": true,
    "ftp": true
  }
}
Install PowerDNS
{
  "path_parameters": {
    "service": "pdns"
  },
  "query_parameters": {},
  "json_body": {
    "install": true,
    "pdns": true
  }
}
Install SFTP
{
  "path_parameters": {
    "service": "sftp"
  },
  "query_parameters": {},
  "json_body": {
    "install": true,
    "sftp": true
  }
}
Install all PHP runtimes and modules
{
  "path_parameters": {
    "service": "php"
  },
  "query_parameters": {},
  "json_body": {
    "install": true,
    "phpversions": [
      "php56",
      "php70",
      "php71",
      "php72",
      "php73",
      "php74",
      "php80",
      "php81",
      "php82",
      "php83",
      "php84",
      "php85"
    ],
    "php_modules": [
      "runtime",
      "php-common",
      "php-fpm",
      "php-cli",
      "php-opcache",
      "php-devel",
      "pear",
      "php-phpdbg",
      "php-bz2",
      "php-calendar",
      "php-curl",
      "php-dba",
      "php-exif",
      "php-fileinfo",
      "php-ftp",
      "php-gd",
      "php-gmp",
      "php-imagick",
      "php-imap",
      "php-intl",
      "php-ldap",
      "php-mbstring",
      "php-mcrypt",
      "php-mysqli",
      "php-mysql",
      "php-odbc",
      "php-pdo_mysql",
      "php-pdo_pgsql",
      "php-pdo_sqlite",
      "php-pdo_sqlsrv",
      "php-pgsql",
      "php-pspell",
      "php-soap",
      "php-sockets",
      "php-sodium",
      "php-sqlite3",
      "php-sqlsrv",
      "php-tidy",
      "php-xsl",
      "php-xmlrpc",
      "php-wddx",
      "php-yaml",
      "php-zip",
      "php-brotli",
      "php-enchant",
      "php-bcmath",
      "php-redis",
      "php-ioncube"
    ]
  }
}
Install Node.js runtimes and tools
{
  "path_parameters": {
    "service": "nodejs"
  },
  "query_parameters": {},
  "json_body": {
    "install": true,
    "nodejsversion": [
      "20",
      "22",
      "24",
      "26"
    ],
    "nodejs_modules": [
      "pm2",
      "yarn",
      "pnpm"
    ]
  }
}
Enable phpMyAdmin only
{
  "path_parameters": {
    "service": "phpmyadmin"
  },
  "query_parameters": {},
  "json_body": {
    "install": true
  }
}
Disable FTP
{
  "path_parameters": {
    "service": "ftp"
  },
  "query_parameters": {},
  "json_body": {
    "install": false,
    "ftp": false
  }
}
Keep Apache in nginx+apache mode
{
  "path_parameters": {
    "service": "httpd"
  },
  "query_parameters": {},
  "json_body": {
    "install": true,
    "nginxapache": true
  }
}
Keep NGINX in nginx+apache mode
{
  "path_parameters": {
    "service": "nginx"
  },
  "query_parameters": {},
  "json_body": {
    "install": true,
    "nginxapache": true
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

FieldDocumented type or shape
statusstring
titlestring
messagestring
installedboolean
detailsstring[]

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/services/statusrootList the root Server > Services status rows shown by services-status.php.

What this endpoint does

List the root Server > Services status rows shown by services-status.php.

Operational guidance: List the status rows used by server/services-status.php. Each row reports the normalized service key, display label, state, CPU, RAM, and uptime.

Endpoint

GET /v1/root/services/status

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/services/status' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

List service rows
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

FieldDocumented type or shape
statusstring
rowsarray<object>

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

GET/v1/root/services/status/{service}rootRead one root service-status row for a concrete service key.

What this endpoint does

Read one root service-status row for a concrete service key.

Operational guidance: Read one service-status row. Allowed values for {service} are the live service keys returned by GET /v1/root/services/status.

Endpoint

GET /v1/root/services/status/{service}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

serviceRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
apache

Service key from the status list, for example apache, nginx, mariadb, ftp, sftp, roundcube, phpmyadmin, dovecot. Allowed values: live service keys returned by GET /v1/root/services/status. Common keys: apache, nginx, mariadb, ftp, sftp, roundcube, phpmyadmin, dovecot, radicale.

Validation and use: Required Replace this placeholder directly in the URL path.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "service": "apache"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/services/status/apache' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "service": "apache"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

FieldDocumented type or shape
statusstring
servicestring
display_namestring
statestring
cpustring
memstring
uptimestring

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/services/status/{service}/{cmd}rootRun a root-only service action from the Services Status page and return the refreshed row.

What this endpoint does

Run a root-only service action from the Services Status page and return the refreshed row.

Operational guidance: Execute one service action. Allowed values for {service} are the live service keys returned by GET /v1/root/services/status.

Endpoint

POST /v1/root/services/status/{service}/{cmd}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

cmdRequired
Send in
URL path
Type
enum
Accepted values
start, stop, restart, reload
Example
start

Cmd path parameter. Allowed values: start, stop, restart, reload. Service command: start|stop|restart|reload.

Validation and use: Required Replace this placeholder directly in the URL path.

serviceRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
apache

Service key from the status list. Allowed values: live service keys returned by GET /v1/root/services/status. Common keys: apache, nginx, mariadb, ftp, sftp, roundcube, phpmyadmin, dovecot, radicale.

Validation and use: Required Replace this placeholder directly in the URL path.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "cmd": "start",
    "service": "apache"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/services/status/apache/start' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "service": "apache",
    "cmd": "start"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

FieldDocumented type or shape
statusstring
command_okboolean
outputstring
servicestring
display_namestring
statestring
cpustring
memstring
uptimestring

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

Traffic Monitor

GET/v1/root/traffic-monitor/procinfo-batchrootRead traffic monitor process details in batch.

What this endpoint does

Read traffic monitor process details in batch.

Endpoint

GET /v1/root/traffic-monitor/procinfo-batch

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

pidsOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
1234,5678

Pids accepted by this endpoint while it performs: Read traffic monitor process details in batch. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter in the query string.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {
    "pids": "1234,5678"
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/traffic-monitor/procinfo-batch?pids=1234%2C5678' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {
    "pids": "1234,5678"
  },
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

GET/v1/root/traffic-monitor/procinfo/{pid}rootRead traffic monitor process details.

What this endpoint does

Read traffic monitor process details.

Endpoint

GET /v1/root/traffic-monitor/procinfo/{pid}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

pidRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
demo

Pid that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "pid": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/traffic-monitor/procinfo/demo' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "pid": "demo"
  },
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

GET/v1/root/traffic-monitor/rdnsrootResolve traffic monitor remote hostnames.

What this endpoint does

Resolve traffic monitor remote hostnames.

Endpoint

GET /v1/root/traffic-monitor/rdns

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

ipsOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
192.0.2.10

Ips accepted by this endpoint while it performs: Resolve traffic monitor remote hostnames. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter in the query string.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {
    "ips": "192.0.2.10"
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/traffic-monitor/rdns?ips=192.0.2.10' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {
    "ips": "192.0.2.10"
  },
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

GET/v1/root/traffic-monitor/snapshotrootRead the traffic monitor snapshot.

What this endpoint does

Read the traffic monitor snapshot.

Endpoint

GET /v1/root/traffic-monitor/snapshot

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

loOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
0

Lo accepted by this endpoint while it performs: Read the traffic monitor snapshot. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter in the query string.

maxOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
1

Max accepted by this endpoint while it performs: Read the traffic monitor snapshot. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter in the query string.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {
    "lo": "0",
    "max": 1
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/traffic-monitor/snapshot?lo=0&max=1' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {
    "lo": "0",
    "max": 1
  },
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

Updates

PATCH/v1/root/system/auto-updaterootUpdate automatic system update settings.

What this endpoint does

Update automatic system update settings.

Operational guidance: Enable or disable automatic SHM system updates.

Endpoint

PATCH /v1/root/system/auto-update

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

stateOptional
Send in
JSON body
Type
enum
Accepted values
on, off
Example
off

Allowed values: on, off. Default: on.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "state": "off"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/system/auto-update' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"state":"off"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Disable automatic system updates
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "state": "off"
  }
}
Disable automatic system updates
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "state": "off"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/system/update/jobs/{job_id}rootRead a system update job status.

What this endpoint does

Read a system update job status.

Endpoint

GET /v1/root/system/update/jobs/{job_id}

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (2)

job_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
job-id-from-previous-response

Job id that selects the exact resource in this URL. Obtain it from the related SHM list or context response.

Validation and use: Required Replace this placeholder directly in the URL path. Use the task/job id returned by the endpoint that started the async operation.

offsetOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
0

Offset query parameter.

Validation and use: Optional Send this parameter in the query string.

Complete request template

This reference template contains all 2 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {
    "job_id": "job-id-from-previous-response"
  },
  "query_parameters": {
    "offset": 0
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/system/update/jobs/job-id-from-previous-response?offset=0' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Example note: Requires a value returned by another endpoint before QA can execute this request.

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {
    "job_id": "job-id-from-previous-response"
  },
  "query_parameters": {
    "offset": 0
  },
  "json_body": {}
}

Requires a value returned by another endpoint before QA can execute this request.

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

POST/v1/root/system/update/runrootRun a system update job.

What this endpoint does

Run a system update job.

Endpoint

POST /v1/root/system/update/run

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (4)

checkOnlyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

CheckOnly accepted by this endpoint while it performs: Run a system update job. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

check_onlyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Check only accepted by this endpoint while it performs: Run a system update job. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

excludeKernelOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

ExcludeKernel accepted by this endpoint while it performs: Run a system update job. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

exclude_kernelOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Exclude kernel accepted by this endpoint while it performs: Run a system update job. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 4 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "checkOnly": 1,
    "check_only": 1,
    "excludeKernel": 1,
    "exclude_kernel": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/system/update/run' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"exclude_kernel":1,"excludeKernel":1,"check_only":1,"checkOnly":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "exclude_kernel": 1,
    "excludeKernel": 1,
    "check_only": 1,
    "checkOnly": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

PATCH/v1/root/update/auto-updaterootUpdate the SHM updater automatic-update setting.

What this endpoint does

Update the SHM updater automatic-update setting.

Endpoint

PATCH /v1/root/update/auto-update

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

stateOptional
Send in
JSON body
Type
enum
Accepted values
off, on
Example
off

State request field. Allowed values: off, on.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "state": "off"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/update/auto-update' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"state":"off"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "state": "off"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

PATCH/v1/root/update/channelrootUpdate the SHM updater release channel.

What this endpoint does

Update the SHM updater release channel.

Endpoint

PATCH /v1/root/update/channel

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (1)

channelOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
stable

Channel accepted by this endpoint while it performs: Update the SHM updater release channel. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 1 current parameter key. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "channel": "stable"
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X PATCH 'https://panel.example.com:882/v1/root/update/channel' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"channel":"stable"}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "channel": "stable"
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

POST/v1/root/update/runrootRun the SHM updater.

What this endpoint does

Run the SHM updater.

Endpoint

POST /v1/root/update/run

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (6)

check_onlyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Check only accepted by this endpoint while it performs: Run the SHM updater. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

forceOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Force accepted by this endpoint while it performs: Run the SHM updater. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

force_reapplyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Force reapply accepted by this endpoint while it performs: Run the SHM updater. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

inline_legacyOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Inline legacy accepted by this endpoint while it performs: Run the SHM updater. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

manualOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Manual accepted by this endpoint while it performs: Run the SHM updater. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

quietOptional
Send in
JSON body
Type
enum
Accepted values
1, 0, true, false, yes, no, on, off
Example
1

Quiet accepted by this endpoint while it performs: Run the SHM updater. Use the documented type, location, and constraints below.

Validation and use: Optional Send this parameter as a JSON body property.

Complete request template

This reference template contains all 6 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "check_only": 1,
    "force": 1,
    "force_reapply": 1,
    "inline_legacy": 1,
    "manual": 1,
    "quiet": 1
  },
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X POST 'https://panel.example.com:882/v1/root/update/run' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"quiet":1,"check_only":1,"inline_legacy":1,"force":1}'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "quiet": 1,
    "check_only": 1,
    "inline_legacy": 1,
    "force": 1
  }
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}

Operational note

This endpoint can change state. Confirm the target and current state, keep a recovery path, and do not retry it blindly after an unknown result.

GET/v1/root/update/staterootRead the SHM updater state.

What this endpoint does

Read the SHM updater state.

Endpoint

GET /v1/root/update/state

Authentication and permissions

Send X-Api-User and X-Api-Key. This endpoint requires root authority and may affect provider or server-wide state.

AI Mode availability

Discoverable by Workspace AI for an authorized root or reseller role. It is not part of the account-chat surface.

Parameters (0)

This endpoint accepts no path, query, or JSON parameters.

Complete request template

This reference template contains all 0 current parameter keys. Keys under query_or_json_parameters may be sent in either accepted location. Conditional or action-specific keys are alternatives; keep only the branch you are actually calling.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Runnable workflow example

curl -sS -X GET 'https://panel.example.com:882/v1/root/update/state' \
  -H 'X-Api-User: root' \
  -H 'X-Api-Key: YOUR_API_KEY'

Documented workflow examples

These are valid workflow branches from the current contract. They may use only the keys needed for that branch; the complete template above remains the exhaustive key list.

Example request
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

On success, SHM returns a JSON success envelope and the endpoint-specific state or result described below. Verify a mutation with the corresponding read endpoint or owning SHM page.

The success payload is endpoint-specific. Read the returned status, preserve request_id when present, and inspect the resource fields described by the endpoint.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}

Operational note

This endpoint reads state. Use its current identifiers and result before calling a related create, update, delete, repair, or restore operation.

Result and next check

Read the HTTP status and JSON envelope, preserve the request id when returned, and verify state-changing results through a follow-up read or the related SHM page. Retry reads with care; retry writes only when their idempotency and prior outcome are known.

Theme color