openapi: 3.2.0 info: title: Cpanel Resellers API version: 11.137.9999.106 contact: email: cs@cpanel.net name: WebPros International, LLC url: https://cpanel.net/support/ license: name: cPanel License url: https://cpanel.net/legal-notices/ termsOfService: https://cpanel.net/legal-notices/ x-api-evangelist-provenance: 'Harvested verbatim from cPanel''s developer portal on 2026-09-05 via the MCP tool get-full-api-description at https://api.docs.cpanel.net/mcp. ONE mechanical change was made before storage: example values containing PEM private-key or certificate blocks, and AWS-access-key-shaped example strings, were replaced with REDACTED_* placeholders so the file can be stored in a public git repository without tripping secret scanning. No path, operation, parameter, schema or description was altered, added or removed.' description: 'Operations tagged Resellers across 2 of this provider''s published API definitions: cpanel-uapi-openapi.yml, cpanel-whm-api-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - description: A server running cPanel. url: https://{host}:{port}/execute variables: host: default: cpanel-server.tld description: The hostname of a server running cPanel. port: default: '2083' description: The cPanel port. - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. security: - BasicAuth: [] tags: - description: The Resellers module for UAPI. name: Resellers paths: /Resellers/list_accounts: get: x-readonly: true description: This function lists all of a reseller's cPanel accounts. operationId: Resellers-list_accounts parameters: [] responses: '200': content: application/json: schema: properties: apiversion: description: The version of the API. example: 3 type: integer func: description: The name of the method called. example: list_accounts type: string module: description: The name of the module called. example: Resellers type: string result: properties: data: description: An array of objects containing the reseller's cPanel accounts. items: properties: domain: description: The cPanel account's domain. example: example.com format: domain type: string select: description: 'Whether the cPanel account''s user is currently logged in. * `1` — Logged in. * An empty string — **Not** logged in.' enum: - '1' - '' example: '1' type: string user: description: The cPanel account's username. example: username format: username type: string type: object type: array errors: description: List of errors if the API failed. example: null items: type: string type: - array - 'null' messages: description: List of messages generated by the API. example: null items: type: string type: - array - 'null' metadata: properties: transformed: description: Post-processing may have transformed the data. enum: - 1 example: 1 type: integer status: description: '* `1` — Success. * `0` — Failed. Check the `errors` field for more details.' enum: - 1 - 0 example: 1 type: integer warnings: description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API. example: null items: type: string type: - array - 'null' type: object type: object description: HTTP Request was successful. summary: Return reseller's cPanel accounts tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "uapi --output=jsonpretty \\\n --user=username \\\n Resellers \\\n list_accounts\n" - label: URL lang: HTTP source: https://hostname.example.com:2083/cpsess##########/execute/Resellers/list_accounts - label: LiveAPI Perl lang: Perl source: "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Resellers_list_accounts.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend//\n# to .../frontend//api_examples/Resellers_list_accounts.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n q/Resellers/,\n q/list_accounts/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n my $data = $response->{cpanelresult}{result}{data};\n foreach my $item (@{$data}) {\n # Do something with the $item\n }\n\n # So you can see the data shape we print it here.\n print to_json($data);\n}\nelse {\n # Report errors:\n print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n require JSON;\n my $str = JSON->new->pretty->encode($_[0]);\n return $str;\n}\n" - label: LiveAPI PHP lang: PHP source: " is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Resellers_list_accounts.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend//\n// to .../frontend//api_examples/Resellers_list_accounts.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n 'Resellers',\n 'list_accounts'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n $data = $response['cpanelresult']['result']['data'];\n foreach ($data as $item) {\n // Do something with the $item\n }\n\n // So you can see the data shape we print it here.\n print to_json($data);\n}\nelse {\n // Report errors:\n print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n return json_encode($data, JSON_PRETTY_PRINT);\n}" x-cpanel-api-version: UAPI x-cpanel-available-version: cPanel 11 servers: - description: A server running cPanel. url: https://{host}:{port}/execute variables: host: default: cpanel-server.tld description: The hostname of a server running cPanel. port: default: '2083' description: The cPanel port. /acctcounts: get: description: This function lists a reseller's total accounts, suspended accounts, and account creation limit. operationId: Resellers-acctcounts parameters: - description: A reseller's username, to query that reseller. If you do not specify a value, the function lists information for the authenticated account. in: query name: user required: false schema: example: username format: username type: string responses: '200': content: application/json: schema: properties: data: properties: reseller: description: An object that contains information for an account. properties: active: description: The number of active accounts that the reseller account owns. example: 9 minimum: 1 type: integer limit: description: 'The maximum number of accounts that the reseller account may create, if a maximum exists. **NOTE:** A null value indicates that the reseller does not have an account creation limit.' example: 25 minimum: 1 type: - integer - 'null' suspended: description: The number of suspended accounts that the reseller account owns. example: 5 minimum: 1 type: - integer - 'null' user: description: The reseller account's username or the `root` user. example: root type: string type: object type: object metadata: properties: command: description: The method name called. example: acctcounts type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Return reseller's owned accounts' information tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n acctcounts\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/acctcounts?api.version=1 x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /get_public_contact: get: description: This function retrieves an account's public contact information. operationId: PublicContact-get_public_contact parameters: [] responses: '200': content: application/json: schema: properties: data: properties: name: description: The public contact name of the reseller. example: Bob's Hosting type: string url: description: The public contact URL. example: https://bobshosting.net format: url type: string type: object metadata: properties: command: description: The method name called. example: get_public_contact type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Return current user's public contact information tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n get_public_contact\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/get_public_contact?api.version=1 x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '68' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /getresellerips: get: description: This function lists a reseller's available IP addresses. operationId: Resellers-getresellerips parameters: - description: 'A reseller''s username, to query only that reseller. **Note:** If you do **not** specify a value, the function lists available IP addresses for the `root` user.' in: query name: user required: false schema: example: username format: username type: string responses: '200': content: application/json: schema: properties: data: properties: all: description: 'Whether all of the reseller''s IP addresses are available. * `1` — All of the reseller''s IP addresses are available. * `0` — Some or all IP addresses are unavailable.' enum: - 0 - 1 example: 1 type: integer ip: description: The reseller's available IP addresses. items: example: 192.168.0.20 format: ipv4 type: string type: array type: object metadata: properties: command: description: The method name called. example: getresellerips type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Return reseller's available IP addresses tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n getresellerips\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/getresellerips?api.version=1 x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /list_enhancement_limits: get: description: This function returns a reseller's account enhancement limits. operationId: AccountEnhancements-list_enhancement_limits parameters: - description: The reseller's username. in: query name: account required: true schema: example: username format: username type: string responses: '200': content: application/json: schema: properties: data: properties: limits: additionalProperties: description: The reseller's limit for the account enhancement. properties: limit: description: The assignment limit amount. example: 15 type: integer limited: description: Whether the assignment limit is unlimited. enum: - 1 - 0 example: 1 type: integer usage: description: The total of cPanel accounts that have the specified Account Enhancement. example: 15 type: integer type: object x-additionalPropertiesName: enhancement_id metadata: properties: command: description: The method name called. example: list_enhancement_limits type: string reason: description: 'The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.' example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 1 - 0 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Return account enhancement limits tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n list_enhancement_limits \\\n account='username'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/list_enhancement_limits?api.version=1&account=username x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11.98' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /listacls: get: description: 'This function lists the server''s Access Control Lists (ACLs) and each list''s privileges.' operationId: ACLS-listacls parameters: [] responses: '200': content: application/json: schema: properties: data: properties: acl: description: An array of objects containing ACL settings. items: properties: name: description: The ACL's name. example: acl1 type: string privileges: description: 'A list of ACL privileges, including any third-party ACL privileges that exist for the user.' properties: acct-summary: description: 'Whether to allow the reseller to view an account summary. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer add-pkg: description: 'Whether to allow the reseller to add and remove hosting plans (packages). * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer add-pkg-ip: description: 'Whether to allow the reseller to create packages with a dedicated IP address. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer add-pkg-shell: description: 'Whether to allow the reseller to create packages with shell access. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer all: description: 'Whether to grant the reseller **all** ACL privileges. **Warning:** A value of `1` grants `root`-level privileges to the reseller. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer allow-addoncreate: description: 'Whether to allow the reseller to create packages with addon domains. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer allow-emaillimits-pkgs: description: 'Whether to allow the reseller to create packages with email quotas that are **not** the default quotas. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer allow-parkedcreate: description: 'Whether to allow the reseller to create packages with parked domains (aliases). * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer allow-shell: description: 'Whether to allow the reseller to create accounts with shell access. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer allow-unlimited-bw-pkgs: description: 'Whether to allow the reseller to create packages with unlimited bandwidth. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer allow-unlimited-disk-pkgs: description: 'Whether to allow the reseller to create packages with unlimited disk space. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer allow-unlimited-pkgs: description: 'Whether to allow the reseller to create packages with unlimited features. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer basic-system-info: description: 'Whether to allow the user to retrieve basic system information. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer basic-whm-functions: description: 'Whether to allow the reseller to access basic cPanel & WHM options. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer clustering: description: 'Whether to allow the reseller to use DNS clusters. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer cors-proxy-get: description: 'Whether to allow the reseller to perform Cross-Origin Resource Sharing (CORS) HTTP requests. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer cpanel-api: description: 'Whether to allow the reseller to execute cPanel API 1, cPanel API 2 and UAPI functions via WHM. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer cpanel-integration: description: 'Whether to allow the reseller to manage cPanel integration links. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer create-acct: description: 'Whether to allow the reseller to create accounts. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer create-dns: description: 'Whether to allow the reseller to add DNS zones. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer create-user-session: description: 'Whether to allow the reseller to create a new temporary user session for a specified service. * `1` — Allow. * `0` — Do not allow. **Note:** This ACL privilege allows an API token user to bypass any restrictions that you set on the API token. For more information, read our [Manage API Tokens](https://go.cpanel.net/ManageAPITokens) documentation.' enum: - 1 - 0 example: 1 type: integer demo-setup: description: 'Whether to allow the reseller to enable demo mode for accounts. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer digest-auth: description: 'Whether to allow the reseller to manage Digest Authentication. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer edit-account: description: 'Whether to allow the reseller to edit accounts. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer edit-dns: description: 'Whether to allow the reseller to edit DNS zones. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer edit-mx: description: 'Whether to allow the reseller to edit MX entries. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer edit-pkg: description: 'Whether to allow the reseller to edit hosting plans (packages). * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer frontpage: deprecated: true description: 'Whether to allow the reseller to manage Microsoft® FrontPage® Extensions. * `1` — Allow. * `0` — Do not allow. **Note:** cPanel & WHM ignores all Microsoft FrontPage settings and parameters.' enum: - 1 - 0 example: 1 type: integer generate-email-config: description: 'Whether to allow the reseller to generate a mobile configuration profile for an email account. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer kill-acct: description: 'Whether to allow the reseller to terminate accounts. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer kill-dns: description: 'Whether to allow the reseller to remove DNS zones. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer limit-bandwidth: description: 'Whether to allow the reseller to modify bandwidth limits (quotas). * `1` — Allow. * `0` — Do not allow. **Warning:** If you do not use resource limits, a value of `1` allows resellers to circumvent package limits for disk space.' enum: - 1 - 0 example: 1 type: integer list-accts: description: 'Whether to allow the reseller to view the list of accounts. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer list-pkgs: description: 'Whether to allow the reseller to view existing hosting plans. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer locale-edit: description: 'Whether to allow the reseller to create and modify locales on the server. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer mailcheck: description: 'Whether to allow the reseller to troubleshoot mail delivery. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer manage-api-tokens: description: 'Whether to allow the reseller to manage API tokens. * `1` — Allow. * `0` — Do not allow. **Note:** This ACL privilege allows an API token user to bypass any restrictions that you set on the API token. For more information, read our [Manage API Tokens](https://go.cpanel.net/ManageAPITokens) documentation.' enum: - 1 - 0 example: 1 type: integer manage-dns-records: description: 'Whether to allow the reseller to manage DNS records. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer manage-oidc: description: 'Whether to allow the reseller to manage external authentication for their accounts. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer manage-styles: description: 'Whether to allow the reseller to manage their server''s cPanel styles. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer mysql-info: description: 'Whether to allow the reseller to retrieve MySQL® database and user data. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer news: description: 'Whether to allow the reseller to modify the server''s news. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer ns-config: description: 'Whether to allow the reseller to manage nameserver records. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer park-dns: description: 'Whether to allow the reseller to park DNS zones. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer passwd: description: 'Whether to allow the reseller to change passwords. * `1` — Allow. * `0` — Do not allow. **Note:** This privilege allows an API token user to change account passwords and log in with a new password. For more information, read our [Manage API Tokens](https://go.cpanel.net/ManageAPITokens) documentation.' enum: - 1 - 0 example: 1 type: integer quota: description: 'Whether to allow the reseller to modify quotas. * `1` — Allow. * `0` — Do not allow. **Warning:** If you do not use resource limits, a value of `1` allows resellers to circumvent package limits for disk space.' enum: - 1 - 0 example: 1 type: integer rearrange-accts: description: 'Whether to allow the reseller to rearrange accounts. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer resftp: description: 'Whether to allow the reseller to resync FTP passwords. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer restart: description: 'Whether to allow the reseller to restart services. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer show-bandwidth: description: 'Whether to allow the reseller to view account bandwidth usage. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer ssl: description: 'Whether to allow the reseller to perform SSL site management. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer ssl-buy: description: 'Whether to allow the reseller to purchase SSL certificates. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer ssl-gencrt: description: 'Whether to allow the reseller to generate SSL certificates. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer ssl-info: description: 'Whether to allow the reseller to view their server''s SSL information. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer stats: description: 'Whether to allow the reseller to view server information. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer status: description: 'Whether to allow the reseller to view the server''s status. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer suspend-acct: description: 'Whether to allow the reseller to suspend or unsuspend accounts. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer thirdparty: description: 'Whether to allow the reseller to manage third-party services. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer track-email: description: 'Whether to allow resellers to view reports about email message delivery attempts from their account. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer upgrade-account: description: 'Whether to allow the reseller to upgrade or downgrade accounts. * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer viewglobalpackages: description: 'Whether to allow the reseller to use all [global packages](https://go.cpanel.net/resellerpackages). * `1` — Allow. * `0` — Do not allow.' enum: - 1 - 0 example: 1 type: integer type: object type: object type: array type: object metadata: properties: command: description: The method name called. example: listacls type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 1 - 0 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Return all privilege lists and settings tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n listacls\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/listacls?api.version=1 x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /listresellers: get: description: This function lists the reseller accounts on the server. operationId: Resellers-listresellers parameters: [] responses: '200': content: application/json: schema: properties: data: properties: reseller: description: An array of the server's reseller accounts. items: example: bob type: string type: array type: object metadata: properties: command: description: The method name called. example: listresellers type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Return all resellers tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n listresellers\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/listresellers?api.version=1 x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /resellerstats: get: description: This function lists data about a reseller's accounts. operationId: Resellers-resellerstats parameters: - description: The reseller's username. in: query name: user required: true schema: example: username format: username type: string - description: 'Do not display the reseller''s deleted cPanel accounts in the function''s `acct` return. This parameter modifies the data output in the `acct` return. * `1` — Do **not** display. * `0` — Display.' in: query name: filter_deleted required: false schema: default: 0 enum: - 0 - 1 example: 0 type: integer - description: 'Do not display the reseller''s suspended cPanel accounts in the function''s `acct` return. This parameter modifies the data output in the `acct` return. * `1` — Do **not** display. * `0` — Display.' in: query name: filter_suspended required: false schema: default: 0 enum: - 0 - 1 example: 0 type: integer - description: 'The month to query, in numeric format. This parameter defaults to the current month.' in: query name: month required: false schema: example: 2 maximum: 12 minimum: 1 type: integer - description: 'The year to query, in numeric format. This parameter defaults to the current year.' in: query name: year required: false schema: example: 2019 type: integer responses: '200': content: application/json: schema: properties: data: properties: reseller: description: Object containing data about a reseller account. properties: acct: description: 'Array of objects that contains data about all of the reseller''s accounts. **Note:** This array also returns the reseller account.' items: properties: bandwidthlimit: description: 'The account''s bandwidth limit. * A positive numeric value, encoded as a string, that represents the account''s bandwidth limit, in megabytes (MB). * `0.00` — The account has unlimited bandwidth.' example: '500' type: string bandwidthused: description: 'The account''s current bandwidth use. A positive numeric value, encoded as a string, that represents the account''s bandwidth use, in megabytes (MB).' example: 0 type: string deleted: description: 'Whether the account has been deleted. * `1` — Deleted. * `0` — **Not** deleted.' enum: - 0 - 1 example: 0 type: integer diskquota: description: 'The account''s disk space quota. * A positive numeric value, encoded as a string, that represents the account''s disk space quota, in megabytes (MB). * `0.00` — The account has unlimited disk space.' example: '1100.00' type: string diskused: description: 'The account''s current disk space use. A positive numeric value, encoded as a string, that represents the account''s current disk space use, in megabytes (MB).' example: '1.57' type: string domain: description: The account's main domain. example: example1.com format: domain type: string package: description: The account's hosting plan (package). example: default type: string suspended: description: 'Whether the account is suspended. * `1` — Suspended. * `0` — Not suspended.' enum: - 0 - 1 example: 0 type: integer user: description: The account's username. example: example1 format: username type: string type: object type: array bandwidthlimit: description: 'The reseller''s total bandwidth limit. * A positive integer that represents the reseller''s bandwidth limit, in megabytes (MB). * `0` — The reseller has unlimited bandwidth.' example: 0 minimum: 0 type: integer bwoverselling: description: 'Whether the reseller can oversell bandwidth. * `1` — The reseller can oversell bandwidth. * `0` — The reseller **cannot** oversell bandwidth.' enum: - 0 - 1 example: 0 type: integer diskoverselling: description: 'Whether the reseller can oversell disk space. * `1` — The reseller can oversell disk space. * `0` — The reseller **cannot** oversell disk space.' enum: - 0 - 1 example: 0 type: integer diskquota: description: 'The reseller''s total disk space quota. * A positive integer that represents the reseller''s disk space quota, in megabytes (MB). * `0` — The reseller has unlimited disk space.' example: 0 minimum: 0 type: integer diskused: description: 'The total amount of disk space that the reseller and all of its accounts use, in megabytes (MB). **Note:** This value does not include disk space the reseller account uses if the root account owns it.' example: 5.69 type: number month: description: The current month or a queried month. example: 2 maximum: 12 minimum: 1 type: integer totalbwalloc: description: The total amount of bandwidth that the reseller has given to its accounts, in megabytes (MB), encoded as a string. example: '500' type: string totalbwused: description: The total amount of bandwidth that the reseller's accounts have used, in megabytes (MB), encoded as a string. example: 0 type: string totaldiskalloc: description: The total amount of disk space that the reseller has given to its accounts, in megabytes (MB), encoded as a string. example: '1100' type: string user: description: The reseller account's username. example: username format: username type: string year: description: The current year or a queried year. example: 2019 type: integer type: object type: object metadata: properties: command: description: The method name called. example: resellerstats type: string reason: description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` - Success * `0` - Failed: Check the reason field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Return reseller's information tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n resellerstats \\\n user='username'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/resellerstats?api.version=1&user=username x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /saveacllist: get: description: 'This function creates or modifies an Access Control List (ACL). **Note:** For each `acl-*` parameter, a value of `1` adds that privilege to the ACL list and a value of `0` removes that privilege from the ACL list. **Warning:** We **strongly** recommend that WHM users create and edit ACLs and ACL privileges through WHM''s *Edit Reseller Nameservers and Privileges* interface ( *WHM >> Home >> Resellers >> Edit Reseller Nameservers and Privileges* ).' operationId: ACLS-saveacllist parameters: - description: "The ACL to assign to the reseller.\n\n**Note:**\n\n To modify an existing ACL, set this value to that ACL's name." in: query name: acllist required: true schema: example: my_acl_list type: string - description: Whether to allow the reseller to view an account summary. in: query name: acl-acct-summary required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to add and remove hosting plans (packages). in: query name: acl-add-pkg required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with a dedicated IP address. in: query name: acl-add-pkg-ip required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with shell access. in: query name: acl-add-pkg-shell required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: "Whether to grant the reseller all privileges.\n\n**Warning:**\n\n A value of `1` grants root-level privileges to the reseller." in: query name: acl-all required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with addon domains. in: query name: acl-allow-addoncreate required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with custom email quotas. in: query name: acl-allow-emaillimits-pkgs required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with parked domains (aliases). in: query name: acl-allow-parkedcreate required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to create accounts with shell access. in: query name: acl-allow-shell required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with unlimited bandwidth. in: query name: acl-allow-unlimited-bw-pkgs required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with unlimited disk space. in: query name: acl-allow-unlimited-disk-pkgs required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with unlimited features. in: query name: acl-allow-unlimited-pkgs required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to retrieve basic system information. in: query name: acl-basic-system-info required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to access basic cPanel & WHM options. in: query name: acl-basic-whm-functions required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to use DNS clusters. in: query name: acl-clustering required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to perform Cross-Origin Resource Sharing (CORS) HTTP requests. in: query name: acl-cors-proxy-get required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to execute cPanel API 1, cPanel API 2 and UAPI functions via WHM. in: query name: acl-cpanel-api required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to manage how their server and its services connect to other servers and services. in: query name: acl-cpanel-integration required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to create accounts. in: query name: acl-create-acct required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to add DNS zones. in: query name: acl-create-dns required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: "Whether to allow the reseller to create a temporary user session for a specified service.\n\n**Notes:**\n\n This privilege allows an API token user to bypass any restrictions that you set on the API token. For more information, read our [Manage API Tokens](https://go.cpanel.net/whmdocsManageasisAPITokens) documentation." in: query name: acl-create-user-session required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to enable demo mode for accounts. in: query name: acl-demo-setup required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to manage Digest Authentication support. in: query name: acl-digest-auth required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to edit accounts. in: query name: acl-edit-account required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to edit DNS zones. in: query name: acl-edit-dns required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to edit MX entries. in: query name: acl-edit-mx required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to edit hosting plans (packages). in: query name: acl-edit-pkg required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to generate a mobile configuration profile for an email account. in: query name: acl-generate-email-config required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to terminate accounts. in: query name: acl-kill-acct required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to remove DNS zones. in: query name: acl-kill-dns required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: "Whether to allow the reseller to modify bandwidth limits (quotas).\n\n**Warning:**\n\n If you do not use resource limits, a value of `1` allows resellers to circumvent package limits for disk space." in: query name: acl-limit-bandwidth required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to view the list of accounts. in: query name: acl-list-accts required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to view existing hosting plans (packages). in: query name: acl-list-pkgs required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to create and modify locales on the server. in: query name: acl-locale-edit required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to troubleshoot mail delivery. in: query name: acl-mailcheck required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: "Whether to allow the reseller to manage API tokens.\n\n**Notes:**\n\n This privilege allows an API token user to bypass any restrictions that you set on the API token. For more information, read our [Manage API Tokens](https://go.cpanel.net/whmdocsManageasisAPITokens) documentation." in: query name: acl-manage-api-tokens required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to manage DNS records. in: query name: acl-manage-dns-records required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to manage external authentication for their accounts. in: query name: acl-manage-oidc required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to manage their server's cPanel styles. in: query name: acl-manage-styles required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to retrieve MySQL® database and user data. in: query name: acl-mysql-info required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to modify the server's news. in: query name: acl-news required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to manage nameservers. in: query name: acl-ns-config required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to park DNS zones. in: query name: acl-park-dns required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: "Whether to allow the reseller to change passwords.\n\n**Note:**\n\n This privilege allows an API token user to change account passwords and log in with a new password. For more information, read our [Manage API Tokens](https://go.cpanel.net/whmdocsManageasisAPITokens) documentation." in: query name: acl-passwd required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: "Whether to allow the reseller to modify quotas.\n\n**Warning:**\n\n If you do not use resource limits, this privilege allows resellers to circumvent package limits for disk space." in: query name: acl-quota required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to rearrange accounts. in: query name: acl-rearrange-accts required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to resync FTP passwords. in: query name: acl-resftp required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to restart services. in: query name: acl-restart required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to view account bandwidth usage. in: query name: acl-show-bandwidth required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to perform SSL site management. in: query name: acl-ssl required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to purchase SSL certificates. in: query name: acl-ssl-buy required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to generate SSL certificates. in: query name: acl-ssl-gencrt required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to view their server's SSL information. in: query name: acl-ssl-info required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to view server information. in: query name: acl-stats required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to view the server's status. in: query name: acl-status required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to suspend or unsuspend accounts. in: query name: acl-suspend-acct required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to manage third-party services. in: query name: acl-thirdparty required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to view reports about email message delivery attempts from their account. in: query name: acl-track-email required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to upgrade or downgrade accounts. in: query name: acl-upgrade-account required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer - description: Whether to allow the reseller to use all global packages. For more information, read our [reseller packages](https://go.cpanel.net/GuidetoResellerAccounts#which-packages-can-resellers-view-and-assign) documentation. in: query name: acl-viewglobalpackages required: false schema: default: 0 enum: - 0 - 1 example: 1 type: integer responses: '200': content: application/json: schema: properties: metadata: properties: command: description: The method name called. example: saveacllist type: string reason: description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds. example: ACL List my_acl_list saved. type: string result: description: '* `1` - Success * `0` - Failed: Check the reason field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Create or update privilege list and settings tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n saveacllist \\\n acllist='my_acl_list'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/saveacllist?api.version=1&acllist=my_acl_list x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /set_enhancement_limit: get: description: This function sets account enhancement limits for a reseller account. operationId: AccountEnhancements-set_enhancement_limit parameters: - description: The reseller's username. in: query name: account required: true schema: example: username format: username type: string - description: 'The account enhancement''s identifier. **Note:** * You must use an [account enhancement](https://go.cpanel.net/account-enhancements) ID that a 3rd-party plugin defines. * To return a list of valid account enhancement IDs, run the WHM API 1 `list_account_enhancements` function.' in: query name: id required: true schema: example: sample-enhancement-id type: string - description: 'Whether the Account Enhancement assignment limit is unlimited. * `0` - The assignment is unlimited. * `1` - The assignment is limited.' in: query name: limited required: true schema: enum: - 1 - 0 example: 1 type: integer - description: 'The account enhancement limit amount. This parameter is only required if the `limited` parameter is `1`.' in: query name: limit schema: example: 15 type: integer responses: '200': content: application/json: schema: properties: metadata: properties: command: description: The method name called. example: set_enhancement_limit type: string reason: description: 'The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.' example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 1 - 0 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Update account enhancement limit tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n set_enhancement_limit \\\n account='username' \\\n id='sample-enhancement-id' \\\n limited='1' \\\n limit='15'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/set_enhancement_limit?api.version=1&account=username&id=sample-enhancement-id&limited=1&limit=15 x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11.98' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /set_public_contact: get: description: This function sets an account's public contact information. operationId: PublicContact-set_public_contact parameters: - description: 'The public contact name of the reseller. If you do not use this parameter, the system retains the current setting.' in: query name: name required: false schema: example: Bob's Hosting type: string - description: 'The public contact URL. If you do not use this parameter, the system retains the current setting.' in: query name: url required: false schema: example: https://bobshosting.net type: string responses: '200': content: application/json: schema: properties: metadata: properties: command: description: The method name called. example: set_public_contact type: string reason: description: 'The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.' example: OK type: string result: description: '* `1` - Success * `0` - Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Update current user's public contact information tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n set_public_contact\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/set_public_contact?api.version=1 x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '68' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /setacls: get: description: 'This function creates or modifies an Access Control List (ACL). **Note:** For each `acl-*` parameter, any value adds that privilege to the ACL list and no value removes that privilege from the ACL list. **Warning:** We **strongly** recommend that WHM users create and edit ACLs and ACL privileges through WHM''s *Edit Reseller Nameservers and Privileges* interface ( *WHM >> Home >> Resellers >> Edit Reseller Nameservers and Privileges* ).' operationId: Resellers-setacls parameters: - description: The reseller's username. in: query name: reseller required: true schema: example: username format: username type: string - description: Whether to allow the reseller to view an account summary. in: query name: acl-acct-summary required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to add and remove hosting plans (packages). in: query name: acl-add-pkg required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with a dedicated IP address. in: query name: acl-add-pkg-ip required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with shell access. in: query name: acl-add-pkg-shell required: false schema: enum: - 1 example: 1 type: integer - description: "Whether to grant the reseller all ACL privileges.\n\n**Warning:**\n\n A value of `1` grants `root`-level privileges to the reseller." in: query name: acl-all required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with addon domains. in: query name: acl-allow-addoncreate required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with parked domains (aliases). in: query name: acl-allow-parkedcreate required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with unlimited bandwidth. in: query name: acl-allow-unlimited-bw-pkgs required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with unlimited disk space. in: query name: acl-allow-unlimited-disk-pkgs required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to create packages with unlimited features. in: query name: acl-allow-unlimited-pkgs required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to retrieve basic system information. in: query name: acl-basic-system-info required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to access basic cPanel & WHM options. in: query name: acl-basic-whm-functions required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to use DNS clusters. in: query name: acl-clustering required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to perform Cross-Origin Resource Sharing (CORS) HTTP requests. in: query name: acl-cors-proxy-get required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to execute cPanel API 1, cPanel API 2 and UAPI functions via WHM. in: query name: acl-cpanel-api required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to manage how their server and its services connect to other servers and services. in: query name: acl-cpanel-integration required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to create accounts. in: query name: acl-create-acct required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to add DNS zones. in: query name: acl-create-dns required: false schema: enum: - 1 example: 1 type: integer - description: "Whether to allow the reseller to create a temporary session user for a specified service.\n\n**Note:**\n\n This privilege allows an API token user to bypass any restrictions that you set on the API token. For more information, read our [Manage API Tokens](https://go.cpanel.net/whmdocsManageasisAPITokens) documentation." in: query name: acl-create-user-session required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to enable demo mode for accounts. in: query name: acl-demo-setup required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to manage Digest Authentication support. in: query name: acl-digest-auth required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to create accounts with shell access. in: query name: acl-disallow-shell required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to edit accounts. in: query name: acl-edit-account required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to edit DNS zones. in: query name: acl-edit-dns required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to edit MX entries. in: query name: acl-edit-mx required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to edit hosting plans (packages). in: query name: acl-edit-pkg required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to generate a mobile configuration profile for an email account. in: query name: acl-generate-email-config required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to terminate accounts. in: query name: acl-kill-acct required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to remove DNS zones. in: query name: acl-kill-dns required: false schema: enum: - 1 example: 1 type: integer - description: "Whether to allow the reseller to modify bandwidth limits (quotas).\n\n**Warning:**\n\n If you do **not** use resource limits, a value of `1` allows resellers to circumvent package limits for disk space." in: query name: acl-limit-bandwidth required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to view the list of accounts. in: query name: acl-list-accts required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to view existing hosting plans (packages). in: query name: acl-list-pkgs required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to create and modify locales on the server. in: query name: acl-locale-edit required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to troubleshoot mail delivery. in: query name: acl-mailcheck required: false schema: enum: - 1 example: 1 type: integer - description: "Whether to allow the reseller to manage API tokens.\n\n**Note:**\n\n This privilege allows an API token user to bypass any restrictions that you set on the API token. For more information, read our [Manage API Tokens](https://go.cpanel.net/whmdocsManageasisAPITokens) documentation." in: query name: acl-manage-api-tokens required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to manage DNS records. in: query name: acl-manage-dns-records required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to manage external authentication for their accounts. in: query name: acl-manage-oidc required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to manage their server's cPanel styles. in: query name: acl-manage-styles required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to retrieve MySQL® database and user data. in: query name: acl-mysql-info required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to manage nameservers. in: query name: acl-nameserver-config required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to modify the server's news. in: query name: acl-news required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to park DNS zones. in: query name: acl-park-dns required: false schema: enum: - 1 example: 1 type: integer - description: "Whether to allow the reseller to change passwords.\n\n**Note:**\n\n This privilege allows an API token user to change account passwords and log in with a new password. For more information, read our [Manage API Tokens](https://go.cpanel.net/whmdocsManageasisAPITokens) documentation." in: query name: acl-passwd required: false schema: enum: - 1 example: 1 type: integer - description: "Whether to allow the reseller to modify quotas.\n\n**Warning:**\n\n If you do **not** use resource limits, a value of `1` allows resellers to circumvent package limits for disk space." in: query name: acl-quota required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to rearrange accounts. in: query name: acl-rearrange-accts required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to resync FTP passwords. in: query name: acl-resftp required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to restart services. in: query name: acl-restart required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to view account bandwidth usage. in: query name: acl-show-bandwidth required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to perform SSL site management. in: query name: acl-ssl required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to purchase SSL certificates. in: query name: acl-ssl-buy required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to generate SSL certificates. in: query name: acl-ssl-gencrt required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to view their server's SSL information. in: query name: acl-ssl-info required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to view server information. in: query name: acl-stats required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to view the server's status. in: query name: acl-status required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to suspend or unsuspend accounts. in: query name: acl-suspend-acct required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to manage third-party services. in: query name: acl-thirdparty required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to view reports about email message delivery attempts from their account. in: query name: acl-track-email required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to upgrade or downgrade accounts. in: query name: acl-upgrade-account required: false schema: enum: - 1 example: 1 type: integer - description: Whether to allow the reseller to use all global packages. For more information, read our [reseller packages](https://go.cpanel.net/resellerpackages) documentation. in: query name: acl-viewglobalpackages required: false schema: enum: - 1 example: 1 type: integer - description: "The ACL to assign to the reseller.\n\n**Warning:**\n\n Functions should **either** use this parameter, or a combination of the `acl-*` parameters below. **Do not** include both in a single function." in: query name: acllist required: false schema: example: my_acl_list type: string - description: 'The reseller''s username. **Note:** This parameter is an alias for `reseller` and is provided for backwards compatibility.' in: query name: user required: false schema: example: username format: username type: string responses: '200': content: application/json: schema: properties: data: properties: acl: description: An array of the reseller's privileges. An array that contains the names of one or more privileges. items: example: all type: string type: array type: object metadata: properties: command: description: The method name called. example: setacls type: string reason: description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` - Success * `0` - Failed: Check the reason field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Create or update reseller privilege settings tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: whmapi1 --output=jsonpretty setacls reseller='username' acl-acct-summary=1 acl-basic-system-info=1 acl-basic-whm-functions=1 acl-cors-proxy-get=1 acl-cpanel-api=1 acl-cpanel-integration=1 acl-create-user-session=1 acl-digest-auth=1 acl-generate-email-config=1 acl-list-pkgs=1 acl-manage-api-tokens=1 acl-manage-dns-records=1 acl-manage-oidc=1 acl-manage-styles=1 acl-mysql-info=1 acl-ns-config=1 acl-public-contact=1 acl-ssl-info=1 acl-track-email=1 - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/setacls?api.version=1&reseller=username&acl-acct-summary=1&acl-basic-system-info=1&acl-basic-whm-functions=1&acl-cors-proxy-get=1&acl-cpanel-api=1&acl-cpanel-integration=1&acl-create-user-session=1&acl-digest-auth=1&acl-generate-email-config=1&acl-list-pkgs=1&acl-manage-api-tokens=1&acl-manage-dns-records=1&acl-manage-oidc=1&acl-manage-styles=1&acl-mysql-info=1&acl-ns-config=1&acl-public-contact=1&acl-ssl-info=1&acl-track-email=1 x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /setresellerips: get: description: 'This function adds IP addresses to a reseller''s account. **Note:** To assign a main IP address to a reseller''s account, call the WHM API 1 `setresellermainip` function. For more information, read our Manage Reseller''s IP Delegation documentation.' operationId: Resellers-setresellerips parameters: - description: The reseller's username. in: query name: user required: true schema: example: username format: username type: string - description: 'Whether to allocate the reseller a dedicated IP address. * `1` — Restrict the reseller''s account to its dedicated IP address. * `0` — Allow the user to dedicate any available IP address to an owned account.' in: query name: delegate required: false schema: default: 0 enum: - 1 example: 1 type: integer - description: 'The IP addresses to allocate to the reseller''s account. **Note:** * If you do **not** use this parameter, the function clears the reseller''s IP address list. * Use a comma-separated list to allocate multiple IP addresses.' in: query name: ips required: false schema: example: 192.168.0.20 format: ipv4 type: string responses: '200': content: application/json: schema: properties: data: properties: all: description: 'Whether the function allocated all available IP addresses to the reseller. This return **only** appears if you set the `delegate` parameter to `0`. **Note:** `1` is the only possible value.' enum: - 1 example: 1 type: integer ip: description: An array of the reseller's allocated IP addresses. items: example: 192.168.0.20 format: ipv4 type: string type: array type: object metadata: properties: command: description: The method name called. example: setresellerips type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Add IP addresses to reseller tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n setresellerips \\\n user='username'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/setresellerips?api.version=1&user=username x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /setresellerlimits: get: description: This function sets a reseller's bandwidth and disk quotas. operationId: Resellers-setresellerlimits parameters: - description: The reseller's username. in: query name: user required: true schema: example: username format: username type: string - description: 'The reseller''s maximum total number of accounts. **Important:** The system **only** enforces this maximum if you set the `enable_account_limit` value to `1`.' in: query name: account_limit required: false schema: example: 10 minimum: 1 type: integer - description: 'The reseller''s total bandwidth limit. **Important:** The system **only** enforces this limit if you set the `enable_resource_limits` value to `1`.' in: query name: bandwidth_limit required: false schema: example: 1073741824 format: megabytes minimum: 0 type: integer - description: 'The reseller''s total disk space usage limit. **Important:** The system **only** enforces this limit if you set the `enable_resource_limits` value to `1`.' in: query name: diskspace_limit required: false schema: example: 1073741824 format: megabytes minimum: 0 type: integer - description: 'Whether to limit the reseller''s total number of accounts. * `1` — Limit. * `0` — Do **not** limit. **Note:** Use this parameter with the `account_limit` parameter.' in: query name: enable_account_limit required: false schema: default: 0 enum: - 1 - 0 example: 0 type: integer - description: 'Whether the reseller can oversell accounts. * `1` — The reseller can oversell accounts. * `0` — The reseller **cannot** oversell accounts. **Important:** The system **only** enforces this limit if you set the `enable_resource_limits` value to `1`.' in: query name: enable_overselling required: false schema: enum: - 1 - 0 example: 1 type: integer - description: 'Whether the reseller can oversell bandwidth. * `1` — The reseller can oversell bandwidth. * `0` — The reseller **cannot** oversell bandwidth. **Important:** The system **only** enforces this limit if you set the `enable_resource_limits` and the `enable_overselling` values to `1`.' in: query name: enable_overselling_bandwidth required: false schema: enum: - 1 - 0 example: 1 type: integer - description: 'Whether the reseller can oversell disk space. * `1` — The reseller can oversell disk space. * `0` — The reseller **cannot** oversell disk space. **Important:** The system **only** enforces this limit if you set the `enable_resource_limits` and the `enable_oversellng` values to `1`.' in: query name: enable_overselling_diskspace required: false schema: enum: - 1 - 0 example: 1 type: integer - description: 'Whether to apply package limit numbers to the reseller. * `1` — Enable package limit numbers. * `0` — Disable package limit numbers.' in: query name: enable_package_limit_numbers required: false schema: enum: - 1 - 0 example: 0 type: integer - description: 'Whether to apply package limits to the reseller. * `1` — Enable package limits. * `0` — Disable package limits.' in: query name: enable_package_limits required: false schema: enum: - 1 - 0 example: 0 type: integer - description: 'Whether to limit the reseller''s resources. * `1` — Limit resources. * `0` — Do **not** limit resources. **Note:** Use this parameter with the `bandwidthlimit`, `diskspace_limit`, `enable_overselling`, `enable_overselling_bandwidth`, `enable_overselling_diskspace`, `enable_overselling`, `enable_package_limits`, and `enable_package_limit_numbers` parameters.' in: query name: enable_resource_limits required: false schema: default: 0 enum: - 1 - 0 example: 1 type: integer responses: '200': content: application/json: schema: properties: metadata: properties: command: description: The method name called. example: setresellerlimits type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 1 - 0 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Update reseller's bandwidth and disk quotas tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n setresellerlimits \\\n user='username'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/setresellerlimits?api.version=1&user=username x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /setresellermainip: get: description: 'This function assigns a main IP address to a reseller''s account. **Note:** To assign additional IP addresses to a reseller''s account, call the WHM API 1 `setresellerips` function.' operationId: Resellers-setresellermainip parameters: - description: The IP address to assign to the reseller's account as the main shared IP address. in: query name: ip required: true schema: example: 192.168.0.20 format: ipv4 type: string - description: The reseller's username. in: query name: user required: true schema: example: username type: string responses: '200': content: application/json: schema: properties: metadata: properties: command: description: The method name called. example: setresellermainip type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success * `0` — Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Update reseller's main IP address tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n setresellermainip \\\n user='username' \\\n ip='192.168.0.20'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/setresellermainip?api.version=1&user=username&ip=192.168.0.20 x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /setresellernameservers: get: description: This function assigns nameservers to a reseller's account. operationId: Resellers-setresellernameservers parameters: - description: The reseller's username. in: query name: user required: true schema: example: username format: username type: string - description: 'A comma-separated list of the nameserver domains to assign to the reseller''s account. **Note:** If you do **not** use this parameter, the function resets the reseller''s nameservers to use the server default.' examples: multiple: summary: Multiple nameservers value: ns1.example.com,ns2.example.com single: summary: A single nameserver value: ns1.example.com in: query name: nameservers required: false schema: type: string responses: '200': content: application/json: schema: properties: metadata: properties: command: description: The method name called. example: setresellernameservers type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Update reseller's assigned nameservers tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n setresellernameservers \\\n user='username'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/setresellernameservers?api.version=1&user=username x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /setresellerpackagelimit: get: description: This function limits the packages that a reseller assigns to cPanel accounts. operationId: Resellers-setresellerpackagelimit parameters: - description: The reseller's username. in: query name: user required: true schema: example: username format: username type: string - description: 'Whether the reseller can access the package hosting plan. * `1` — Enable access. * `0` — Disable access **Note:** If you use this parameter, you **must** also include the `package` parameter.' in: query name: allowed required: false schema: enum: - 0 - 1 example: 1 type: integer - description: 'Whether to grant the reseller unlimited package use. * `1` — Grant the reseller unlimited package use. * `0` — Use package limits.' in: query name: no_limit required: false schema: default: 0 enum: - 0 - 1 example: 0 type: integer - description: 'The maximum number of accounts to which the reseller can assign the package hosting plan. **Note:** * If you use this parameter, you **must** also include the `package` parameter. * If you set a value for this parameter **and** set the `allowed` parameter to `0`, the reseller **cannot** use the hosting plan.' in: query name: number required: false schema: example: 5 minimum: 1 type: integer - description: "A hosting plan (package), to modify the reseller's access settings for it.\n\n**Note:**\n\n Use this parameter with the `number` or `allowed` parameters." in: query name: package required: false schema: example: package1 type: string responses: '200': content: application/json: schema: properties: metadata: properties: command: description: The method name called. example: setresellerpackagelimit type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Update reseller's hosting plan limits tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n setresellerpackagelimit \\\n user='username'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/setresellerpackagelimit?api.version=1&user=username x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /setupreseller: get: description: 'This function grants reseller status to an account. **Note:** This function grants reseller status to an **existing** account. You **cannot** create a new account with this function.' operationId: Resellers-setupreseller parameters: - description: The account's username. in: query name: user required: true schema: example: username format: username type: string - description: 'Whether to set the account to own itself. * `1` — Make the account own itself. * `0` — Keep the account''s current owner.' in: query name: makeowner required: false schema: default: 0 enum: - 0 - 1 example: 0 type: integer responses: '200': content: application/json: schema: properties: metadata: properties: command: description: The method name called. example: setupreseller type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Enable cPanel account's reseller status tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n setupreseller \\\n user='username'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/setupreseller?api.version=1&user=username x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /suspendreseller: get: description: This function suspends a reseller account. operationId: Resellers-suspendreseller parameters: - description: The reseller's username. in: query name: user required: true schema: example: username format: username type: string - description: 'Whether to allow only the `root` user to unsuspend the account. * `1` — **Only** the `root` user can unsuspend the account. * `0` — The `root` user or the account''s owner can unsuspend the account.' in: query name: disallow required: false schema: default: 0 enum: - 0 - 1 example: 0 type: integer - description: "The reason for the reseller's suspension.\n\n**Note:**\n\n We **strongly** recommend that you **always** include a reason for suspension." in: query name: reason required: false schema: example: Nonpayment type: string - description: 'Whether to suspend only the reseller account. * `1` — The function **only** suspends the reseller account. The function will **not** suspend the accounts that the reseller account owns. * `0` — The function suspends the reseller account **and** the accounts that it owns.' in: query name: reseller-only required: false schema: default: 0 enum: - 0 - 1 example: 0 type: integer responses: '200': content: application/json: schema: properties: metadata: properties: command: description: The method name called. example: suspendreseller type: string output: properties: raw: description: The raw output from the function. type: string type: object reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Suspend reseller tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n suspendreseller \\\n user='username'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/suspendreseller?api.version=1&user=username x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /terminatereseller: get: description: 'This function deletes a reseller and **all** of the reseller''s cPanel accounts. **Warning:** * You **cannot** recover deleted accounts. **Use this function with extreme caution.** * This function deletes the reseller account and **all** of the accounts that the reseller owns. * To remove reseller privileges from an account but **not** delete the reseller''s account or any accounts that the reseller owns, use the WHM API 1 `unsetupreseller` function.' operationId: Resellers-terminatereseller parameters: - description: 'Whether to terminate the reseller''s main account. * `1` — Terminate. * `0` — Do **not** terminate.' in: query name: terminatereseller required: true schema: enum: - 1 - 0 example: 1 type: integer - description: The reseller account's username. in: query name: user required: true schema: example: username format: username type: string responses: '200': content: application/json: schema: properties: data: properties: acct: description: An array of objects containing the function's output. items: properties: output: description: An object containing the termination data for the reseller's accounts. properties: raw: description: 'Output from the account''s removal. **Note:** This output may contain HTML.' example: 'Running pre removal script (/usr/local/cpanel/scripts/prekillacct)......DoneCollecting Domain Name and IP...User: example Domain: example.com ...DoneLocking account and setting shell to nologin...Locking password for user example. passwd: Success ...DoneKilling all processes owned by user......DoneRemoving Sessions.........DoneRemoving Suspended Info.........DoneCleaning Virtfs.........DoneRemoving Web Logs......DoneRemoving Bandwidth Files......DoneRemoving Email Sending Limits Cache......DoneRemoving DKIM keys......DoneRemoving Crontab......DoneRemoving HTTP Virtual Hosts...Removed the following non-SSL virtual hosts: example.com Removed the following SSL virtual hosts: ...DoneRemoving ftp Virtual Hosts......Done Removing user''''''''s web content directory symlinks......DoneRemoving MySQL databases and users......DoneRemoving PostgreSQL databases and users......DoneRemoving User & Group.......Success...Done Removing DNS Entries...example.com => deleted from hostname. ...Done Removing Email Setup...Removing /etc/valiases/example.com ...Done Removing mailman lists......Done Updating Databases......Done Removing bandwidth limits......Done Removing Counter Data......Done Adding IP back to the IP address pool...System has 3 free ips. ...Done Removing user''''''''s cPanel Databases & Updating......Done Reloading Services......Done Removing mail and service configs... ...Done Removing Logaholic Webstats...Id: TQ:TaskQueue:129 ...Done Sending Contacts......Done Updating internal databases...Updating ftp passwords for example Purging ftp user example Ftp password files updated. Ftp vhost passwords synced ...Done Running post removal scripts (/usr/local/cpanel/scripts/legacypostkillacct, /usr/local/cpanel/scripts/postkillacct)......Done Account Removal Complete!!!...example account removed...Done ' type: string type: object reason: description: A message of success or the reason for a failure. example: username account removed type: string result: description: 'Whether the function succeeded. * `1` — Success. * `0` — Failure.' enum: - 1 - 0 example: 1 type: integer user: description: The account username. example: username format: username type: string type: object type: array type: object metadata: properties: command: description: The method name called. example: terminatereseller type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 1 - 0 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Delete reseller and reseller's cPanel accounts tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n terminatereseller \\\n user='username' \\\n terminatereseller='1'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/terminatereseller?api.version=1&user=username&terminatereseller=1 x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /unsetupreseller: get: description: This function revokes reseller status from an account. operationId: Resellers-unsetupreseller parameters: - description: The reseller account's username. in: query name: user required: true schema: example: username format: username type: string responses: '200': content: application/json: schema: properties: metadata: properties: command: description: The method name called. example: unsetupreseller type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Disables cPanel account's reseller status tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n unsetupreseller \\\n user='username'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/unsetupreseller?api.version=1&user=username x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. /unsuspendreseller: get: description: This function unsuspends a reseller account. operationId: Resellers-unsuspendreseller parameters: - description: The reseller's username. in: query name: user required: true schema: example: username type: string - description: 'Whether to unsuspend only the reseller account. * `1` — The function **only** unsuspends the reseller account. The function will **not** unsuspend the accounts that the reseller account owns. * `0` — The function unsuspends the reseller account **and** the accounts that it owns.' in: query name: reseller-only required: false schema: default: 0 enum: - 0 - 1 example: 0 type: integer responses: '200': content: application/json: schema: properties: metadata: properties: command: description: The method name called. example: unsuspendreseller type: string reason: description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds. example: OK type: string result: description: '* `1` — Success. * `0` — Failed. Check the `reason` field for more details.' enum: - 0 - 1 example: 1 type: integer version: description: The version of the API function. example: 1 type: integer type: object description: HTTP Request was successful. summary: Unsuspend reseller tags: - Resellers x-codeSamples: - label: CLI lang: Shell source: "whmapi1 --output=jsonpretty \\\n unsuspendreseller \\\n user='username'\n" - label: URL lang: HTTP source: https://hostname.example.com:2087/cpsess##########/json-api/unsuspendreseller?api.version=1&user=username x-cpanel-api-version: WHM API 1 x-cpanel-available-version: '11' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. components: securitySchemes: BasicAuth: scheme: basic type: http externalDocs: url: https://cpanel.net/developers/ x-refined-from: - cpanel-uapi-openapi.yml - cpanel-whm-api-openapi.yml x-tagGroups: - name: API Development Tools tags: - API Token Management - Batch - SSE Task Management - URL Parsing - name: Authentication tags: - External Authentication - Two-Factor Settings - name: Backup Information tags: - BackupInfo - BackupInfo Status - name: Block Ip Addresses tags: - Block IP - name: Commerce Integration tags: - Market Integration - SSL Certificates - name: Contact Information tags: - Contact Information - name: cPanel Account tags: - Account Enhancements - Account Information - Account Management - AuditLog - Contact Information - cPanel Features - Disk Quotas - DomainRecommendations - Personalization - Resource Usage and Statistics - Subaccount Management - Team Roles - Team Users - name: cPanel Account Backups tags: - Backup - File Restoration - name: cPanel Plugin Framework tags: - Formbricks - Plugins - name: cPanel Theme Management tags: - Application Information - Brand Management - Branding Files - Browser Cache Management - Language - Theme Settings - name: Directory Management tags: - Directory Indexes - Directory Privacy - Directory Protection - name: DNS tags: - DNS - DNS Information - DNS Security - Dynamic DNS - Email DNS Settings - ZoneEdit - name: Domain tags: - Domain - name: Domain Management tags: - AddonDomain - Direct Link Protection (Hotlink) - Domain - Domain Information - Domain Redirection - DomainLookup - Park - SubDomain - Virtual Host Information - name: Domains tags: - Subdomains - name: Email tags: - Email Accounts - Email Filtering - Email Forwarding - Email Server Information - Email Suspensions - Mail Server Information - Mailbox Management - Mailing Lists - Signing and Encryption (GnuPG Keys) - Spam Filtering (Greylisting) - Spam Management - Spam Prevention (BoxTrapper) - Webmail Applications - Webmail Sessions - name: Extract Information tags: - ExtractInfo - ExtractInfo Status - name: File Manager tags: - Trash - name: Files tags: - FTP Accounts - FTP Server Settings - Image Tools - Jodit - Manage Files - Manage Files - WebDisk Settings - name: GIT Management tags: - Deployment Settings - Repository Management - name: InProductSurvey tags: - InProductSurvey - name: MySQL and MariaDB tags: - Database Information - Database Management - Remote Databases - User Management - name: Notifications tags: - Pushbullet - name: Optional Applications tags: - Antivirus Protection (ClamAV) - Calendar and Contacts (DAV) - Calendar and Contacts Server - WordPress Manager Backups - name: PostgreSQL tags: - PostgreSQL Database Management - PostgreSQL User Management - name: Retrieve bandwidth information tags: - Bandwidth - name: Security tags: - Known SSH Hosts Management - Login Information - name: Server Information tags: - cPanel Server Information - Notifications - Password Strength - SSH - WebPros MCP - WebProsMCP - name: ServiceProxy tags: - ServiceProxy - name: Site Quality Monitoring tags: - SiteQuality - name: SSL Certificates tags: - Auto-generated SSL Certificates - cPanel Account SSL Management - SNI Email Settings - SSL Certificate Management - Verify Domain Ownership - name: Statistics tags: - Domain Statistics - Weblog Settings - name: UserData tags: - UserData - name: Web Server Configuration tags: - EA4 - EasyApache Settings - PHP - name: Web Server Management tags: - Application Manager - ModSecurity - NginxCaching - PHP Settings - Web Apps - name: Website Configuration tags: - Handler Management - Logs - Mime Type Management - Nova - Site Information - Site Installation - Sitejet - WPX