# 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