# cPanel API 2 Functions - ZoneEdit::fetchzones

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 fetches all of the account's zone files.

Warnings:
* We **strongly** recommend that you use [UAPI](/cpanel/introduction/) instead of cPanel API 2. However, no equivalent UAPI function exists.
* When you disable the [*DNS* role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.


## 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=ZoneEdit&cpanel_jsonapi_func=fetchzones
```

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.

// Fetch all zones for the account.
$highwaytothedanger = $cpanel->api2(
    'ZoneEdit', 'fetchzones'
);
```

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.

# Fetch all zones for the account.
my $highwaytothedanger = $cpliveapi->api2(
    'ZoneEdit', 'fetchzones',
);
```

Note:
For more information, read our [Guide to the LiveAPI System](/guides/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 ZoneEdit fetchzones
```

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": "fetchzones",
    "data": [
      {
        "statusmsg": "Zones fetched",
        "status": 1,
        "zones": {
          "example.com": [
            "; cPanel first:11.47.0.9999 (update_time):1413486447 Cpanel::ZoneFile::VERSION:1.3 hostname:laurence.dev.cpanel.net latest:11.47.0.9999",
            "; Zone file for example.com",
            "$TTL 14400",
            "example.com.\t86400\tIN\tSOA\tns1.dev.cpanel.net.\tlaurence.simon.cpanel.net.\t(",
            "\t\t\t\t\t\t2014101607 ;Serial Number",
            "\t\t\t\t\t\t86400 ;refresh",
            "\t\t\t\t\t\t7200 ;retry",
            "\t\t\t\t\t\t3600000 ;expire",
            "\t\t\t\t\t\t86400\t)",
            "",
            "example.com.\t86400\tIN\tNS\tns1.dev.cpanel.net.",
            "example.com.\t86400\tIN\tNS\tns2.dev.cpanel.net.",
            "",
            "",
            "example.com.\t14400\tIN\tA\t10.215.214.95",
            "example.com.\t14400\tIN\tAAAA\t2001:db8:1a34:56cf:0:0:0:0",
            "localhost\t14400\tIN\tA\t127.0.0.1",
            "localhost\t14400\tIN\tAAAA\t0:0:0:0:0:0:0:1",
            "",
            "example.com.\t14400\tIN\tMX\t0\texample.com.",
            "",
            "mail\t14400\tIN\tCNAME\texample.com.",
            "www\t14400\tIN\tCNAME\texample.com.",
            "ftp\t14400\tIN\tA\t10.215.214.95",
            "ftp\t14400\tIN\tAAAA\t2001:db8:1a34:56cf:0:0:0:0",
            "fish\t14400\tIN\tA\t10.215.214.95",
            "fish\t14400\tIN\tAAAA\t2001:db8:1a34:56cf:0:0:0:0",
            "default._domainkey.fish\t14400\tIN\tTXT\t\"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDw5nw4NP1RsWXlfmiMzByDfOT16QCZO\/xJtrPZKskZF8\/sU0zWGTqKUOErlyJfoJzMDUv3\/zzjGswc2nEmYqxxoQZaBkN4QaS6MvJQxysAr+sK8C248\/r9zMperQdhJedUVejtpFQHJwgqpHy1tQMxY37L7sQjdxmQ5WnQ1acXiwIDAQAB;\"",
            "",
            "cpanel\t14400\tIN\tA\t10.215.214.95",
            "webdisk\t14400\tIN\tA\t10.215.214.95",
            "whm\t14400\tIN\tA\t10.215.214.95",
            "webmail.example.com\t14400\tIN\tA\t10.215.214.95"
          ]
        }
      }
    ],
    "event": {
      "result": 1
    },
    "module": "ZoneEdit"
  }
}
```

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

This function does not accept parameters.

## Returns

table
thead
tr
th
strong
strong
Return
th
strong
Type
th
strong
Description
th
strong
Possible values
th
strong
Example
tbody
tr
td
code
statusmsg
td
em
string
td
A status message from the DNS server.
td
A string.
td
code
Bind reloading on hostname using rndc zone: [example.com]\n
tr
td
code
status
td
em
Boolean
td
p
Whether the function succeeded.
td
ul
li
code
1
 — The function succeeded.
li
code
0
 — The function failed.
td
code
1
tr
td
code
zones
td
em
hash
td
An array of hashes that represent each line in a zone file.
td
This parameter contains the 
code
domain name
 array.
td
tr
td
p
code
domain name
td
em
array
td
p
The domain's zone file.
p
div
Note:
p
p
The domain name is the return's name.
br
p
The function returns this value in the 
code
zones
 hash.
p
br
td
A valid domain name.
td
code
example.com
tr
td
code
reason
td
em
string
td
p
A reason for failure.
p
div
Note:
p
p
This function only returns a 
code
reason
 value if it failed.
br
td
p
A string that describes the error.
td
code
This is an error message.
tr
td
code
result
td
em
Boolean
td
p
Whether the function succeeded.
td
ul
li
code
1
 — The function succeeded.
li
code
0
 — The function failed.
td
code
1