# cPanel API 2 Functions - SubDomain::listsubdomains Warning: The cPanel API 2 system is deprecated. We **strongly** recommend that you use [UAPI](/cpanel/introduction) instead of cPanel API 2. ## Description This function lists the cPanel account's subdomains. Warning: We **strongly** recommend that you use the following [UAPI](/cpanel/introduction/) function instead of this function: - [`DomainInfo::list_domains`](/openapi/cpanel/operation/list_domains/) — This function lists the cPanel account's domains. ## Examples WHM API (JSON) ```undefined syntaxhighlighter-pre https://hostname.example.com:2087/cpsess###########/json-api/cpanel?cpanel_jsonapi_user=user&cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=SubDomain&cpanel_jsonapi_func=listsubdomains®ex=domain&return_https_redirect_status=1 ``` Note: For more information, read our [Calls from the WHM API](/whm/use-whm-api-to-call-cpanel-api-and-uapi) documentation. LiveAPI PHP Class ```undefined syntaxhighlighter-pre $cpanel = new CPANEL(); // Connect to cPanel - only do this once. // List the subdomains that are associated with a cPanel account. $listsubdomains = $cpanel->api2( 'SubDomain', 'listsubdomains', array( 'regex' => 'domain', 'return_https_redirect_status' => '1', ) ); ``` Note: For more information, read our [Guide to the LiveAPI System](/guides/guide-to-the-liveapi-system/#guide-to-the-liveapi-system). LiveAPI Perl Module ```undefined syntaxhighlighter-pre my $cpliveapi = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once. # Lists subdomains that are associated with a cPanel account. my $listsubdomains = $cpliveapi->api2( 'SubDomain', 'listsubdomains', { 'regex' => 'domain', 'return_https_redirect_status' => '1', } ); ``` Note: For more information, read our [Guide to the LiveAPI System](/guides/guide-to-the-liveapi-system/#guide-to-the-liveapi-system). cPanel Tag System (deprecated) Warnings: - cPanel tags are **deprecated**. We **strongly** recommend that you **only** use the [LiveAPI](/guides/guide-to-the-liveapi-system) system to call the cPanel APIs. Examples are **only** present in order to help developers move from the old cPanel tag system to our [LiveAPI](/guides/guide-to-the-liveapi-system). - cPanel API 2 calls that use cPanel tags vary in code syntax and in their output. - For more information, read our [Deprecated cPanel Tag Usage](/cpanel-api-2/cpanel-api-2-deprecate-cpanel-tag-usage/) documentation. Command Line ```undefined syntaxhighlighter-pre cpapi2 --user=username SubDomain listsubdomains regex=domain return_https_redirect_status=1 ``` div Notes: - You **must** URI-encode values. - `username` represents your account-level username. - You **must** include the `--user=username` option. - For more information and additional output options, read our [Guide to cPanel API 2](/cpanel-api-2/) documentation or run the `cpapi2 --help` command. - If you run CloudLinux™, you **must** use the full path of the `cpapi2` command: ```undefined syntaxhighlighter-pre /usr/local/cpanel/bin/cpapi2 ``` br Output (JSON) ```undefined syntaxhighlighter-pre { "cpanelresult": { "apiversion": 2, "func": "listsubdomains", "data": [{ "domainkey": "subdomain_example.com", "rootdomain": "example.com", "status": "not redirected", "is_https_redirecting": "0", "can_https_redirect": "0", "all_aliases_valid": "0", "subdomain": "subdomain", "reldir": "home:public_html/subdomain", "basedir": "public_html\/subdomain", "dir": "/home/example/public_html/subdomain", "domain": "subdomain.example.com", "web_subdomain_aliases": "1" }], "event": { "result": 1 }, "module": "SubDomain" } } ``` Note: Use cPanel's *[API Shell](https://docs.cpanel.net/cpanel/advanced/api-shell-for-cpanel)* interface (*cPanel >> Home >> Advanced >> API Shell*) to directly test cPanel API calls. ## Parameters table thead tr th strong Return th strong Type th strong Description th strong Possible values th strong Example tbody tr td code regex td em string td p A a Perl Compatible Regular Expression (PCRE) that filters the results. p If you do not use this parameter, the function returns all of a cPanel account's subdomains. td p A valid PCRE. td code domain tr td code return_https_redirect_status td em Boolean td p Whether to return the secure redirect status of the addon domains. p We added this parameter in cPanel & WHM version 80. p This parameter defaults to code 0 . td ul li code 1 — Return status. li code 0 — Do strong not return status. td code 1 ## Returns table thead tr th strong Return th strong Type th strong Description th strong Possible values th strong Example tbody tr td code domainkey td em string td The subdomain's domain key. td The subdomain, an underscore, and the main domain. td code subdomain_example.com tr td code rootdomain td em string td The cPanel account's main domain. td A valid domain on the account. td code example.com tr td code status td em string td p Whether the subdomain redirects to another domain. td p A valid string. p br td code not redirected tr td code is_https_redirecting td em Boolean td div p Whether the domain redirects to code https . p This return only appears if you set the code return_https_redirects_status parameter to code 1 . p We added this return in cPanel & WHM version 80. p span br td ul li code 1 — Redirects. li code 0 — Does strong not redirect. td code 0 tr td code can_https_redirect td em Boolean td p Whether a valid SSL certificate or AutoSSL runs on the domain. p This return only appears if you set the code return_https_redirects_status parameter to code 1 . p We added this return in cPanel & WHM version 80. p span br td ul li code 1 — A valid SSL certificate exists or AutoSSL runs. li code 0 — A valid SSL certificate does strong not exist, and AutoSSL does not run. td code 0 tr td code all_aliases_valid td em Boolean td p Whether a valid SSL certificate exists on the domain's aliases. This return only appears if you set the code return_https_redirects_status parameter to code 1 . p p We added this return in cPanel & WHM version 80. td ul li code 1 — A valid SSL certificate exists on the aliases. li code 0 — A valid SSL certificate does not exist on the aliases. td code 0 tr td code subdomain td em string td The subdomain name. td A valid string. td code subdomain tr td code reldir td em string td The path to the domain's document root, relative to the cPanel account's home directory. td p A valid directory path, relative to the user's home directory, with a code home: prefix. td code home:public_html/subdomain tr td code basedir td em string td The directory that contains the subdomain's document root. td p A valid directory path, relative to the user's home directory. td code public_html/subdomain tr td code dir td em string td The absolute path to the subdomain's document root. td The absolute path to the subdomain's document root. td code /home/example/public_html/subdomain tr td code domain td em string td The subdomain and main domain names. td A valid domain on the account. td code subdomain.domain.com tr td code reason td em string td p A reason for failure. p This function only returns a code reason value if there was an error. td A string that describes the error. td code This is an error message. tr td code web_subdomain_aliases td em array td p The type of subdomain alias. p span We added this return in cPanel & WHM version 60. td ul li code 0 — code mail subdomain code li code 1 — code www subdomain td code 1 tr td code result p br code td em Boolean td span Whether the function succeeded. td ul li code 1 — The function succeeded. li code 0 — The function failed. td code 1