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_quarantineAction-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_mailboxesAction-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_manyAction-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_deleteComplete 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-denyignoreComplete 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-denyignoreComplete 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-denyignoreComplete 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-denyignoreComplete 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)
startstoprestartenabledisableunit values (2)
firewalldsynconix-intrusion-monitorComplete 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.
| Field | Documented type or shape |
|---|---|
mode | preview|apply |
plan_token | one-use plan token |
actions | preview action names or per-action apply results |
protected_paths | customer home and configured backup roots excluded by the fixed action contract |
customer_backup_paths_touched | always 0 for the fixed action implementation |
free_bytes_before | apply-only root filesystem free bytes before actions |
free_bytes_after | apply-only root filesystem free bytes after actions |
verification.complete | 1 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.
| Field | Documented 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.
| Field | Documented type or shape |
|---|---|
job | Migration 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)
startstoprestartComplete 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.
| Field | Documented 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×tamp=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.
| Field | Documented type or shape |
|---|---|
status | string |
message | string |
services | object |
detected | object |
nodejs_installed_versions | string[] |
mariadb_allowed_versions | string[] |
mariadb_installed_full | string |
mariadb_installed_mm | string |
postgresql_allowed_versions | string[] |
postgresql_default_version | string |
postgresql_installed_major | string |
postgresql_installed_full | string |
postgresql_data_dir | string |
postgresql_legacy | boolean |
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.
| Field | Documented type or shape |
|---|---|
status | string |
title | string |
message | string |
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.
| Field | Documented type or shape |
|---|---|
status | string |
title | string |
message | string |
installed | boolean |
details | string[] |
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.
| Field | Documented type or shape |
|---|---|
status | string |
rows | array<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.
| Field | Documented type or shape |
|---|---|
status | string |
service | string |
display_name | string |
state | string |
cpu | string |
mem | string |
uptime | string |
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.
| Field | Documented type or shape |
|---|---|
status | string |
command_ok | boolean |
output | string |
service | string |
display_name | string |
state | string |
cpu | string |
mem | string |
uptime | string |
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