Reseller API

Use these API actions to manage your customers and the hosting plans available to your reseller account.

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

Available to: Root and reseller API identities inside delegated scope.

Before you start

Have your API username and key ready. Replace the example server address with your own, keeping port 882. Check the account or website before sending a request that changes or deletes data.

Authentication

Send X-Api-User and X-Api-Key to the SHM Engine on port 882. JSON requests also send Content-Type: application/json. Your API key can only access the accounts and tools allowed for its user.

How to read each endpoint

Choose an action to see its fields and an example request. Required fields must be supplied; optional fields let you refine the request. Conditional fields are needed only for the choices described beside them. If you use the assistant instead, see AI Mode.

Reseller API endpoint reference (98)

Account Packages

GET/v1/account-packagesroot resellerView the hosting plans available to you.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (0)

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

List account packages and current enforcement capabilities
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {}
}

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

FieldDocumented type or shape
statusstring
messagestring
countinteger
packagesobject[]
runtime_capabilitiesobject{resource_limits:object{state:string,available:boolean,reason:string,cgroup_version:string,systemd_pid1:boolean,supported_fields:string[],missing_controllers:string[],controllers:string[],fields:object},quota:object{mode:string,storage_path:string,available:boolean,reason:string,fields:object}}

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}
POST/v1/account-packagesroot resellerCreate a hosting plan to assign to customer accounts.

Before you start

Use -1 for an unlimited allowance. SHM rejects a limit that the server cannot enforce.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (19)

packagenameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
PACKAGENAME_FROM_LIST_RESPONSE

Package name. Package display name (1–64 chars; letters, numbers, spaces, hyphens, and underscores).

Validation and use:

addondomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Addon domains limit (-1 unlimited if allowed).

Validation and use:

databasesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Databases limit (-1 unlimited if allowed).

Validation and use:

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

Dedicated IP toggle. 1 to require dedicated IP for accounts using this package.

Validation and use:

diskspacequotaOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Disk quota (MB). -1 is unlimited. A finite value requires filesystem user-quota support.

Validation and use:

emailaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Email accounts limit (-1 unlimited if allowed).

Validation and use:

feature_profileOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Feature profile selection. Alias of featureprofile. Prefer featureprofile.

Validation and use:

featureprofileOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Feature profile id. Alias: feature_profile.

Validation and use:

ftpaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

FTP accounts limit (-1 unlimited if allowed).

Validation and use:

maxcpuusageOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

CPU percent limit. -1 is unlimited. A finite value requires the delegated cgroup v2 cpu controller.

Validation and use:

maxemailsperhourOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max emails per hour (-1 unlimited if allowed).

Validation and use:

maxinodeslimitOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Inode limit. -1 is unlimited. A finite value requires filesystem user-quota support.

Validation and use:

maxiodiskbandwidthOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

I/O bandwidth limit in MB/s. -1 or 0 is unlimited. A finite value requires the delegated cgroup v2 io controller.

Validation and use:

maxiopslimitsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

IOPS limit. -1 or 0 is unlimited. A finite value requires the delegated cgroup v2 io controller.

Validation and use:

maxmemorysizeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Memory limit in MB. -1 is unlimited. A finite value requires the delegated cgroup v2 memory controller.

Validation and use:

maxuserprocessesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Task/process limit. -1 is unlimited. A finite value requires the delegated cgroup v2 pids controller.

Validation and use:

parkeddomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Parked domains limit (-1 unlimited if allowed).

Validation and use:

shellOptional
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
0

Shell mode: 0 disabled, 1 bash, 2 jail. Allowed values: 0, 1, 2.

Validation and use:

subdomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Subdomains limit (-1 unlimited if allowed).

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "packagename": "PACKAGENAME_FROM_LIST_RESPONSE",
    "addondomains": "-1",
    "databases": "-1",
    "dedicatedip": "0",
    "diskspacequota": "-1",
    "emailaccounts": "-1",
    "feature_profile": 1,
    "featureprofile": "1",
    "ftpaccounts": "-1",
    "maxcpuusage": "-1",
    "maxemailsperhour": "-1",
    "maxinodeslimit": "-1",
    "maxiodiskbandwidth": "-1",
    "maxiopslimits": "-1",
    "maxmemorysize": "-1",
    "maxuserprocesses": "-1",
    "parkeddomains": "-1",
    "shell": "0",
    "subdomains": "-1"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/account-packages' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"packagename":"PACKAGENAME_FROM_LIST_RESPONSE","featureprofile":"1","diskspacequota":"-1","addondomains":"-1","parkeddomains":"-1","subdomains":"-1","databases":"-1","emailaccounts":"-1","maxemailsperhour":"-1","ftpaccounts":"-1","maxcpuusage":"-1","maxmemorysize":"-1","maxuserprocesses":"-1","maxinodeslimit":"-1","maxiodiskbandwidth":"-1","maxiopslimits":"-1","shell":"0","dedicatedip":"0"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Create unlimited account package
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "packagename": "PACKAGENAME_FROM_LIST_RESPONSE",
    "featureprofile": "1",
    "diskspacequota": "-1",
    "addondomains": "-1",
    "parkeddomains": "-1",
    "subdomains": "-1",
    "databases": "-1",
    "emailaccounts": "-1",
    "maxemailsperhour": "-1",
    "ftpaccounts": "-1",
    "maxcpuusage": "-1",
    "maxmemorysize": "-1",
    "maxuserprocesses": "-1",
    "maxinodeslimit": "-1",
    "maxiodiskbandwidth": "-1",
    "maxiopslimits": "-1",
    "shell": "0",
    "dedicatedip": "0"
  }
}

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

Create limited account package
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "packagename": "PACKAGENAME_FROM_LIST_RESPONSE",
    "featureprofile": "1",
    "diskspacequota": "10240",
    "addondomains": "10",
    "parkeddomains": "10",
    "subdomains": "50",
    "databases": "20",
    "emailaccounts": "50",
    "maxemailsperhour": "500",
    "ftpaccounts": "10",
    "maxcpuusage": "100",
    "maxmemorysize": "1024",
    "maxuserprocesses": "100",
    "maxinodeslimit": "100000",
    "maxiodiskbandwidth": "0",
    "maxiopslimits": "0",
    "shell": "0",
    "dedicatedip": "0"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

FieldDocumented type or shape
statusstring
messagestring
package_idinteger
packageobject
runtime_capabilitiesobject{resource_limits:object,quota:object}

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
DELETE/v1/account-packages/{id}root resellerDelete account package (if unused).

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

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 template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X DELETE 'https://panel.example.com:882/v1/account-packages/1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/account-packages/{id}root resellerView a hosting plan's limits and included features.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

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 template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

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

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Read one account package and capability state
{
  "path_parameters": {
    "id": "1"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

FieldDocumented type or shape
statusstring
messagestring
packageobject
runtime_capabilitiesobject{resource_limits:object,quota:object}

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/account-packages/{id}root resellerChange the limits or features in a hosting plan.

Before you start

Settings you leave out keep their current values. SHM rejects a limit that the server cannot enforce.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (21)

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.

addondomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Addon domains limit (-1 unlimited if allowed).

Validation and use:

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

Apply the package changes to accounts that currently use this package, in addition to updating the reusable package definition.

Validation and use:

databasesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Databases limit (-1 unlimited if allowed).

Validation and use:

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

Dedicated IP toggle. 1 to require dedicated IP for accounts using this package.

Validation and use:

diskspacequotaOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
100

Disk quota (MB). -1 unlimited (if allowed).

Validation and use:

emailaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Email accounts limit (-1 unlimited if allowed).

Validation and use:

feature_profileOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Feature profile selection. Alias of featureprofile. Prefer featureprofile.

Validation and use:

featureprofileOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Feature profile id. Alias: feature_profile.

Validation and use:

ftpaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

FTP accounts limit (-1 unlimited if allowed).

Validation and use:

maxcpuusageOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

CPU limit (-1 unlimited if allowed).

Validation and use:

maxemailsperhourOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max emails per hour (-1 unlimited if allowed).

Validation and use:

maxinodeslimitOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Inode limit (-1 unlimited if allowed).

Validation and use:

maxiodiskbandwidthOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

IO bandwidth limit (-1 unlimited if allowed).

Validation and use:

maxiopslimitsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

IOPS limit (-1 unlimited if allowed).

Validation and use:

maxmemorysizeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Memory limit (-1 unlimited if allowed).

Validation and use:

maxuserprocessesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Process limit (-1 unlimited if allowed).

Validation and use:

packagenameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
PACKAGENAME_FROM_LIST_RESPONSE

Package name. Package display name (1–64 chars; letters, numbers, spaces, hyphens, and underscores).

Validation and use:

parkeddomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Parked domains limit (-1 unlimited if allowed).

Validation and use:

shellOptional
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
0

Shell mode: 0 disabled, 1 bash, 2 jail. Allowed values: 0, 1, 2.

Validation and use:

subdomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Subdomains limit (-1 unlimited if allowed).

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {
    "addondomains": -1,
    "apply_to_accounts": 1,
    "databases": -1,
    "dedicatedip": 1,
    "diskspacequota": 100,
    "emailaccounts": -1,
    "feature_profile": 1,
    "featureprofile": 1,
    "ftpaccounts": -1,
    "maxcpuusage": -1,
    "maxemailsperhour": -1,
    "maxinodeslimit": -1,
    "maxiodiskbandwidth": -1,
    "maxiopslimits": -1,
    "maxmemorysize": -1,
    "maxuserprocesses": -1,
    "packagename": "PACKAGENAME_FROM_LIST_RESPONSE",
    "parkeddomains": -1,
    "shell": 0,
    "subdomains": -1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/account-packages/1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"packagename":"PACKAGENAME_FROM_LIST_RESPONSE","featureprofile":1,"feature_profile":1,"shell":0}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {
    "packagename": "PACKAGENAME_FROM_LIST_RESPONSE",
    "featureprofile": 1,
    "feature_profile": 1,
    "shell": 0
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

FieldDocumented type or shape
statusstring
messagestring
package_idinteger
packageobject
runtime_capabilitiesobject{resource_limits:object,quota:object}

Error response

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

Accounts

POST/v1/accountsroot resellerCreate a hosting account with its own login, domain and hosting plan.

Before you start

Use the configured shared IP unless this account needs a different address. Wait for account creation to finish before using the new account.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (45)

account_domainRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.test

Primary account domain. Primary domain name. Primary domain (FQDN). Punycode accepted.

Validation and use:

account_emailRequired
Send in
JSON body
Type
string|email
Accepted values
Any value matching string|email
Example
admin@example.test

Account contact email address. Contact email for the account.

Validation and use:

account_passwordRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

Account or mailbox password. Initial account password. Generate a strong password when the user did not provide one. Initial account password (min 8 chars).

Validation and use:

account_usernameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
exampleacct

Account username. System username to create. System username to create (2–30 chars; letters/numbers only; no hyphen, underscore, dot, or spaces; not all digits).

Validation and use: Minimum length 2. Maximum length 30. Pattern: ^(?=.*[A-Za-z])[A-Za-z0-9]{2,30}$. Generate lowercase letters and digits only, for example testhost8k3m2p. Do not use hyphen, underscore, dot, or spaces.

select_account_ownerRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
0

Account owner selection. Owner identifier. Use `0` or omit for root-owned accounts. Use 0 or root for root-owned accounts. For reseller ownership, use an existing reseller username or positive id only when the user explicitly requests that owner. Never send -1.

Validation and use: Pattern: ^(0|root|[A-Za-z][A-Za-z0-9]{1,29}|[1-9][0-9]*)$. Use 0 or root for root-owned accounts. Use an existing reseller username or positive reseller/account id only when ownership is explicitly requested. Never send -1.

select_account_packageRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Account package selection. Account package id. Use `1` for the protected default package when no other package is requested. Account package id to apply. Use 1 for the protected default package when no package is specified. Never send -1 or the word default.

Validation and use: Minimum 1. Pattern: ^[1-9][0-9]*$. Use package id 1 for the protected default package when no package is specified. Send a positive numeric package id; never send -1 or the word default.

addondomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for addon-domain limit. Override addon domains limit (advanced).

Validation and use:

conflict_dns_policyOptional
Send in
JSON body
Type
enum
Accepted values
keep_existing, overwrite
Example
keep_existing

Alias of migration_conflict_dns_policy. Prefer migration_conflict_dns_policy. Allowed values: keep_existing, overwrite.

Validation and use:

databasesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for MySQL database limit. Override databases limit (advanced).

Validation and use:

diskspacequotaOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
100

Root-only migration override for disk quota in MB; -1 is unlimited. Override disk quota MB for this account at creation time (advanced).

Validation and use:

emailaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for email account limit. Override email accounts limit (advanced).

Validation and use:

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

Set to `1` to use the server’s default shared IP. Set to 1 to use the server’s default shared IP, even if the selected package requires a dedicated IP.

Validation and use:

ftpaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for FTP account limit. Override FTP accounts limit (advanced).

Validation and use:

maxcpuusageOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for CPU limit. Override CPU limit (advanced).

Validation and use:

maxemailsperhourOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for outbound messages per hour. Override max emails per hour (advanced).

Validation and use:

maxinodeslimitOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for inode limit. Override inode limit (advanced).

Validation and use:

maxiodiskbandwidthOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for disk bandwidth limit. Override IO bandwidth limit (advanced).

Validation and use:

maxiopslimitsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for IOPS limit. Override IOPS limit (advanced).

Validation and use:

maxmemorysizeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for memory limit. Override memory limit (advanced).

Validation and use:

maxuserprocessesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for process limit. Override max user processes (advanced).

Validation and use:

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

Root-only migration mode flag. Omit it for normal account creation. Root-only migration mode helper.

Validation and use:

migration_conflict_account_policyOptional
Send in
JSON body
Type
enum
Accepted values
skip, overwrite
Example
skip

Root-only migration conflict policy for existing accounts: `skip` or `overwrite`. Root-only migration conflict policy when an account already exists: skip|overwrite. Allowed values: skip, overwrite.

Validation and use:

migration_conflict_dns_policyOptional
Send in
JSON body
Type
enum
Accepted values
keep_existing, overwrite
Example
keep_existing

Migration conflict dns policy request field. Allowed values: keep_existing, overwrite. Root-only migration DNS zone conflict policy: `keep_existing` or `overwrite`. Use `overwrite` only when the migration should replace existing local/cluster DNS zones. Root-only migration DNS zone conflict policy: keep_existing|overwrite. overwrite allows replacing existing local or DNS Cluster zones during migration.

Validation and use:

migration_conflict_domain_policyOptional
Send in
JSON body
Type
enum
Accepted values
skip_account, skip_domain
Example
skip_account

Root-only migration conflict policy for domains: `skip_account` or `skip_domain`. Root-only migration conflict policy for domain collisions: skip_account|skip_domain. Allowed values: skip_account, skip_domain.

Validation and use:

migration_existing_account_userOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
MIGRATION_EXISTING_ACCOUNT_USER_FROM_LIST_RESPONSE

Root-only migration override: existing local account username to reuse when overwrite is allowed. Root-only migration override: existing local account username to reuse when migration_conflict_account_policy=overwrite.

Validation and use:

migration_source_platformOptional
Send in
JSON body
Type
enum
Accepted values
plesk, directadmin
Example
plesk

Migration source platform request field. Allowed values: plesk, directadmin. Root-only migration source hint (for example `plesk` or `directadmin`). Root-only migration source hint, for example "plesk" or "directadmin".

Validation and use:

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

Initial OPcache state.

Validation and use:

parkeddomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for parked-domain limit. Override parked domains limit (advanced).

Validation and use:

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

Initial installed PHP runtime token, for example php83.

Validation and use:

postgres_databasesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for PostgreSQL database limit. Override PostgreSQL databases limit (advanced).

Validation and use:

postgres_usersOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Root-only migration override for PostgreSQL user limit. Override PostgreSQL users limit (advanced).

Validation and use:

progress_taskOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
create_account_root_0123456789abcdef0123456789abcdef

Optional live progress id. Use create_account_<caller>_<32 hexadecimal characters>, then poll GET /v1/progress/{task}. Root uses caller root; a reseller must use its own username. Live progress id in the form create_account_<caller>_<32 hexadecimal characters>. Root uses caller root; a reseller uses its own username. Poll GET /v1/progress/{task}.

Validation and use:

resellermaxaccountsOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
-1

Maximum reseller accounts limit. Root-only migration override for the created reseller maximum account count. Reseller max accounts (advanced; reseller accounts only).

Validation and use:

resellermaxdiskspaceOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
-1

Maximum reseller disk space. Root-only migration override for the created reseller disk pool in MB. Reseller max disk space in MB (advanced; reseller accounts only).

Validation and use:

resellerprivilegesOptional
Send in
JSON body
Type
enum
Accepted values
yes
Example
yes

Reseller privilege toggle. Set to `yes` to create a reseller account (root-only). Set to "yes" to create a reseller account (root-only).

Validation and use: Send yes only when creating a reseller account. Omit this field for normal hosting accounts.

select_account_ipOptional
Send in
JSON body
Type
enum
Accepted values
shared, sharedip, shared_ip, default, server_default, server_shared
Example
shared

Account IP selection. Allowed values: shared, sharedip, shared_ip, default, server_default, server_shared. Optional. Use `shared`, `default`, or omit for the configured shared server IP. Use "shared", "default", or omit it for the configured shared server IP; the engine may override with shared/dedicated IP based on policy.

Validation and use:

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

Selected reseller IP addresses. Optional reseller IP allow-list. Omit for default/shared IP. Reseller IP allow-list (array of IPv4 strings). Used when creating reseller accounts.

Validation and use:

selectresellerpackageOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Selected reseller package. Reseller package id when creating a reseller account. Use `1` for the protected default reseller package when no other package is requested. Reseller package id (required when resellerprivileges="yes").

Validation and use:

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

Alias of opcache. Prefer opcache.

Validation and use:

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

Alias of phpversion. Prefer phpversion.

Validation and use:

shadowOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
SHADOW_FROM_LIST_RESPONSE

Root-only migration password hash for the created system account. Root-only migration password hash to store for the system account (advanced).

Validation and use:

shellOptional
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
0

Root-only migration shell override: 0 disabled, 1 bash, 2 jail. Override shell setting (advanced): 0=disabled, 1=bash, 2=jail. Allowed values: 0, 1, 2.

Validation and use:

subdomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Root-only migration override for subdomain limit. Override subdomains limit (advanced).

Validation and use:

suspend_reasonOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
SUSPEND_REASON_FROM_LIST_RESPONSE

Suspend reason. Optional suspension reason used when suspended is true. Suspend reason shown in UI (if suspended=1).

Validation and use:

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

Create the account suspended when true. Set to 1 to create the account suspended.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "account_domain": "example.test",
    "account_email": "admin@example.test",
    "account_password": "STRONG_PASSWORD",
    "account_username": "exampleacct",
    "select_account_owner": 0,
    "select_account_package": 1,
    "addondomains": -1,
    "conflict_dns_policy": "keep_existing",
    "databases": -1,
    "diskspacequota": 100,
    "emailaccounts": -1,
    "force_shared_ip": 1,
    "ftpaccounts": -1,
    "maxcpuusage": -1,
    "maxemailsperhour": -1,
    "maxinodeslimit": -1,
    "maxiodiskbandwidth": -1,
    "maxiopslimits": -1,
    "maxmemorysize": -1,
    "maxuserprocesses": -1,
    "migration": 1,
    "migration_conflict_account_policy": "skip",
    "migration_conflict_dns_policy": "keep_existing",
    "migration_conflict_domain_policy": "skip_account",
    "migration_existing_account_user": "MIGRATION_EXISTING_ACCOUNT_USER_FROM_LIST_RESPONSE",
    "migration_source_platform": "plesk",
    "opcache": 1,
    "parkeddomains": -1,
    "phpversion": "PHPVERSION_FROM_LIST_RESPONSE",
    "postgres_databases": -1,
    "postgres_users": 1,
    "progress_task": "create_account_root_0123456789abcdef0123456789abcdef",
    "resellermaxaccounts": -1,
    "resellermaxdiskspace": -1,
    "resellerprivileges": "yes",
    "select_account_ip": "shared",
    "selectresellerips": "SELECTRESELLERIPS_FROM_LIST_RESPONSE",
    "selectresellerpackage": 1,
    "setopcache": 1,
    "setphpversion": "SETPHPVERSION_FROM_LIST_RESPONSE",
    "shadow": "SHADOW_FROM_LIST_RESPONSE",
    "shell": 0,
    "subdomains": -1,
    "suspend_reason": "SUSPEND_REASON_FROM_LIST_RESPONSE",
    "suspended": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/accounts' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"account_domain":"example.test","account_username":"exampleacct","select_account_package":1,"account_password":"STRONG_PASSWORD","account_email":"admin@example.test","select_account_owner":0,"select_account_ip":"shared","force_shared_ip":1,"progress_task":"create_account_root_0123456789abcdef0123456789abcdef"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Create a root-owned account with progress
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "account_domain": "example.test",
    "account_username": "exampleacct",
    "select_account_package": 1,
    "account_password": "STRONG_PASSWORD",
    "account_email": "admin@example.test",
    "select_account_owner": 0,
    "select_account_ip": "shared",
    "force_shared_ip": 1,
    "progress_task": "create_account_root_0123456789abcdef0123456789abcdef"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
DELETE/v1/accounts/{username}root resellerDelete account and associated resources.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

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_usernameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demo

Account username.

Validation and use:

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

Keep DNS records after delete. Keep DNS zone records after deleting the account. Set to 1/true/on/yes to keep DNS zone records. Default: off.

Validation and use:

progress_taskOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
delete_account_root_0123456789abcdef0123456789abcdef

Optional live progress id in the form delete_account_<caller>_<32 hexadecimal characters>. Root uses caller root; a reseller must use its own username. Poll GET /v1/progress/{task}. Live deletion progress id in the form delete_account_<caller>_<32 hexadecimal characters>.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "account_username": "demo",
    "keepdns": "off",
    "progress_task": "delete_account_root_0123456789abcdef0123456789abcdef"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X DELETE 'https://panel.example.com:882/v1/accounts/demo' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"keepdns":"off"}'

Example note: Requires a documented runtime value before QA can execute this request.

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Delete account (remove DNS)
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "keepdns": "off"
  }
}

Requires a documented runtime value before QA can execute this request.

Delete account (keep DNS)
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "keepdns": "on"
  }
}

Requires a documented runtime value before QA can execute this request.

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Core

PATCH/v1/accounts/{username}/feature-flagsroot resellerChoose which hosting tools are available to an account.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

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.

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

Enable or disable AI Assistant access for this account.

Validation and use:

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

Enable or disable Cloudflare DNS access for this account.

Validation and use:

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

Enable or disable the isolated Podman CLI mounts and socket inside this account JailShell. The account must use shell=2 for runtime exposure.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "ai": 1,
    "cloudflare_dns": 0,
    "podman_cli": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/accounts/demo/feature-flags' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"podman_cli":1}'

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Enable Podman CLI in JailShell
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "podman_cli": 1
  }
}
Disable Podman CLI without disabling Podman Manager
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "podman_cli": 0
  }
}
Update multiple feature flags
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "ai": 1,
    "cloudflare_dns": 0,
    "podman_cli": 1
  }
}

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Domain

PATCH/v1/accounts/{username}/domainroot resellerRename primary account domain.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

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.

new_domainRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
example.net

New primary domain. Alias: domain.

Validation and use:

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

Domain name. Alias of `new_domain`. Alias of new_domain. Prefer new_domain.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "new_domain": "example.net",
    "domain": "example.com"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/accounts/demo/domain' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"new_domain":"example.net"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Rename primary domain
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "new_domain": "example.net"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Feature Profiles

GET/v1/feature-profilesroot resellerList feature profiles available to you.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (0)

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/feature-profiles' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "access_denied",
  "message": "The API key is not authorized for this endpoint, resource, role, or source IP."
}
POST/v1/feature-profilesroot resellerCreate feature profile.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (6)

nameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
All Features

Profile name (1–64 chars; letters/numbers/spaces). Alias: profile_name.

Validation and use:

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

Allow all available feature keys. 1 to allow all features (default). Alias: allowall.

Validation and use:

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

Allow all available feature keys. Alias of allow_all. Prefer allow_all.

Validation and use:

feature_keysOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
FEATURE_KEYS_FROM_LIST_RESPONSE

Feature key list. Alias of features. Prefer features.

Validation and use:

featuresOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
["email","dns","ftp"]

Feature key list. When allow_all=0: array of feature keys, or comma-separated string. Alias: feature_keys.

Validation and use:

profile_nameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
PROFILE_NAME_FROM_LIST_RESPONSE

Profile name. Alias of name. Prefer name.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "name": "All Features",
    "allow_all": 1,
    "allowall": 1,
    "feature_keys": "FEATURE_KEYS_FROM_LIST_RESPONSE",
    "features": [
      "email",
      "dns",
      "ftp"
    ],
    "profile_name": "PROFILE_NAME_FROM_LIST_RESPONSE"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/feature-profiles' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"name":"All Features","allow_all":1}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Allow all features
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "name": "All Features",
    "allow_all": 1
  }
}

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

Allow selected features
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "name": "Starter",
    "allow_all": 0,
    "features": [
      "email",
      "dns",
      "ftp"
    ]
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
DELETE/v1/feature-profiles/{id}root resellerDelete feature profile (if unused).

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

idRequired
Send in
URL path
Type
int|integer|string
Accepted values
Any value matching int|integer|string
Example
2

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.

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

Feature profile ID. Optional alias of path `{id}`. Compatibility alias for id. Prefer the path id.

Validation and use: Use the corresponding list endpoint for this resource and copy the returned featureprofile_id value.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X DELETE 'https://panel.example.com:882/v1/feature-profiles/2' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Delete profile
{
  "path_parameters": {
    "id": 2
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/feature-profiles/{id}root resellerView feature profile by id.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

idRequired
Send in
URL path
Type
int|integer|string
Accepted values
Any value matching int|integer|string
Example
2

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.

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

Feature profile ID. Optional alias of path `{id}`. Compatibility alias for id. Prefer the path id.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string. Use the corresponding list endpoint for this resource and copy the returned featureprofile_id value.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/feature-profiles/2' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Fetch profile
{
  "path_parameters": {
    "id": 2
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/feature-profiles/{id}root resellerEdit feature profile.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (8)

idRequired
Send in
URL path
Type
int|integer|string
Accepted values
Any value matching int|integer|string
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.

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

Allow all available feature keys. 1 to allow all features. Alias: allowall.

Validation and use:

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

Allow all available feature keys. Alias of allow_all. Prefer allow_all.

Validation and use:

feature_keysOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
FEATURE_KEYS_FROM_LIST_RESPONSE

Feature key list. Alias of features. Prefer features.

Validation and use:

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

Feature profile ID. Optional alias of path `{id}`. Compatibility alias for id. Prefer the path id.

Validation and use: Use the corresponding list endpoint for this resource and copy the returned featureprofile_id value.

featuresOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
["email","dns"]

Feature key list. When allow_all=0: array of feature keys, or comma-separated string. Alias: feature_keys.

Validation and use:

nameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
Starter v2

Profile name (1–64 chars; letters/numbers/spaces). Alias: profile_name.

Validation and use:

profile_nameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
PROFILE_NAME_FROM_LIST_RESPONSE

Alias of name. Prefer name.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "id": 1
  },
  "query_parameters": {},
  "json_body": {
    "allow_all": 1,
    "allowall": 1,
    "feature_keys": "FEATURE_KEYS_FROM_LIST_RESPONSE",
    "featureprofile_id": 1,
    "features": [
      "email",
      "dns"
    ],
    "name": "Starter v2",
    "profile_name": "PROFILE_NAME_FROM_LIST_RESPONSE"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/feature-profiles/1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"name":"Starter v2"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Rename profile
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "name": "Starter v2"
  }
}

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

Switch to allow_all
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "allow_all": 1
  }
}

Requires a documented runtime value before QA can execute this request.

Switch to allowlist
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "allow_all": 0,
    "features": [
      "email",
      "dns"
    ]
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/feature-profiles/catalogroot resellerSee which account tools you can include in a feature profile.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (0)

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/feature-profiles/catalog' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Ip

PATCH/v1/accounts/{username}/iproot resellerChange account IPv4 address.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

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.

ipRequired
Send in
JSON body
Type
string|ipv4
Accepted values
Any value matching string|ipv4
Example
192.168.0.1

IPv4 address. New IPv4 address for the account. Alias: "new_ip".

Validation and use:

new_ipOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

New IP address.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "ip": "192.168.0.1",
    "new_ip": "203.0.113.10"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/accounts/demo/ip' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"ip":"192.168.0.1"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Set dedicated IPv4
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "ip": "192.168.0.1"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Max Emails Per Hour

PATCH/v1/accounts/{username}/max-emails-per-hourroot resellerSet how many emails an account may send per hour.

Before you start

Use -1 for unlimited sending only when that is intended.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

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.

maxemailsperhourRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
500

Maximum outgoing emails per hour. Outbound email limit per hour. Use -1 for unlimited. Integer greater than or equal to -1. Alias: value.

Validation and use:

valueOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Value payload. Alias of `maxemailsperhour`. Alias of maxemailsperhour. Prefer maxemailsperhour.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "maxemailsperhour": "500",
    "value": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/accounts/demo/max-emails-per-hour' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"maxemailsperhour":"500"}'

Example note: Requires a documented runtime value before QA can execute this request.

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Set rate limit
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "maxemailsperhour": "500"
  }
}

Requires a documented runtime value before QA can execute this request.

Set unlimited
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "maxemailsperhour": "-1"
  }
}

Requires a documented runtime value before QA can execute this request.

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Package

PATCH/v1/accounts/{username}/packageroot resellerApply package limits/settings to account.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

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.

package_idRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
2

Account package id to apply.

Validation and use: Use the corresponding list endpoint for this resource and copy the returned package_id value.

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

Account package selection.

Validation and use: Minimum 1. Pattern: ^[1-9][0-9]*$. Use package id 1 for the protected default package when no package is specified. Send a positive numeric package id; never send -1 or the word default.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "package_id": 2,
    "select_account_package": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/accounts/demo/package' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"package_id":2}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Apply package id 2
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "package_id": 2
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Progress

GET/v1/progress/{task}root resellerCheck the progress of an account creation or deletion task.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

taskRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
create_account_root_0123456789abcdef0123456789abcdef

Task id matching [A-Za-z0-9_.-]{1,80}. Account operations use create_account_<caller>_<32 hexadecimal characters> or delete_account_<caller>_<32 hexadecimal characters>. Path task id matching [A-Za-z0-9_.-]{1,80}. Account-operation task ids bind the operation and authenticated caller to 128 bits of secure randomness.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/progress/create_account_root_0123456789abcdef0123456789abcdef' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Read root account-creation progress
{
  "path_parameters": {
    "task": "create_account_root_0123456789abcdef0123456789abcdef"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Quota

PATCH/v1/accounts/{username}/quotaroot resellerUpdate account disk quota.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

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.

diskspacequotaRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
10240

New disk quota in MB (`-1` for unlimited). Disk quota in MB. Use -1 for unlimited. Alias: quota.

Validation and use:

quotaOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
100

Alias of `diskspacequota`. Alias of diskspacequota. Prefer diskspacequota.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "diskspacequota": "10240",
    "quota": 100
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/accounts/demo/quota' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"diskspacequota":"10240"}'

Example note: Requires a documented runtime value before QA can execute this request.

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Set 10GB quota
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "diskspacequota": "10240"
  }
}

Requires a documented runtime value before QA can execute this request.

Set unlimited quota
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "diskspacequota": "-1"
  }
}

Requires a documented runtime value before QA can execute this request.

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Reseller Management

GET/v1/resellers/{reseller}/account-defaultsroot resellerView the starting IP, nameserver and PHP settings for new accounts.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

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

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/account-defaults/nameserversroot resellerUpdate the default nameserver settings.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (9)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Validation and use:

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

Validation and use:

default_ns1Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
DEFAULT_NS1_FROM_LIST_RESPONSE

Validation and use:

default_ns2Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
DEFAULT_NS2_FROM_LIST_RESPONSE

Validation and use:

default_ns3Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
DEFAULT_NS3_FROM_LIST_RESPONSE

Validation and use:

default_ns4Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
DEFAULT_NS4_FROM_LIST_RESPONSE

Validation and use:

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

Validation and use:

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

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "all_existing_zones": 1,
    "apply_existing_zones": 1,
    "default_ns1": "DEFAULT_NS1_FROM_LIST_RESPONSE",
    "default_ns2": "DEFAULT_NS2_FROM_LIST_RESPONSE",
    "default_ns3": "DEFAULT_NS3_FROM_LIST_RESPONSE",
    "default_ns4": "DEFAULT_NS4_FROM_LIST_RESPONSE",
    "sync_existing_zones": 1,
    "update_existing_zones": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/account-defaults/nameservers' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"default_ns1":"DEFAULT_NS1_FROM_LIST_RESPONSE","default_ns2":"DEFAULT_NS2_FROM_LIST_RESPONSE","default_ns3":"DEFAULT_NS3_FROM_LIST_RESPONSE","default_ns4":"DEFAULT_NS4_FROM_LIST_RESPONSE"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "default_ns1": "DEFAULT_NS1_FROM_LIST_RESPONSE",
    "default_ns2": "DEFAULT_NS2_FROM_LIST_RESPONSE",
    "default_ns3": "DEFAULT_NS3_FROM_LIST_RESPONSE",
    "default_ns4": "DEFAULT_NS4_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/account-defaults/shared-iproot resellerUpdate the default shared IP settings.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "sharedip": "SHAREDIP_FROM_LIST_RESPONSE"
  },
  "query_or_json_parameters": {}
}

Example request

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

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "sharedip": "SHAREDIP_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/account-packagesroot resellerView the hosting plans available to you.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/account-packages' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

FieldDocumented type or shape
statusstring
messagestring
countinteger
packagesobject[]
runtime_capabilitiesobject{resource_limits:object{state:string,available:boolean,reason:string,cgroup_version:string,systemd_pid1:boolean,supported_fields:string[],missing_controllers:string[],controllers:string[],fields:object},quota:object{mode:string,storage_path:string,available:boolean,reason:string,fields:object}}

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/account-packagesroot resellerCreate a hosting plan to assign to customer accounts.

Before you start

Use -1 for an unlimited allowance. SHM rejects a limit that the server cannot enforce.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (22)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

packagenameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
PACKAGENAME_FROM_LIST_RESPONSE

Package name. Package display name (1–64 chars; letters, numbers, spaces, hyphens, and underscores).

Validation and use:

addondomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Addon domains limit (-1 unlimited if allowed).

Validation and use:

databasesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Databases limit (-1 unlimited if allowed).

Validation and use:

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

Dedicated IP toggle. 1 to require dedicated IP for accounts using this package.

Validation and use:

diskspacequotaOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
100

Disk quota (MB). -1 is unlimited. A finite value requires filesystem user-quota support.

Validation and use:

emailaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Email accounts limit (-1 unlimited if allowed).

Validation and use:

feature_profileOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Feature profile selection. Alias of featureprofile. Prefer featureprofile.

Validation and use:

featureprofileOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Feature profile id. Alias: feature_profile.

Validation and use:

ftpaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

FTP accounts limit (-1 unlimited if allowed).

Validation and use:

maxcpuusageOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

CPU percent limit. -1 is unlimited. A finite value requires the delegated cgroup v2 cpu controller.

Validation and use:

maxemailsperhourOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max emails per hour (-1 unlimited if allowed).

Validation and use:

maxinodeslimitOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Inode limit. -1 is unlimited. A finite value requires filesystem user-quota support.

Validation and use:

maxiodiskbandwidthOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

I/O bandwidth limit in MB/s. -1 or 0 is unlimited. A finite value requires the delegated cgroup v2 io controller.

Validation and use:

maxiopslimitsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

IOPS limit. -1 or 0 is unlimited. A finite value requires the delegated cgroup v2 io controller.

Validation and use:

maxmemorysizeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Memory limit in MB. -1 is unlimited. A finite value requires the delegated cgroup v2 memory controller.

Validation and use:

maxuserprocessesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Task/process limit. -1 is unlimited. A finite value requires the delegated cgroup v2 pids controller.

Validation and use:

parkeddomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Parked domains limit (-1 unlimited if allowed).

Validation and use:

postgres_databasesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

PostgreSQL database limit. Use -1 for unlimited when allowed by reseller policy, or an integer from 0 to 1000.

Validation and use:

postgres_usersOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

PostgreSQL user limit. Use -1 for unlimited when allowed by reseller policy, or an integer from 0 to 1000.

Validation and use:

shellOptional
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
0

Shell mode: 0 disabled, 1 bash, 2 jail. Allowed values: 0, 1, 2.

Validation and use:

subdomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Subdomains limit (-1 unlimited if allowed).

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "packagename": "PACKAGENAME_FROM_LIST_RESPONSE",
    "addondomains": -1,
    "databases": -1,
    "dedicatedip": 1,
    "diskspacequota": 100,
    "emailaccounts": -1,
    "feature_profile": 1,
    "featureprofile": 1,
    "ftpaccounts": -1,
    "maxcpuusage": -1,
    "maxemailsperhour": -1,
    "maxinodeslimit": -1,
    "maxiodiskbandwidth": -1,
    "maxiopslimits": -1,
    "maxmemorysize": -1,
    "maxuserprocesses": -1,
    "parkeddomains": -1,
    "postgres_databases": -1,
    "postgres_users": -1,
    "shell": 0,
    "subdomains": -1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/account-packages' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"packagename":"PACKAGENAME_FROM_LIST_RESPONSE"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "packagename": "PACKAGENAME_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

FieldDocumented type or shape
statusstring
messagestring
package_idinteger
packageobject
runtime_capabilitiesobject{resource_limits:object,quota:object}

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
DELETE/v1/resellers/{reseller}/account-packages/{id}root resellerDelete account package (if unused).

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X DELETE 'https://panel.example.com:882/v1/resellers/demo/account-packages/1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/account-packages/{id}root resellerView a hosting plan's limits and included features.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/account-packages/1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

FieldDocumented type or shape
statusstring
messagestring
packageobject
runtime_capabilitiesobject{resource_limits:object,quota:object}

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/account-packages/{id}root resellerChange the limits or features in a hosting plan.

Before you start

Settings you leave out keep their current values. SHM rejects a limit that the server cannot enforce.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (24)

idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

addondomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Addon domains limit (-1 unlimited if allowed).

Validation and use:

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

Apply the package changes to accounts that currently use this package, in addition to updating the reusable package definition.

Validation and use:

databasesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Databases limit (-1 unlimited if allowed).

Validation and use:

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

Dedicated IP toggle. 1 to require dedicated IP for accounts using this package.

Validation and use:

diskspacequotaOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
100

Disk quota (MB). -1 unlimited (if allowed).

Validation and use:

emailaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Email accounts limit (-1 unlimited if allowed).

Validation and use:

feature_profileOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Feature profile selection. Alias of featureprofile. Prefer featureprofile.

Validation and use:

featureprofileOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Feature profile id. Alias: feature_profile.

Validation and use:

ftpaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

FTP accounts limit (-1 unlimited if allowed).

Validation and use:

maxcpuusageOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

CPU limit (-1 unlimited if allowed).

Validation and use:

maxemailsperhourOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Max emails per hour (-1 unlimited if allowed).

Validation and use:

maxinodeslimitOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Inode limit (-1 unlimited if allowed).

Validation and use:

maxiodiskbandwidthOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

IO bandwidth limit (-1 unlimited if allowed).

Validation and use:

maxiopslimitsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

IOPS limit (-1 unlimited if allowed).

Validation and use:

maxmemorysizeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Memory limit (-1 unlimited if allowed).

Validation and use:

maxuserprocessesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Process limit (-1 unlimited if allowed).

Validation and use:

packagenameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
PACKAGENAME_FROM_LIST_RESPONSE

Package name. Package display name (1–64 chars; letters, numbers, spaces, hyphens, and underscores).

Validation and use:

parkeddomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Parked domains limit (-1 unlimited if allowed).

Validation and use:

postgres_databasesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

PostgreSQL database limit. Use -1 for unlimited when allowed by reseller policy, or an integer from 0 to 1000.

Validation and use:

postgres_usersOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

PostgreSQL user limit. Use -1 for unlimited when allowed by reseller policy, or an integer from 0 to 1000.

Validation and use:

shellOptional
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
0

Shell mode: 0 disabled, 1 bash, 2 jail. Allowed values: 0, 1, 2.

Validation and use:

subdomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Subdomains limit (-1 unlimited if allowed).

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "id": 1,
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "addondomains": -1,
    "apply_to_accounts": 1,
    "databases": -1,
    "dedicatedip": 1,
    "diskspacequota": 100,
    "emailaccounts": -1,
    "feature_profile": 1,
    "featureprofile": 1,
    "ftpaccounts": -1,
    "maxcpuusage": -1,
    "maxemailsperhour": -1,
    "maxinodeslimit": -1,
    "maxiodiskbandwidth": -1,
    "maxiopslimits": -1,
    "maxmemorysize": -1,
    "maxuserprocesses": -1,
    "packagename": "PACKAGENAME_FROM_LIST_RESPONSE",
    "parkeddomains": -1,
    "postgres_databases": -1,
    "postgres_users": -1,
    "shell": 0,
    "subdomains": -1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/account-packages/1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"packagename":"PACKAGENAME_FROM_LIST_RESPONSE","featureprofile":1,"feature_profile":1,"shell":0}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "id": 1
  },
  "query_parameters": {},
  "json_body": {
    "packagename": "PACKAGENAME_FROM_LIST_RESPONSE",
    "featureprofile": 1,
    "feature_profile": 1,
    "shell": 0
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

FieldDocumented type or shape
statusstring
messagestring
package_idinteger
packageobject
runtime_capabilitiesobject{resource_limits:object,quota:object}

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/accountsroot resellerList the hosting accounts you can manage.

Before you start

Use search to find an account, or start and length to request a smaller part of a large list.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (5)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

lengthOptional
Send in
Query string
Type
integer
Accepted values
Any value matching integer; default: 100
Example
100

Number of rows to return when pagination is enabled.

Validation and use: Minimum 1. Maximum 1000. Default: 100.

qOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
example.com

Alias of search. It is used only when search is empty.

Validation and use: Needed when: optional alias of search.

searchOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
example.com

Case-insensitive search across the indexed account identity, domain, contact, owner, IP, status, package, and date fields.

Validation and use:

startOptional
Send in
Query string
Type
integer
Accepted values
Any value matching integer; default: 0
Example
0

Zero-based row offset. Supplying start or length enables pagination.

Validation and use: Minimum 0. Default: 0.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {
    "length": 100,
    "q": "example.com",
    "search": "example.com",
    "start": 0
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/accounts?q=example.com&search=example.com&start=0&length=100' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {
    "q": "example.com",
    "search": "example.com",
    "start": 0,
    "length": 100
  },
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

FieldDocumented type or shape
statusstring
titlestring
messagestring
roleEffective role for this scoped operation: reseller.
countinteger
accountsobject[]
accounts[].idpositive integer
accounts[].userstring

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/accountsroot resellerCreate a hosting account with its own login, domain and hosting plan.

Before you start

Use the configured shared IP unless this account needs a different address. Wait for account creation to finish before using the new account.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (31)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Primary account domain. Primary domain (FQDN). Punycode accepted.

Validation and use:

account_emailRequired
Send in
JSON body
Type
string|email
Accepted values
Any value matching string|email
Example
admin@example.com

Account contact email address. Contact email for the account.

Validation and use:

account_passwordRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

Account or mailbox password. Initial account password (min 8 chars).

Validation and use:

account_usernameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
testhost8k3m2p

Account username. System username to create (2–30 chars; letters/numbers only; no hyphen, underscore, dot, or spaces; not all digits).

Validation and use: Minimum length 2. Maximum length 30. Pattern: ^(?=.*[A-Za-z])[A-Za-z0-9]{2,30}$. Generate lowercase letters and digits only, for example testhost8k3m2p. Do not use hyphen, underscore, dot, or spaces.

select_account_packageRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Account package id returned by GET /v1/resellers/{reseller}/account-packages. Select a package owned by this reseller; there is no implicit package id.

Validation and use: Minimum 1. Pattern: ^[1-9][0-9]*$. GET /v1/resellers/{reseller}/account-packages Use package id 1 for the protected default package when no package is specified. Send a positive numeric package id; never send -1 or the word default.

addondomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override addon domains limit (advanced).

Validation and use:

databasesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override databases limit (advanced).

Validation and use:

diskspacequotaOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
100

Override disk quota MB for this account at creation time (advanced).

Validation and use:

emailaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override email accounts limit (advanced).

Validation and use:

ftpaccountsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override FTP accounts limit (advanced).

Validation and use:

maxcpuusageOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override CPU limit (advanced).

Validation and use:

maxemailsperhourOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override max emails per hour (advanced).

Validation and use:

maxinodeslimitOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override inode limit (advanced).

Validation and use:

maxiodiskbandwidthOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override IO bandwidth limit (advanced).

Validation and use:

maxiopslimitsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override IOPS limit (advanced).

Validation and use:

maxmemorysizeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override memory limit (advanced).

Validation and use:

maxuserprocessesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override max user processes (advanced).

Validation and use:

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

Initial OPcache state.

Validation and use:

parkeddomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override parked domains limit (advanced).

Validation and use:

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

Initial installed PHP runtime token, for example php83.

Validation and use:

postgres_databasesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override PostgreSQL databases limit (advanced).

Validation and use:

postgres_usersOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Override PostgreSQL users limit (advanced).

Validation and use:

progress_taskOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
create_account_demo_0123456789abcdef0123456789abcdef

Optional unique progress id: create_account_<reseller>_<32 hexadecimal characters> for creation or delete_account_<reseller>_<32 hexadecimal characters> for deletion. Poll GET /v1/resellers/{reseller}/progress/{task}.

Validation and use:

select_account_ipOptional
Send in
JSON body
Type
enum
Accepted values
shared, sharedip, shared_ip, default, server_default, server_shared
Example
shared

Account IP selection. Allowed values: shared, sharedip, shared_ip, default, server_default, server_shared. Optional. Use "shared", "default", or omit it for the configured shared server IP; the engine may override with shared/dedicated IP based on policy.

Validation and use:

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

Alias of opcache. Prefer opcache.

Validation and use:

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

Alias of phpversion. Prefer phpversion.

Validation and use:

shellOptional
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
0

Override shell setting (advanced): 0=disabled, 1=bash, 2=jail. Allowed values: 0, 1, 2.

Validation and use:

subdomainsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Override subdomains limit (advanced).

Validation and use:

suspend_reasonOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
SUSPEND_REASON_FROM_LIST_RESPONSE

Suspend reason. Suspend reason shown in UI (if suspended=1).

Validation and use:

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

Set to 1 to create the account suspended.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "account_domain": "example.com",
    "account_email": "admin@example.com",
    "account_password": "STRONG_PASSWORD",
    "account_username": "testhost8k3m2p",
    "select_account_package": 1,
    "addondomains": -1,
    "databases": -1,
    "diskspacequota": 100,
    "emailaccounts": -1,
    "ftpaccounts": -1,
    "maxcpuusage": -1,
    "maxemailsperhour": -1,
    "maxinodeslimit": -1,
    "maxiodiskbandwidth": -1,
    "maxiopslimits": -1,
    "maxmemorysize": -1,
    "maxuserprocesses": -1,
    "opcache": 1,
    "parkeddomains": -1,
    "phpversion": "PHPVERSION_FROM_LIST_RESPONSE",
    "postgres_databases": -1,
    "postgres_users": 1,
    "progress_task": "create_account_demo_0123456789abcdef0123456789abcdef",
    "select_account_ip": "shared",
    "setopcache": 1,
    "setphpversion": "SETPHPVERSION_FROM_LIST_RESPONSE",
    "shell": 0,
    "subdomains": -1,
    "suspend_reason": "SUSPEND_REASON_FROM_LIST_RESPONSE",
    "suspended": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/accounts' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"account_domain":"example.com","account_username":"testhost8k3m2p","account_password":"STRONG_PASSWORD","account_email":"admin@example.com","select_account_package":1}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "account_domain": "example.com",
    "account_username": "testhost8k3m2p",
    "account_password": "STRONG_PASSWORD",
    "account_email": "admin@example.com",
    "select_account_package": 1
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
DELETE/v1/resellers/{reseller}/accounts/{username}root resellerDelete account and associated resources.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (6)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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:

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

Account username.

Validation and use:

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

Keep DNS records after delete. Set to 1/true/on/yes to keep DNS zone records. Default: off.

Validation and use:

progress_taskOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
delete_account_demo_0123456789abcdef0123456789abcdef

Optional unique progress id: create_account_<reseller>_<32 hexadecimal characters> for creation or delete_account_<reseller>_<32 hexadecimal characters> for deletion. Poll GET /v1/resellers/{reseller}/progress/{task}.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "demo",
    "account_username": "demo",
    "keepdns": 1,
    "progress_task": "delete_account_demo_0123456789abcdef0123456789abcdef"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X DELETE 'https://panel.example.com:882/v1/resellers/demo/accounts/demo' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"progress_task":"delete_account_demo_0123456789abcdef0123456789abcdef","account_user":"demo","account_username":"demo","keepdns":1}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "progress_task": "delete_account_demo_0123456789abcdef0123456789abcdef",
    "account_user": "demo",
    "account_username": "demo",
    "keepdns": 1
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/accounts/{username}root resellerView the selected hosting account's details.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/accounts/demo' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/domainroot resellerRename primary account domain.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

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

New primary domain. Alias: domain.

Validation and use:

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

Domain name. Alias of new_domain. Prefer new_domain.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "new_domain": "example.com",
    "domain": "example.com"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/domain' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"new_domain":"example.com"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "new_domain": "example.com"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/emailroot resellerUpdate account contact email.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

emailRequired
Send in
JSON body
Type
email|string
Accepted values
Any value matching email|string
Example
admin@example.com

New contact email. Alias: contact_email.

Validation and use:

contact_emailOptional
Send in
JSON body
Type
email|string
Accepted values
Any value matching email|string
Example
admin@example.com

Alias of email. Prefer email.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "email": "admin@example.com",
    "contact_email": "admin@example.com"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/email' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"email":"admin@example.com"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "email": "admin@example.com"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/feature-flagsroot resellerChoose which hosting tools are available to an account.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (5)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

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

Enable or disable AI Assistant access for this account.

Validation and use:

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

Enable or disable Cloudflare DNS access for this account.

Validation and use:

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

Enable or disable the isolated Podman CLI mounts and socket inside this account JailShell. The account must use shell=2 for runtime exposure.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "ai": 1,
    "cloudflare_dns": 1,
    "podman_cli": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/feature-flags' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"ai":1,"cloudflare_dns":1,"podman_cli":1}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "ai": 1,
    "cloudflare_dns": 1,
    "podman_cli": 1
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/iproot resellerChange account IPv4 address.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

ipRequired
Send in
JSON body
Type
string|ipv4
Accepted values
Any value matching string|ipv4
Example
203.0.113.10

IPv4 address. New IPv4 address for the account. Alias: "new_ip".

Validation and use:

new_ipOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
203.0.113.10

New IP address.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "ip": "203.0.113.10",
    "new_ip": "203.0.113.10"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/ip' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"ip":"203.0.113.10"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "ip": "203.0.113.10"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/max-emails-per-hourroot resellerSet how many emails an account may send per hour.

Before you start

Use -1 for unlimited sending only when that is intended.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

maxemailsperhourRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
-1

Maximum outgoing emails per hour. Integer greater than or equal to -1. Use -1 for unlimited. Alias: value.

Validation and use:

valueOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Value payload. Alias of maxemailsperhour. Prefer maxemailsperhour.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "maxemailsperhour": -1,
    "value": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/max-emails-per-hour' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"maxemailsperhour":-1}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "maxemailsperhour": -1
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/packageroot resellerApply package limits/settings to account.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

package_idRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Account package id to apply.

Validation and use: GET /v1/reseller-packages

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

Account package id returned by GET /v1/resellers/{reseller}/account-packages. Select a package owned by this reseller; there is no implicit package id.

Validation and use: Minimum 1. Pattern: ^[1-9][0-9]*$. GET /v1/resellers/{reseller}/account-packages Use package id 1 for the protected default package when no package is specified. Send a positive numeric package id; never send -1 or the word default.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "package_id": 1,
    "select_account_package": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/package' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"package_id":1}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "package_id": 1
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/passwordroot resellerUpdate account password.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

passwordRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

New password (min 8 chars). Alias: new_password.

Validation and use:

new_passwordOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
STRONG_PASSWORD

New password. Alias of password. Prefer password.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "password": "STRONG_PASSWORD",
    "new_password": "STRONG_PASSWORD"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/password' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"password":"STRONG_PASSWORD"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "password": "STRONG_PASSWORD"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/quotaroot resellerUpdate account disk quota.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

diskspacequotaRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
100

Disk quota in MB. Use -1 for unlimited. Alias: quota.

Validation and use:

quotaOptional
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
100

Alias of diskspacequota. Prefer diskspacequota.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "diskspacequota": 100,
    "quota": 100
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/quota' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"diskspacequota":100}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "diskspacequota": 100
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/resourcesroot resellerChange an account's CPU, memory and other resource allowances.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (10)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

diskspacequotaOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
100

Disk quota MB. Use -1 for unlimited.

Validation and use:

maxcpuusageOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

CPU limit. Use -1 for unlimited.

Validation and use:

maxemailsperhourOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Outbound email limit per hour. Use -1 for unlimited.

Validation and use:

maxinodeslimitOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Inode limit. Use -1 for unlimited.

Validation and use:

maxiodiskbandwidthOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

IO bandwidth. Use -1 for unlimited.

Validation and use:

maxiopslimitsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

IOPS limit. Use -1 for unlimited.

Validation and use:

maxmemorysizeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Memory limit. Use -1 for unlimited.

Validation and use:

maxuserprocessesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Process limit. Use -1 for unlimited.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "diskspacequota": 100,
    "maxcpuusage": -1,
    "maxemailsperhour": -1,
    "maxinodeslimit": -1,
    "maxiodiskbandwidth": -1,
    "maxiopslimits": -1,
    "maxmemorysize": -1,
    "maxuserprocesses": -1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/resources' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"diskspacequota":100,"maxemailsperhour":-1,"maxinodeslimit":-1,"maxcpuusage":-1}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "diskspacequota": 100,
    "maxemailsperhour": -1,
    "maxinodeslimit": -1,
    "maxcpuusage": -1
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/shellroot resellerUpdate account shell mode.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

shellRequired
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
0

Shell value. Allowed values: 0, 1, 2. Allowed values: 0 (disabled), 1 (bash), 2 (jail). Alias: shell_code.

Validation and use:

shell_codeOptional
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
0

Shell code or shell identifier. Alias of shell. Prefer shell. Allowed values: 0, 1, 2.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "shell": 0,
    "shell_code": 0
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/shell' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"shell":0}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "shell": 0
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/accounts/{username}/ssl/autossl/logsroot resellerView your account’s AutoSSL log content.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (9)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

actionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ACTION_FROM_LIST_RESPONSE

Requested action name.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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 in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

downloadOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
DOWNLOAD_FROM_LIST_RESPONSE

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

fileOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
LOG_FILENAME_FROM_LOG_FILES_RESPONSE

Optional log filename returned by the matching log-files endpoint, as an alternative to fileB64. Directory paths and traversal are not accepted.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

fileB64Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
YWNjZXNzLmxvZw==

Opaque base64 file identifier returned by the corresponding owned-account log-files endpoint. Optional; omit to select the latest allowed log. Never construct a server path.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

file_b64Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
YWNjZXNzLmxvZw==

Compatibility alias for fileB64. Use one file selector only.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Number of lines to return.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "action": "ACTION_FROM_LIST_RESPONSE",
    "domain": "example.com",
    "download": "DOWNLOAD_FROM_LIST_RESPONSE",
    "file": "LOG_FILENAME_FROM_LOG_FILES_RESPONSE",
    "fileB64": "YWNjZXNzLmxvZw==",
    "file_b64": "YWNjZXNzLmxvZw==",
    "lines": 200
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/ssl/autossl/logs' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"domain":"example.com","lines":200,"action":"ACTION_FROM_LIST_RESPONSE","download":"DOWNLOAD_FROM_LIST_RESPONSE"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "lines": 200,
    "action": "ACTION_FROM_LIST_RESPONSE",
    "download": "DOWNLOAD_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/accounts/{username}/ssl/autossl/logs/filesroot resellerList your account’s AutoSSL log files.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

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

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/accounts/{username}/ssl/autossl/overviewroot resellerView the current AutoSSL account summary plus a limited, searchable domain-health page.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/ssl/autossl/overview' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/accounts/{username}/ssl/autossl/runroot resellerRun AutoSSL for an account or one authorized selected website.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (7)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

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

1 to force renewal even if the current certificate is still valid. Alias of force_renewal.

Validation and use:

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

Alias of force. Prefer force.

Validation and use:

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

Resource ID. Required when type is addon, subdomain, or parked. Use the matching domain list id. For main use 0 or omit it.

Validation and use: GET /v1/root/resellers Choose the account or resource you want to use.

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

Validation and use:

typeOptional
Send in
JSON body
Type
enum
Accepted values
main, addon, subdomain, parked
Example
main

Optional target type. Allowed values: main, addon, subdomain, parked. Omit it to process all eligible domains in the account.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "force": 1,
    "force_renewal": 1,
    "id": 1,
    "include_account": 1,
    "type": "main"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/ssl/autossl/run' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"type":"main","id":1,"force":1,"force_renewal":1}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "type": "main",
    "id": 1,
    "force": 1,
    "force_renewal": 1
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/statusroot resellerSuspend or unsuspend account.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (5)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

actionOptional
Send in
JSON body
Type
enum
Accepted values
suspend, unsuspend
Example
suspend

Requested action name. Allowed values: suspend, unsuspend. Alternative to status: suspend|unsuspend. Used only if status is omitted.

Validation and use:

new_statusOptional
Send in
JSON body
Type
enum
Accepted values
1, 2
Example
1

Alias of status. Prefer status. Allowed values: 1, 2.

Validation and use:

statusOptional
Send in
JSON body
Type
enum
Accepted values
1, 2
Example
1

Status value. Allowed values: 1, 2. Allowed: 1 (active), 2 (suspended). Alias: new_status.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "action": "suspend",
    "new_status": 1,
    "status": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/status' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"status":1,"new_status":1,"action":"suspend"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "status": 1,
    "new_status": 1,
    "action": "suspend"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/usernameroot resellerRename account system username.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (3)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

new_usernameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
NEW_USERNAME_FROM_LIST_RESPONSE

New system username. Alias: username.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "new_username": "NEW_USERNAME_FROM_LIST_RESPONSE"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/username' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"new_username":"NEW_USERNAME_FROM_LIST_RESPONSE"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "new_username": "NEW_USERNAME_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/accounts/{username}/web-settings/modsecurityroot resellerChoose the website's ModSecurity protection mode and rule exceptions.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (9)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Exact username of an account owned by this reseller.

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

idRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Resource ID. Use 0 for main; use the Web Settings list id for addon or subdomain.

Validation and use: GET /v1/root/resellers

typeRequired
Send in
JSON body
Type
enum
Accepted values
main, addon, subdomain
Example
main

Target domain type. Parked domains inherit the main domain.

Validation and use:

modeOptional
Send in
JSON body
Type
enum
Accepted values
on, off, detectiononly
Example
on

Operation mode. Blocking, disabled, or detection-only mode. Accepted detection-only aliases: detect, detection, detection_only. Invalid values are rejected and never normalized to off.

Validation and use:

profileOptional
Send in
JSON body
Type
enum
Accepted values
generic, wordpress, wordpress_ecommerce, drupal, nextcloud, dokuwiki, phpbb, phpmyadmin, xenforo, strict
Example
generic

Application profile: generic, wordpress, wordpress_ecommerce, drupal, nextcloud, dokuwiki, phpbb, phpmyadmin, xenforo, or strict. When supplied without rule_remove_ids/tags, its defaults are materialized; when omitted, the current target profile is preserved.

Validation and use:

rule_remove_idsOptional
Send in
JSON body
Type
array<string>|string
Accepted values
Any value matching array<string>|string
Example
RULE_REMOVE_IDS_FROM_LIST_RESPONSE

Complete replacement list of known active CRS rule IDs disabled for this target.

Validation and use:

rule_remove_msgsOptional
Send in
JSON body
Type
array<string>|string
Accepted values
Any value matching array<string>|string
Example
RULE_REMOVE_MSGS_FROM_LIST_RESPONSE

Complete replacement list of up to 64 message patterns, maximum 512 bytes each. Control characters and line breaks are rejected.

Validation and use:

rule_remove_tagsOptional
Send in
JSON body
Type
array<string>|string
Accepted values
Any value matching array<string>|string
Example
RULE_REMOVE_TAGS_FROM_LIST_RESPONSE

Complete replacement list of known active CRS tags disabled for this target.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "id": 1,
    "type": "main",
    "mode": "on",
    "profile": "generic",
    "rule_remove_ids": "RULE_REMOVE_IDS_FROM_LIST_RESPONSE",
    "rule_remove_msgs": "RULE_REMOVE_MSGS_FROM_LIST_RESPONSE",
    "rule_remove_tags": "RULE_REMOVE_TAGS_FROM_LIST_RESPONSE"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/accounts/demo/web-settings/modsecurity' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"type":"main","id":1}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "type": "main",
    "id": 1
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/addon-to-account/contextroot resellerList addon domains, packages, owners, and reseller limits for Addon to Account conversion.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/addon-to-account/context' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/addon-to-account/jobsroot resellerStart a resumable Addon to Account conversion job.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (16)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

source_accountRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
SOURCE_ACCOUNT_FROM_LIST_RESPONSE

Source account username that currently owns the addon domain. Resellers can only use accounts they own.

Validation and use:

target_package_idRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
1

Account package id for the new standalone account.

Validation and use: GET /v1/root/resellers

target_usernameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
TARGET_USERNAME_FROM_LIST_RESPONSE

New standalone account username. Same rules as Create Account.

Validation and use:

account_emailOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
admin@example.com

Account contact email address.

Validation and use:

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

Account username.

Validation and use:

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

Account username.

Validation and use:

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

Addon id from the source account. Use addon_id or domain.

Validation and use: GET /v1/root/resellers

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

Domain name. Addon FQDN. Use domain or addon_id.

Validation and use:

mysql_database_idsOptional
Send in
JSON body
Type
array|csv
Accepted values
Any value matching array|csv
Example
MYSQL_DATABASE_IDS_FROM_LIST_RESPONSE

Selected MySQL database ids to move. Empty means no MySQL databases are moved.

Validation and use:

mysql_user_idsOptional
Send in
JSON body
Type
array|csv
Accepted values
Any value matching array|csv
Example
MYSQL_USER_IDS_FROM_LIST_RESPONSE

Selected MySQL user ids to move. Empty means no MySQL users are moved.

Validation and use:

postgres_database_idsOptional
Send in
JSON body
Type
array|csv
Accepted values
Any value matching array|csv
Example
POSTGRES_DATABASE_IDS_FROM_LIST_RESPONSE

Selected PostgreSQL database ids to move. Empty means no PostgreSQL databases are moved.

Validation and use:

postgres_user_idsOptional
Send in
JSON body
Type
array|csv
Accepted values
Any value matching array|csv
Example
POSTGRES_USER_IDS_FROM_LIST_RESPONSE

Selected PostgreSQL user ids to move. Empty means no PostgreSQL users are moved.

Validation and use:

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

Account package id returned by GET /v1/resellers/{reseller}/account-packages. Select a package owned by this reseller; there is no implicit package id.

Validation and use: Minimum 1. Pattern: ^[1-9][0-9]*$. GET /v1/resellers/{reseller}/account-packages Use package id 1 for the protected default package when no package is specified. Send a positive numeric package id; never send -1 or the word default.

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

Validation and use: GET /v1/root/resellers

target_emailOptional
Send in
JSON body
Type
string|email
Accepted values
Any value matching string|email
Example
admin@example.com

Contact email for the new account.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "source_account": "SOURCE_ACCOUNT_FROM_LIST_RESPONSE",
    "target_package_id": 1,
    "target_username": "TARGET_USERNAME_FROM_LIST_RESPONSE",
    "account_email": "admin@example.com",
    "account_user": "demo",
    "account_username": "demo",
    "addon_id": 1,
    "domain": "example.com",
    "mysql_database_ids": "MYSQL_DATABASE_IDS_FROM_LIST_RESPONSE",
    "mysql_user_ids": "MYSQL_USER_IDS_FROM_LIST_RESPONSE",
    "postgres_database_ids": "POSTGRES_DATABASE_IDS_FROM_LIST_RESPONSE",
    "postgres_user_ids": "POSTGRES_USER_IDS_FROM_LIST_RESPONSE",
    "select_account_package": 1,
    "source_addon_id": 1,
    "target_email": "admin@example.com"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/addon-to-account/jobs' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"source_account":"SOURCE_ACCOUNT_FROM_LIST_RESPONSE","target_username":"TARGET_USERNAME_FROM_LIST_RESPONSE","target_package_id":1}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "source_account": "SOURCE_ACCOUNT_FROM_LIST_RESPONSE",
    "target_username": "TARGET_USERNAME_FROM_LIST_RESPONSE",
    "target_package_id": 1
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

FieldDocumented type or shape
job_idstring
jobobject

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/addon-to-account/jobs/{job_id}root resellerView Addon to Account conversion job progress and recent log lines.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

job_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
job-id-from-previous-response

Resource identifier returned by the corresponding reseller-scoped 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.

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "job_id": "job-id-from-previous-response",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/addon-to-account/jobs/job-id-from-previous-response' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "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

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/addon-to-account/jobs/{job_id}/resumeroot resellerResume a failed or interrupted Addon to Account conversion job.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

job_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
job-id-from-previous-response

Resource identifier returned by the corresponding reseller-scoped 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.

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "job_id": "job-id-from-previous-response",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/addon-to-account/jobs/job-id-from-previous-response/resume' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "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

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/addon-to-account/previewroot resellerPreview resources tied to an addon domain before converting it into a standalone account.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (6)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

source_accountRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
SOURCE_ACCOUNT_FROM_LIST_RESPONSE

Source account username that currently owns the addon domain.

Validation and use:

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

Account username.

Validation and use:

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

Addon id from the source account. Use addon_id or domain.

Validation and use: GET /v1/root/resellers

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

Domain name. Addon FQDN. Use domain or addon_id.

Validation and use:

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

Validation and use: GET /v1/root/resellers

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "source_account": "SOURCE_ACCOUNT_FROM_LIST_RESPONSE",
    "account_user": "demo",
    "addon_id": 1,
    "domain": "example.com",
    "source_addon_id": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/addon-to-account/preview' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"source_account":"SOURCE_ACCOUNT_FROM_LIST_RESPONSE"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "source_account": "SOURCE_ACCOUNT_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

FieldDocumented type or shape
source_accountstring
domainstring
document_rootstring
shares_main_document_rootboolean
move_itemsarray of resource/status/count/details rows
mailboxesarray
ftp_accountsarray
mysql_databasesarray
mysql_usersarray
postgres_databasesarray
postgres_usersarray

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/audit/contextroot resellerView the filters and accounts available in the audit log.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

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

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/audit/getroot resellerView one audit record.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

File path.

Validation and use: Use the relevant list/read endpoint for this resource and copy the returned file name.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/audit/get' \
  -H 'X-Api-User: reseller' \
  -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.

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/audit/listroot resellerList audit rows.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (10)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

DataTables draw counter.

Validation and use:

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

Validation and use:

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

Validation and use:

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

Validation and use:

filter_ownerOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
FILTER_OWNER_FROM_LIST_RESPONSE

Validation and use:

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

Validation and use:

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

Validation and use:

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

Page size.

Validation and use:

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

Row offset.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "draw": 1,
    "filter_action": "FILTER_ACTION_FROM_LIST_RESPONSE",
    "filter_actor": "FILTER_ACTOR_FROM_LIST_RESPONSE",
    "filter_from": "FILTER_FROM_FROM_LIST_RESPONSE",
    "filter_owner": "FILTER_OWNER_FROM_LIST_RESPONSE",
    "filter_to": "FILTER_TO_FROM_LIST_RESPONSE",
    "filter_type": "FILTER_TYPE_FROM_LIST_RESPONSE",
    "length": 25,
    "start": 0
  },
  "query_or_json_parameters": {}
}

Example request

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

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "filter_from": "FILTER_FROM_FROM_LIST_RESPONSE",
    "filter_to": "FILTER_TO_FROM_LIST_RESPONSE",
    "filter_action": "FILTER_ACTION_FROM_LIST_RESPONSE",
    "filter_actor": "FILTER_ACTOR_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/autossl/logsroot resellerView AutoSSL log content.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (10)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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 in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

actionOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
ACTION_FROM_LIST_RESPONSE

Requested action name.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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 in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

downloadOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
DOWNLOAD_FROM_LIST_RESPONSE

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

fileOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
LOG_FILENAME_FROM_LOG_FILES_RESPONSE

Optional log filename returned by the matching log-files endpoint, as an alternative to fileB64. Directory paths and traversal are not accepted.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

fileB64Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
YWNjZXNzLmxvZw==

Opaque base64 file identifier returned by the corresponding owned-account log-files endpoint. Optional; omit to select the latest allowed log. Never construct a server path.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

file_b64Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
YWNjZXNzLmxvZw==

Compatibility alias for fileB64. Use one file selector only.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Number of lines to return.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "account_user": "demo",
    "action": "ACTION_FROM_LIST_RESPONSE",
    "domain": "example.com",
    "download": "DOWNLOAD_FROM_LIST_RESPONSE",
    "file": "LOG_FILENAME_FROM_LOG_FILES_RESPONSE",
    "fileB64": "YWNjZXNzLmxvZw==",
    "file_b64": "YWNjZXNzLmxvZw==",
    "lines": 200,
    "user": "demo"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/autossl/logs' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"domain":"example.com","lines":200,"action":"ACTION_FROM_LIST_RESPONSE","download":"DOWNLOAD_FROM_LIST_RESPONSE"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "lines": 200,
    "action": "ACTION_FROM_LIST_RESPONSE",
    "download": "DOWNLOAD_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/autossl/overviewroot resellerView AutoSSL overview.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

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

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/contextroot resellerView reseller account-management form choices and limits.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

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

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/dashboardroot resellerView the reseller dashboard.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/dashboard' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/dns/recordsroot resellerCreate DNS record.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (24)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Domain name. Zone domain (FQDN), e.g. "example.com".

Validation and use:

recordRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
RECORD_FROM_LIST_RESPONSE

DNS record payload. Record name/host label (e.g. "www", "@", "api").

Validation and use:

ttlRequired
Send in
JSON body
Type
string|integer
Accepted values
Any value matching string|integer
Example
3600

TTL in seconds from 0 through 604800.

Validation and use:

typeRequired
Send in
JSON body
Type
enum
Accepted values
soa, txt, a, aaaa, afsdb, caa, cname, dname, ds, hinfo, mx, ns, ptr, srv
Example
a

Type value. Allowed values: soa, txt. Record type (lowercase). SOA is edited through PATCH and cannot be created separately.

Validation and use:

afsdbhostConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
AFSDBHOST_FROM_LIST_RESPONSE

For afsdb: hostname.

Validation and use: Choose the account or resource you want to use.

afsdbtypeConditional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For afsdb: subtype.

Validation and use: Choose the account or resource you want to use.

caaflagConditional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For caa: flag.

Validation and use: Choose the account or resource you want to use.

caatagConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
CAATAG_FROM_LIST_RESPONSE

For caa: tag.

Validation and use: Choose the account or resource you want to use.

caavalueConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
CAAVALUE_FROM_LIST_RESPONSE

For caa: value.

Validation and use: Choose the account or resource you want to use.

dsalgorithmConditional
Send in
JSON body
Type
enum
Accepted values
3, 5, 6, 7, 8, 10, 13, 14
Example
3

Required for ds: DNSSEC algorithm number accepted by SHM.

Validation and use: Choose the account or resource you want to use.

dsdigestConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
DSDIGEST_FROM_LIST_RESPONSE

Required for ds: hexadecimal digest with exactly 40 characters for type 1, 64 for type 2, or 96 for type 4.

Validation and use: Choose the account or resource you want to use.

dsdigesttypeConditional
Send in
JSON body
Type
enum
Accepted values
1, 2, 4
Example
1

Required for ds: digest type 1 (SHA-1), 2 (SHA-256), or 4 (SHA-384).

Validation and use: Choose the account or resource you want to use.

dskeytagConditional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Required for ds: key tag from 0 through 65535.

Validation and use: Choose the account or resource you want to use.

hinfocpuConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
HINFOCPU_FROM_LIST_RESPONSE

For hinfo: CPU string.

Validation and use: Choose the account or resource you want to use.

hinfoosConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
HINFOOS_FROM_LIST_RESPONSE

For hinfo: OS string.

Validation and use: Choose the account or resource you want to use.

mxdestinationConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
MXDESTINATION_FROM_LIST_RESPONSE

For mx: destination hostname.

Validation and use: Choose the account or resource you want to use.

mxpriorityConditional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For mx: priority.

Validation and use: Choose the account or resource you want to use.

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

For a/aaaa/cname: optional provider proxy metadata stored with the record; it does not alter native PowerDNS answers.

Validation and use:

srvportConditional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For srv: port.

Validation and use: Choose the account or resource you want to use.

srvpriorityConditional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For srv: priority.

Validation and use: Choose the account or resource you want to use.

srvtargetConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
SRVTARGET_FROM_LIST_RESPONSE

For srv: target hostname.

Validation and use: Choose the account or resource you want to use.

srvweightConditional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For srv: weight.

Validation and use: Choose the account or resource you want to use.

valueConditional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
VALUE_FROM_LIST_RESPONSE

For a/aaaa/cname/dname/ns/ptr/txt: record value (IP/hostname/text). For txt, quotes are stripped automatically.

Validation and use: Choose the account or resource you want to use.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "record": "RECORD_FROM_LIST_RESPONSE",
    "ttl": 3600,
    "type": "a",
    "afsdbhost": "AFSDBHOST_FROM_LIST_RESPONSE",
    "afsdbtype": 1,
    "caaflag": 1,
    "caatag": "CAATAG_FROM_LIST_RESPONSE",
    "caavalue": "CAAVALUE_FROM_LIST_RESPONSE",
    "dsalgorithm": 3,
    "dsdigest": "DSDIGEST_FROM_LIST_RESPONSE",
    "dsdigesttype": 1,
    "dskeytag": 1,
    "hinfocpu": "HINFOCPU_FROM_LIST_RESPONSE",
    "hinfoos": "HINFOOS_FROM_LIST_RESPONSE",
    "mxdestination": "MXDESTINATION_FROM_LIST_RESPONSE",
    "mxpriority": 1,
    "proxied": 1,
    "srvport": 1,
    "srvpriority": 1,
    "srvtarget": "SRVTARGET_FROM_LIST_RESPONSE",
    "srvweight": 1,
    "value": "VALUE_FROM_LIST_RESPONSE"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/dns/records' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"domain":"example.com","type":"a","record":"RECORD_FROM_LIST_RESPONSE","ttl":3600}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "type": "a",
    "record": "RECORD_FROM_LIST_RESPONSE",
    "ttl": 3600
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
DELETE/v1/resellers/{reseller}/dns/records/{id}root resellerDelete DNS record.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (26)

idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Domain name. Zone domain (FQDN), e.g. "example.com".

Validation and use:

typeRequired
Send in
JSON body
Type
enum
Accepted values
a, aaaa, afsdb, caa, cname, dname, ds, hinfo, mx, ns, ptr, srv, txt
Example
a

Existing record type (lowercase). SOA is required and cannot be deleted.

Validation and use:

afsdbhostOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
AFSDBHOST_FROM_LIST_RESPONSE

Optional afsdb hostname guard.

Validation and use:

afsdbtypeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Optional afsdb subtype guard.

Validation and use:

caaflagOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Optional caa flag guard.

Validation and use:

caatagOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
CAATAG_FROM_LIST_RESPONSE

Optional caa tag guard.

Validation and use:

caavalueOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
CAAVALUE_FROM_LIST_RESPONSE

Optional caa value guard.

Validation and use:

dsalgorithmOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Optional ds algorithm guard.

Validation and use:

dsdigestOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
DSDIGEST_FROM_LIST_RESPONSE

Optional ds digest guard.

Validation and use:

dsdigesttypeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Optional ds digest-type guard.

Validation and use:

dskeytagOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Optional ds key-tag guard.

Validation and use:

fieldsOptional
Send in
JSON body
Type
object
Accepted values
Any value matching object
Example
FIELDS_FROM_LIST_RESPONSE

Optional record-value guards when legacy duplicate ids exist; accepts the same guard keys as the top-level fields below.

Validation and use:

hinfocpuOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
HINFOCPU_FROM_LIST_RESPONSE

Optional hinfo CPU guard.

Validation and use:

hinfoosOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
HINFOOS_FROM_LIST_RESPONSE

Optional hinfo operating-system guard.

Validation and use:

mxdestinationOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
MXDESTINATION_FROM_LIST_RESPONSE

Optional mx destination guard.

Validation and use:

mxpriorityOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Optional mx priority guard.

Validation and use:

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

Optional provider proxy-metadata guard for a/aaaa/cname.

Validation and use:

recordOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
RECORD_FROM_LIST_RESPONSE

Optional owner-name guard used to identify the exact row when duplicate ids exist.

Validation and use:

srvportOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Optional srv port guard.

Validation and use:

srvpriorityOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Optional srv priority guard.

Validation and use:

srvtargetOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
SRVTARGET_FROM_LIST_RESPONSE

Optional srv target guard.

Validation and use:

srvweightOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Optional srv weight guard.

Validation and use:

ttlOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
3600

Optional TTL guard used to identify the exact row when duplicate ids exist.

Validation and use:

valueOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
VALUE_FROM_LIST_RESPONSE

Optional value guard for a/aaaa/cname/dname/ns/ptr/txt.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "id": 1,
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "type": "a",
    "afsdbhost": "AFSDBHOST_FROM_LIST_RESPONSE",
    "afsdbtype": 1,
    "caaflag": 1,
    "caatag": "CAATAG_FROM_LIST_RESPONSE",
    "caavalue": "CAAVALUE_FROM_LIST_RESPONSE",
    "dsalgorithm": 1,
    "dsdigest": "DSDIGEST_FROM_LIST_RESPONSE",
    "dsdigesttype": 1,
    "dskeytag": 1,
    "fields": "FIELDS_FROM_LIST_RESPONSE",
    "hinfocpu": "HINFOCPU_FROM_LIST_RESPONSE",
    "hinfoos": "HINFOOS_FROM_LIST_RESPONSE",
    "mxdestination": "MXDESTINATION_FROM_LIST_RESPONSE",
    "mxpriority": 1,
    "proxied": 1,
    "record": "RECORD_FROM_LIST_RESPONSE",
    "srvport": 1,
    "srvpriority": 1,
    "srvtarget": "SRVTARGET_FROM_LIST_RESPONSE",
    "srvweight": 1,
    "ttl": 3600,
    "value": "VALUE_FROM_LIST_RESPONSE"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X DELETE 'https://panel.example.com:882/v1/resellers/demo/dns/records/1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"domain":"example.com","type":"a"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "id": 1
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "type": "a"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/dns/records/{id}root resellerEdit DNS record.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (32)

idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Domain name. Zone domain (FQDN), e.g. "example.com".

Validation and use:

typeRequired
Send in
JSON body
Type
enum
Accepted values
soa, txt, a, aaaa, afsdb, caa, cname, dname, ds, hinfo, mx, ns, ptr, srv
Example
a

Type value. Allowed values: soa, txt. Existing record type (lowercase) used to locate the record id.

Validation and use:

afsdbhostOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
AFSDBHOST_FROM_LIST_RESPONSE

For afsdb: replacement hostname.

Validation and use:

afsdbtypeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For afsdb: replacement subtype.

Validation and use:

caaflagOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For caa: replacement flag from 0 through 255.

Validation and use:

caatagOptional
Send in
JSON body
Type
enum
Accepted values
issue, issuewild, iodef
Example
issue

For caa: replacement tag.

Validation and use:

caavalueOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
CAAVALUE_FROM_LIST_RESPONSE

For caa: replacement value.

Validation and use:

dsalgorithmOptional
Send in
JSON body
Type
enum
Accepted values
3, 5, 6, 7, 8, 10, 13, 14
Example
3

For ds: replacement DNSSEC algorithm number accepted by SHM.

Validation and use:

dsdigestOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
DSDIGEST_FROM_LIST_RESPONSE

For ds: replacement hexadecimal digest; length must match its digest type (40, 64, or 96).

Validation and use:

dsdigesttypeOptional
Send in
JSON body
Type
enum
Accepted values
1, 2, 4
Example
1

For ds: replacement digest type.

Validation and use:

dskeytagOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For ds: replacement key tag from 0 through 65535.

Validation and use:

eaddressOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
EADDRESS_FROM_LIST_RESPONSE

For soa: replacement responsible-party address in DNS hostname format.

Validation and use:

expireOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For soa: replacement expire interval, maximum 2419200.

Validation and use:

fieldsOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
FIELDS_FROM_LIST_RESPONSE

Optional object of field→value updates (alternative to top-level fields).

Validation and use:

hinfocpuOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
HINFOCPU_FROM_LIST_RESPONSE

For hinfo: replacement CPU string.

Validation and use:

hinfoosOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
HINFOOS_FROM_LIST_RESPONSE

For hinfo: replacement operating-system string.

Validation and use:

mxdestinationOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
MXDESTINATION_FROM_LIST_RESPONSE

For mx: replacement destination hostname.

Validation and use:

mxpriorityOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For mx: replacement priority.

Validation and use:

pnameserverOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
PNAMESERVER_FROM_LIST_RESPONSE

For soa: replacement primary nameserver.

Validation and use:

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

For a/aaaa/cname: replacement provider proxy metadata.

Validation and use:

recordOptional
Send in
JSON body
Type
object|string
Accepted values
Any value matching object|string
Example
RECORD_FROM_LIST_RESPONSE

DNS record payload. Record name/host label (if changing).

Validation and use:

refreshOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For soa: replacement refresh interval, maximum 604800.

Validation and use:

retryOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For soa: replacement retry interval, maximum 2419200.

Validation and use:

serialOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For soa: replacement serial; SHM still advances it when zone content changes.

Validation and use:

srvportOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For srv: replacement port.

Validation and use:

srvpriorityOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For srv: replacement priority.

Validation and use:

srvtargetOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
SRVTARGET_FROM_LIST_RESPONSE

For srv: replacement target hostname.

Validation and use:

srvweightOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For srv: replacement weight.

Validation and use:

ttlOptional
Send in
JSON body
Type
object|string|integer
Accepted values
Any value matching object|string|integer
Example
3600

TTL in seconds from 0 through 604800 (if changing).

Validation and use:

valueOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
VALUE_FROM_LIST_RESPONSE

For a/aaaa/cname/dname/ns/ptr/txt: replacement value. For txt, quotes are stripped automatically.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "id": 1,
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "type": "a",
    "afsdbhost": "AFSDBHOST_FROM_LIST_RESPONSE",
    "afsdbtype": 1,
    "caaflag": 1,
    "caatag": "issue",
    "caavalue": "CAAVALUE_FROM_LIST_RESPONSE",
    "dsalgorithm": 3,
    "dsdigest": "DSDIGEST_FROM_LIST_RESPONSE",
    "dsdigesttype": 1,
    "dskeytag": 1,
    "eaddress": "EADDRESS_FROM_LIST_RESPONSE",
    "expire": 1,
    "fields": "FIELDS_FROM_LIST_RESPONSE",
    "hinfocpu": "HINFOCPU_FROM_LIST_RESPONSE",
    "hinfoos": "HINFOOS_FROM_LIST_RESPONSE",
    "mxdestination": "MXDESTINATION_FROM_LIST_RESPONSE",
    "mxpriority": 1,
    "pnameserver": "PNAMESERVER_FROM_LIST_RESPONSE",
    "proxied": 1,
    "record": "RECORD_FROM_LIST_RESPONSE",
    "refresh": 1,
    "retry": 1,
    "serial": 1,
    "srvport": 1,
    "srvpriority": 1,
    "srvtarget": "SRVTARGET_FROM_LIST_RESPONSE",
    "srvweight": 1,
    "ttl": 3600,
    "value": "VALUE_FROM_LIST_RESPONSE"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/dns/records/1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"domain":"example.com","type":"a"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "id": 1
  },
  "query_parameters": {},
  "json_body": {
    "domain": "example.com",
    "type": "a"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/dns/zonesroot resellerList DNS manager zones.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/dns/zones' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/dns/zones/{domain}root resellerView DNS zone data.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/dns/zones/{domain}/cloudflare/cache/purgeroot resellerPurge DNS zone Cloudflare cache through your DNS service.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (7)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

filesOptional
Send in
JSON body
Type
array
Accepted values
Any value matching array
Example
FILES_FROM_LIST_RESPONSE

Optional Cloudflare files purge payload.

Validation and use:

hostsOptional
Send in
JSON body
Type
array
Accepted values
Any value matching array
Example
HOSTS_FROM_LIST_RESPONSE

Optional Cloudflare hosts purge payload.

Validation and use:

prefixesOptional
Send in
JSON body
Type
array
Accepted values
Any value matching array
Example
PREFIXES_FROM_LIST_RESPONSE

Optional Cloudflare prefixes purge payload.

Validation and use:

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

Purge all cached files for the zone.

Validation and use:

tagsOptional
Send in
JSON body
Type
array
Accepted values
Any value matching array
Example
TAGS_FROM_LIST_RESPONSE

Optional Cloudflare tags purge payload.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "files": "FILES_FROM_LIST_RESPONSE",
    "hosts": "HOSTS_FROM_LIST_RESPONSE",
    "prefixes": "PREFIXES_FROM_LIST_RESPONSE",
    "purge_everything": 1,
    "tags": "TAGS_FROM_LIST_RESPONSE"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/cloudflare/cache/purge' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"purge_everything":1,"files":"FILES_FROM_LIST_RESPONSE","tags":"TAGS_FROM_LIST_RESPONSE","hosts":"HOSTS_FROM_LIST_RESPONSE"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {
    "purge_everything": 1,
    "files": "FILES_FROM_LIST_RESPONSE",
    "tags": "TAGS_FROM_LIST_RESPONSE",
    "hosts": "HOSTS_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/dns/zones/{domain}/cloudflare/recordsroot resellerList DNS zone Cloudflare records through your DNS service.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/cloudflare/records' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/dns/zones/{domain}/cloudflare/recordsroot resellerCreate DNS zone Cloudflare record through your DNS service.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (9)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

contentRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
CONTENT_FROM_LIST_RESPONSE

Record value/content.

Validation and use:

nameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
NAME_FROM_LIST_RESPONSE

Record owner name, such as @, www, or api.

Validation and use:

typeRequired
Send in
JSON body
Type
enum
Accepted values
A, AAAA, CNAME, TXT, MX
Example
A

Allowed values: A, AAAA, CNAME, TXT, MX.

Validation and use:

commentOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
COMMENT_FROM_LIST_RESPONSE

Optional record comment.

Validation and use:

priorityOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For MX records: priority.

Validation and use:

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

For A, AAAA, or CNAME: enable or disable Cloudflare proxying.

Validation and use:

ttlOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
3600

TTL in seconds or 1 for automatic Cloudflare TTL.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "content": "CONTENT_FROM_LIST_RESPONSE",
    "name": "NAME_FROM_LIST_RESPONSE",
    "type": "A",
    "comment": "COMMENT_FROM_LIST_RESPONSE",
    "priority": 1,
    "proxied": 1,
    "ttl": 3600
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/cloudflare/records' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"type":"A","name":"NAME_FROM_LIST_RESPONSE","content":"CONTENT_FROM_LIST_RESPONSE"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {
    "type": "A",
    "name": "NAME_FROM_LIST_RESPONSE",
    "content": "CONTENT_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
DELETE/v1/resellers/{reseller}/dns/zones/{domain}/cloudflare/records/{record_id}root resellerDelete DNS zone Cloudflare record through your DNS service.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (3)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

record_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "record_id": 1,
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X DELETE 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/cloudflare/records/1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com",
    "record_id": 1
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/dns/zones/{domain}/cloudflare/records/{record_id}root resellerUpdate DNS zone Cloudflare record through your DNS service.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (10)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

record_idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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
COMMENT_FROM_LIST_RESPONSE

Optional record comment.

Validation and use:

contentOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
CONTENT_FROM_LIST_RESPONSE

Record value/content.

Validation and use:

nameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
NAME_FROM_LIST_RESPONSE

Record owner name, such as @, www, or api.

Validation and use:

priorityOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

For MX records: priority.

Validation and use:

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

For A, AAAA, or CNAME: enable or disable Cloudflare proxying.

Validation and use:

ttlOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
3600

TTL in seconds or 1 for automatic Cloudflare TTL.

Validation and use:

typeOptional
Send in
JSON body
Type
enum
Accepted values
A, AAAA, CNAME, TXT, MX
Example
A

Allowed values: A, AAAA, CNAME, TXT, MX.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "record_id": 1,
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "comment": "COMMENT_FROM_LIST_RESPONSE",
    "content": "CONTENT_FROM_LIST_RESPONSE",
    "name": "NAME_FROM_LIST_RESPONSE",
    "priority": 1,
    "proxied": 1,
    "ttl": 3600,
    "type": "A"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/cloudflare/records/1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"type":"A","name":"NAME_FROM_LIST_RESPONSE","content":"CONTENT_FROM_LIST_RESPONSE","ttl":3600}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com",
    "record_id": 1
  },
  "query_parameters": {},
  "json_body": {
    "type": "A",
    "name": "NAME_FROM_LIST_RESPONSE",
    "content": "CONTENT_FROM_LIST_RESPONSE",
    "ttl": 3600
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/dns/zones/{domain}/cloudflare/settingsroot resellerView DNS zone Cloudflare settings through your DNS service.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/cloudflare/settings' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/dns/zones/{domain}/cloudflare/settings/{setting}root resellerUpdate DNS zone Cloudflare setting through your DNS service.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Resource identifier returned by the corresponding reseller-scoped listing.

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

valueRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
VALUE_FROM_LIST_RESPONSE

Cloudflare setting value. For on/off settings use on or off; security_level accepts essentially_off, low, medium, high, under_attack; cache_level accepts basic, simplified, aggressive.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo",
    "setting": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "value": "VALUE_FROM_LIST_RESPONSE"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/cloudflare/settings/demo' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"value":"VALUE_FROM_LIST_RESPONSE"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com",
    "setting": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "value": "VALUE_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/dns/zones/{domain}/cloudflare/statusroot resellerView DNS zone Cloudflare status through your DNS service.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/cloudflare/status' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/dns/zones/{domain}/dnssecroot resellerCheck DNSSEC status and get the records your domain registrar needs.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/dnssec' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/dns/zones/{domain}/dnssec/disableroot resellerTurn off DNSSEC signing for a domain.

Before you start

Follow the required registrar steps as well, so a stale DS record does not make the domain unreachable.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Validation and use:

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

Root-only recovery override for parent-DS safety. Non-root callers are rejected when true.

Validation and use: Default: false.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "confirm": "example.com",
    "force": false
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/dnssec/disable' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"confirm":"example.com"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {
    "confirm": "example.com"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/dns/zones/{domain}/dnssec/enableroot resellerTurn on DNSSEC signing for a domain.

Before you start

Follow the registrar steps for publishing the DS record before treating setup as complete.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/dnssec/enable' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/dns/zones/{domain}/dnssec/rolloverroot resellerContinue a planned change of a domain's DNSSEC signing key.

Before you start

Follow the next step reported by SHM and make any required registrar change before continuing.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

phaseRequired
Send in
JSON body
Type
enum
Accepted values
begin, activate, complete
Example
begin

Phase request field. Allowed values: begin, activate, complete. Requested safe rollover transition. Transitions must be performed in order.

Validation and use:

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

Administrator-only recovery override for the registrar DS check and required waiting period. It does not bypass ownership or authentication.

Validation and use: Default: false.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "phase": "begin",
    "force": false
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/dnssec/rollover' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"phase":"begin"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {
    "phase": "begin"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
DELETE/v1/resellers/{reseller}/dns/zones/{domain}/mail-records/dkimroot resellerDelete a DNS zone DKIM TXT record.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X DELETE 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/mail-records/dkim' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/dns/zones/{domain}/mail-records/syncroot resellerUpdate a domain's email verification records to match its mail settings.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/mail-records/sync' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/dns/zones/{domain}/regenerateroot resellerRebuild a domain's DNS records from its saved SHM settings.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

domainRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
example.com

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "domain": "example.com",
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/dns/zones/example.com/regenerate' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "domain": "example.com"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/feature-profilesroot resellerList feature profiles available to you.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/feature-profiles' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/feature-profilesroot resellerCreate feature profile.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (7)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

nameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
NAME_FROM_LIST_RESPONSE

Profile name (1–64 chars; letters/numbers/spaces). Alias: profile_name.

Validation and use:

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

Allow all available feature keys. 1 to allow all features (default). Alias: allowall.

Validation and use:

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

Allow all available feature keys. Alias of allow_all. Prefer allow_all.

Validation and use:

feature_keysOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
FEATURE_KEYS_FROM_LIST_RESPONSE

Feature key list. Alias of features. Prefer features.

Validation and use:

featuresOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
FEATURES_FROM_LIST_RESPONSE

Feature key list. When allow_all=0: array of feature keys, or comma-separated string. Alias: feature_keys.

Validation and use:

profile_nameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
PROFILE_NAME_FROM_LIST_RESPONSE

Profile name. Alias of name. Prefer name.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "name": "NAME_FROM_LIST_RESPONSE",
    "allow_all": 1,
    "allowall": 1,
    "feature_keys": "FEATURE_KEYS_FROM_LIST_RESPONSE",
    "features": "FEATURES_FROM_LIST_RESPONSE",
    "profile_name": "PROFILE_NAME_FROM_LIST_RESPONSE"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/feature-profiles' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"name":"NAME_FROM_LIST_RESPONSE"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "name": "NAME_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
DELETE/v1/resellers/{reseller}/feature-profiles/{id}root resellerDelete feature profile (if unused).

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (3)

idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

featureprofile_idOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Compatibility alias for id. Prefer the path id.

Validation and use: GET /v1/root/resellers

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "id": 1,
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "featureprofile_id": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X DELETE 'https://panel.example.com:882/v1/resellers/demo/feature-profiles/1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"featureprofile_id":1}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/feature-profiles/{id}root resellerView feature profile by id.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (3)

idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

featureprofile_idOptional
Send in
Query string
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Compatibility alias for id. Prefer the path id.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string. GET /v1/root/resellers

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "id": 1,
    "reseller": "demo"
  },
  "query_parameters": {
    "featureprofile_id": 1
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/feature-profiles/1?featureprofile_id=1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
PATCH/v1/resellers/{reseller}/feature-profiles/{id}root resellerEdit feature profile.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (9)

idRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
1

Resource identifier returned by the corresponding reseller-scoped listing.

Validation and use: Required Replace this placeholder directly in the URL path. GET /v1/root/resellers

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

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

Allow all available feature keys. 1 to allow all features. Alias: allowall.

Validation and use:

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

Allow all available feature keys. Alias of allow_all. Prefer allow_all.

Validation and use:

feature_keysOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
FEATURE_KEYS_FROM_LIST_RESPONSE

Feature key list. Alias of features. Prefer features.

Validation and use:

featureprofile_idOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
1

Compatibility alias for id. Prefer the path id.

Validation and use: GET /v1/root/resellers

featuresOptional
Send in
JSON body
Type
array|string
Accepted values
Any value matching array|string
Example
FEATURES_FROM_LIST_RESPONSE

Feature key list. When allow_all=0: array of feature keys, or comma-separated string. Alias: feature_keys.

Validation and use:

nameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
NAME_FROM_LIST_RESPONSE

Profile name (1–64 chars; letters/numbers/spaces). Alias: profile_name.

Validation and use:

profile_nameOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
PROFILE_NAME_FROM_LIST_RESPONSE

Alias of name. Prefer name.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "id": 1,
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "allow_all": 1,
    "allowall": 1,
    "feature_keys": "FEATURE_KEYS_FROM_LIST_RESPONSE",
    "featureprofile_id": 1,
    "features": "FEATURES_FROM_LIST_RESPONSE",
    "name": "NAME_FROM_LIST_RESPONSE",
    "profile_name": "PROFILE_NAME_FROM_LIST_RESPONSE"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/resellers/demo/feature-profiles/1' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"name":"NAME_FROM_LIST_RESPONSE","allow_all":1,"allowall":1,"features":"FEATURES_FROM_LIST_RESPONSE"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "id": 1
  },
  "query_parameters": {},
  "json_body": {
    "name": "NAME_FROM_LIST_RESPONSE",
    "allow_all": 1,
    "allowall": 1,
    "features": "FEATURES_FROM_LIST_RESPONSE"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/feature-profiles/catalogroot resellerSee which account tools you can include in a feature profile.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/feature-profiles/catalog' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/logsroot resellerView log content.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (21)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

logTypeRequired
Send in
Query string
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Account log category. Server-global logs are not accessible to a reseller.

Validation and use: Required Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

userRequired
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
demo

Exact owned account username returned by GET /v1/resellers/{reseller}/accounts.

Validation and use: Required Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Compatibility alias for user. Must identify an account owned by this reseller.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Compatibility alias for user. Must identify an account owned by this reseller.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

actionOptional
Send in
Query string
Type
enum
Accepted values
FetchLog, TailLog, DownloadLog
Example
FetchLog

Empty reads log text; FetchLog analyzes access logs; TailLog reads the live access.log from offset; DownloadLog downloads only this account filtered log.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Owned domain returned by Logs context; required for access, error, ModSecurity, HTTP guard and FTP logs.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

downloadOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
DOWNLOAD_FROM_LIST_RESPONSE

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

fileOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
LOG_FILENAME_FROM_LOG_FILES_RESPONSE

Optional log filename returned by the matching log-files endpoint, as an alternative to fileB64. Directory paths and traversal are not accepted.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

fileB64Optional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
YWNjZXNzLmxvZw==

Opaque base64 file identifier returned by the corresponding owned-account log-files endpoint. Optional; omit to select the latest allowed log. Never construct a server path.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

file_b64Optional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
YWNjZXNzLmxvZw==

Compatibility alias for fileB64. Use one file selector only.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

ftpAccountOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Optional FTP account from the selected hosting account log context; used only for FTP logs.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

ftp_accountOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Compatibility alias for ftpAccount.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

ipOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
192.0.2.10

Optional client IPv4/IPv6 filter for FetchLog access-log analysis.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

linesOptional
Send in
Query string
Type
int|string
Accepted values
Any value matching int|string
Example
200

Number of lines to return.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

log_typeOptional
Send in
Query string
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Compatibility alias for logType.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

methodOptional
Send in
Query string
Type
enum
Accepted values
GET, POST, HEAD, PUT, DELETE, OPTIONS, PATCH
Example
GET

Optional HTTP method filter for FetchLog.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

offsetOptional
Send in
Query string
Type
integer
Accepted values
Any value matching integer
Example
0

Byte offset returned by the previous TailLog response; only applicable to live access.log.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string. Minimum 0.

qOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
account

Optional access-log text search used by FetchLog, limited to 160 characters.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string. Maximum length 160.

rowsOptional
Send in
Query string
Type
integer
Accepted values
Any value matching integer; default: 10000
Example
10000

Maximum analyzed rows returned by FetchLog.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string. Minimum 1. Maximum 20000. Default: 10000.

statusOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
enabled

Optional FetchLog HTTP status filter: a three-digit code or 2xx, 3xx, 4xx, 5xx.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {
    "logType": "access",
    "user": "demo",
    "account_user": "demo",
    "account_username": "demo",
    "action": "FetchLog",
    "domain": "example.com",
    "download": "DOWNLOAD_FROM_LIST_RESPONSE",
    "file": "LOG_FILENAME_FROM_LOG_FILES_RESPONSE",
    "fileB64": "YWNjZXNzLmxvZw==",
    "file_b64": "YWNjZXNzLmxvZw==",
    "ftpAccount": "deploy@example.com",
    "ftp_account": "deploy@example.com",
    "ip": "192.0.2.10",
    "lines": 200,
    "log_type": "access",
    "method": "GET",
    "offset": 0,
    "q": "account",
    "rows": 10000,
    "status": "enabled"
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/logs?logType=access&user=demo' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {
    "logType": "access",
    "user": "demo"
  },
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/logsroot resellerView log content.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (21)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

logTypeRequired
Send in
JSON body
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Account log category. Server-global logs are not accessible to a reseller.

Validation and use: Required Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Exact owned account username returned by GET /v1/resellers/{reseller}/accounts.

Validation and use: Required Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Compatibility alias for user. Must identify an account owned by this reseller.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Compatibility alias for user. Must identify an account owned by this reseller.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

actionOptional
Send in
JSON body
Type
enum
Accepted values
FetchLog, TailLog, DownloadLog
Example
FetchLog

Empty reads log text; FetchLog analyzes access logs; TailLog reads the live access.log from offset; DownloadLog downloads only this account filtered log.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Owned domain returned by Logs context; required for access, error, ModSecurity, HTTP guard and FTP logs.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

downloadOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
DOWNLOAD_FROM_LIST_RESPONSE

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

fileOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
LOG_FILENAME_FROM_LOG_FILES_RESPONSE

Optional log filename returned by the matching log-files endpoint, as an alternative to fileB64. Directory paths and traversal are not accepted.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

fileB64Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
YWNjZXNzLmxvZw==

Opaque base64 file identifier returned by the corresponding owned-account log-files endpoint. Optional; omit to select the latest allowed log. Never construct a server path.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

file_b64Optional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
YWNjZXNzLmxvZw==

Compatibility alias for fileB64. Use one file selector only.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

ftpAccountOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Optional FTP account from the selected hosting account log context; used only for FTP logs.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

ftp_accountOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Compatibility alias for ftpAccount.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Optional client IPv4/IPv6 filter for FetchLog access-log analysis.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Number of lines to return.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

log_typeOptional
Send in
JSON body
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Compatibility alias for logType.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

methodOptional
Send in
JSON body
Type
enum
Accepted values
GET, POST, HEAD, PUT, DELETE, OPTIONS, PATCH
Example
GET

Optional HTTP method filter for FetchLog.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

offsetOptional
Send in
JSON body
Type
integer
Accepted values
Any value matching integer
Example
0

Byte offset returned by the previous TailLog response; only applicable to live access.log.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string. Minimum 0.

qOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
account

Optional access-log text search used by FetchLog, limited to 160 characters.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string. Maximum length 160.

rowsOptional
Send in
JSON body
Type
integer
Accepted values
Any value matching integer; default: 10000
Example
10000

Maximum analyzed rows returned by FetchLog.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string. Minimum 1. Maximum 20000. Default: 10000.

statusOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
enabled

Optional FetchLog HTTP status filter: a three-digit code or 2xx, 3xx, 4xx, 5xx.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "logType": "access",
    "user": "demo",
    "account_user": "demo",
    "account_username": "demo",
    "action": "FetchLog",
    "domain": "example.com",
    "download": "DOWNLOAD_FROM_LIST_RESPONSE",
    "file": "LOG_FILENAME_FROM_LOG_FILES_RESPONSE",
    "fileB64": "YWNjZXNzLmxvZw==",
    "file_b64": "YWNjZXNzLmxvZw==",
    "ftpAccount": "deploy@example.com",
    "ftp_account": "deploy@example.com",
    "ip": "192.0.2.10",
    "lines": 200,
    "log_type": "access",
    "method": "GET",
    "offset": 0,
    "q": "account",
    "rows": 10000,
    "status": "enabled"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/logs' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"logType":"access","user":"demo"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "logType": "access",
    "user": "demo"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/logs/contextroot resellerSee which server logs are available to read.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

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

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/logs/filesroot resellerList log files.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (9)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

logTypeRequired
Send in
Query string
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Account log category. Server-global logs are not accessible to a reseller.

Validation and use: Required Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

userRequired
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
demo

Exact owned account username returned by GET /v1/resellers/{reseller}/accounts.

Validation and use: Required Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Compatibility alias for user. Must identify an account owned by this reseller.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Compatibility alias for user. Must identify an account owned by this reseller.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Owned domain returned by Logs context; required for access, error, ModSecurity, HTTP guard and FTP logs.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

ftpAccountOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Optional FTP account from the selected hosting account log context; used only for FTP logs.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

ftp_accountOptional
Send in
Query string
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Compatibility alias for ftpAccount.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

log_typeOptional
Send in
Query string
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Compatibility alias for logType.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {
    "logType": "access",
    "user": "demo",
    "account_user": "demo",
    "account_username": "demo",
    "domain": "example.com",
    "ftpAccount": "deploy@example.com",
    "ftp_account": "deploy@example.com",
    "log_type": "access"
  },
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/logs/files?logType=access&user=demo' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {
    "logType": "access",
    "user": "demo"
  },
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
POST/v1/resellers/{reseller}/logs/filesroot resellerList log files.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (9)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

logTypeRequired
Send in
JSON body
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Account log category. Server-global logs are not accessible to a reseller.

Validation and use: Required Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Exact owned account username returned by GET /v1/resellers/{reseller}/accounts.

Validation and use: Required Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Compatibility alias for user. Must identify an account owned by this reseller.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Compatibility alias for user. Must identify an account owned by this reseller.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

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

Owned domain returned by Logs context; required for access, error, ModSecurity, HTTP guard and FTP logs.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

ftpAccountOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Optional FTP account from the selected hosting account log context; used only for FTP logs.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

ftp_accountOptional
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
deploy@example.com

Compatibility alias for ftpAccount.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

log_typeOptional
Send in
JSON body
Type
enum
Accepted values
access, error, modsecurity, http_guard, ftp, login, mail_auth
Example
access

Compatibility alias for logType.

Validation and use: Optional Send this parameter in any accepted location listed by accepted_in; prefer JSON for POST requests unless the user asked for a query string.

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "logType": "access",
    "user": "demo",
    "account_user": "demo",
    "account_username": "demo",
    "domain": "example.com",
    "ftpAccount": "deploy@example.com",
    "ftp_account": "deploy@example.com",
    "log_type": "access"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X POST 'https://panel.example.com:882/v1/resellers/demo/logs/files' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"logType":"access","user":"demo"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "logType": "access",
    "user": "demo"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/modsecurity/contextroot resellerView ModSecurity protection settings and status.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (1)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

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

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/modsecurity/context' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

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

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

{
  "status": "error",
  "code": "validation_error",
  "message": "One or more required parameters are missing or invalid."
}
GET/v1/resellers/{reseller}/progress/{task}root resellerCheck the progress of an account creation or deletion task.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

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

Exact active reseller username. Root may select a reseller; reseller API keys may select only themselves. Execution always retains reseller ownership checks and limits.

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

taskRequired
Send in
URL path
Type
string
Accepted values
Any value matching string
Example
create_account_root_0123456789abcdef0123456789abcdef

Resource identifier returned by the corresponding reseller-scoped listing.

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

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "reseller": "demo",
    "task": "create_account_root_0123456789abcdef0123456789abcdef"
  },
  "query_parameters": {},
  "json_body": {},
  "query_or_json_parameters": {}
}

Example request

curl -sS -X GET 'https://panel.example.com:882/v1/resellers/demo/progress/create_account_root_0123456789abcdef0123456789abcdef' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "reseller": "demo",
    "task": "create_account_root_0123456789abcdef0123456789abcdef"
  },
  "query_parameters": {},
  "json_body": {}
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Resources

PATCH/v1/accounts/{username}/resourcesroot resellerChange an account's CPU, memory and other resource allowances.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (9)

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.

diskspacequotaOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
100

Disk quota in MB. Use -1 for unlimited. Disk quota MB.

Validation and use:

maxcpuusageOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
200

CPU limit. Use -1 for unlimited.

Validation and use:

maxemailsperhourOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Outbound email limit per hour. Use -1 for unlimited.

Validation and use:

maxinodeslimitOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Inode limit. Use -1 for unlimited.

Validation and use:

maxiodiskbandwidthOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

I/O bandwidth limit. Use -1 for unlimited. IO bandwidth.

Validation and use:

maxiopslimitsOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

IOPS limit. Use -1 for unlimited.

Validation and use:

maxmemorysizeOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
2048

Memory limit. Use -1 for unlimited.

Validation and use:

maxuserprocessesOptional
Send in
JSON body
Type
integer|string
Accepted values
Any value matching integer|string
Example
-1

Process limit. Use -1 for unlimited.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "diskspacequota": 100,
    "maxcpuusage": "200",
    "maxemailsperhour": "-1",
    "maxinodeslimit": -1,
    "maxiodiskbandwidth": -1,
    "maxiopslimits": -1,
    "maxmemorysize": "2048",
    "maxuserprocesses": -1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/accounts/demo/resources' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"maxcpuusage":"200","maxmemorysize":"2048"}'

Example note: Requires a documented runtime value before QA can execute this request.

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Update CPU + memory
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "maxcpuusage": "200",
    "maxmemorysize": "2048"
  }
}

Requires a documented runtime value before QA can execute this request.

Set unlimited mail rate + CPU
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "maxemailsperhour": "-1",
    "maxcpuusage": "200"
  }
}

Requires a documented runtime value before QA can execute this request.

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Shell

PATCH/v1/accounts/{username}/shellroot resellerUpdate account shell mode.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

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.

shellRequired
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
2

Shell value. Allowed values: 0, 1, 2. Allowed values: 0 (disabled), 1 (bash), 2 (jail). Alias: shell_code.

Validation and use:

shell_codeOptional
Send in
JSON body
Type
enum
Accepted values
0, 1, 2
Example
0

Shell code or shell identifier. Alias of shell. Prefer shell. Allowed values: 0, 1, 2.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "shell": "2",
    "shell_code": 0
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/accounts/demo/shell' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"shell":"2"}'

Example note: Requires a documented runtime value before QA can execute this request.

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Enable jailed shell
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "shell": "2"
  }
}

Requires a documented runtime value before QA can execute this request.

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Status

PATCH/v1/accounts/{username}/statusroot resellerSuspend or unsuspend account.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (4)

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.

statusRequired
Send in
JSON body
Type
enum
Accepted values
1, 2
Example
1

Status value. Allowed values: 1, 2. Target status: `1` active or `2` suspended. Allowed: 1 (active), 2 (suspended). Alias: new_status.

Validation and use:

actionOptional
Send in
JSON body
Type
enum
Accepted values
suspend, unsuspend
Example
suspend

Requested action name. Allowed values: suspend, unsuspend. Optional action alias: `suspend` or `unsuspend`. Alternative to status: suspend|unsuspend. Used only if status is omitted.

Validation and use:

new_statusOptional
Send in
JSON body
Type
enum
Accepted values
1, 2
Example
1

Alias of `status`. Alias of status. Prefer status. Allowed values: 1, 2.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "status": 1,
    "action": "suspend",
    "new_status": 1
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/accounts/demo/status' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"status":1}'

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Example request
{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "status": 1
  }
}

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

Username

PATCH/v1/accounts/{username}/usernameroot resellerRename account system username.

Who can use this

The server administrator or a reseller, for accounts and settings they are allowed to manage.

Parameters (2)

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

Alias of new_username. Prefer new_username.

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

new_usernameRequired
Send in
JSON body
Type
string
Accepted values
Any value matching string
Example
demoapi2

New system username. Alias: username.

Validation and use:

Complete request template

This template lists all available fields. Keep the fields needed for your chosen action; do not send conflicting alternatives together.

{
  "path_parameters": {
    "username": "demo"
  },
  "query_parameters": {},
  "json_body": {
    "new_username": "demoapi2"
  },
  "query_or_json_parameters": {}
}

Example request

curl -sS -X PATCH 'https://panel.example.com:882/v1/accounts/demo/username' \
  -H 'X-Api-User: reseller' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"new_username":"demoapi2"}'

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

More examples

Choose the example that matches your task. You only need to send the fields required for that action.

Rename account username
{
  "path_parameters": {},
  "query_parameters": {},
  "json_body": {
    "new_username": "demoapi2"
  }
}

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

Successful result

Check the returned status and message to see whether the request completed. The response details are listed below.

If a request_id is included, keep it when contacting support about the request.

Error response

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

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