# 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&regex=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