cPanel API 2 Functions - ZoneEdit::fetchzone
The cPanel API 2 system is deprecated. We strongly recommend that you use UAPI instead of cPanel API 2.
Description
This function retrieves a zone file.
Examples
WHM API (JSON)
https://hostname.example.com:2087/cpsess###########/json-api/cpanel?cpanel_jsonapi_user=user&cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=fetchzone&domain=example.com&customonly=0&line=1&ttl=14400&name=example.com&address=10.10.10.10&type=A
For more information, read our Calls from the WHM API documentation.
LiveAPI PHP Class
$cpanel = new CPANEL(); // Connect to cPanel - only do this once.
// Fetch the zone file for "example.com"
$fetch_zone = $cpanel->api2(
'ZoneEdit', 'fetchzone',
array(
'domain' => 'example.com',
'customonly'=> '0',
'line' => '1',
'ttl' => '14400',
'name' => 'example.com'
'class' => 'IN',
'address' => '10.10.10.10',
'type' => 'A',
)
);
For more information, read our Guide to the LiveAPI System.
LiveAPI Perl Module
my $cpliveapi = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.
# Fetch the zone file for "example.com"
my $fetch_zone= $cpliveapi->api2(
'ZoneEdit', 'fetchzone',
{
'domain' => 'example.com',
'customonly'=> '0',
'line' => '1',
'ttl' => '14400',
'name' => 'example.com'
'class' => 'IN',
'address' => '10.10.10.10',
'type'
}
);
For more information, read our Guide to the LiveAPI System.
cPanel Tag System (deprecated)
- cPanel tags are deprecated . We strongly recommend that you only use the LiveAPI 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 .
- 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 documentation.
Command Line
cpapi2 --user=username ZoneEdit fetchzone domain=example.com customonly=0 line=1 ttl=14400 name=example.com class="IN" address=10.10.10.10 type=A
- 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
documentation or run the
cpapi2 --help
command. -
If you run CloudLinux™, you
must
use the full path of the
cpapi2
command:/usr/local/cpanel/bin/cpapi2
Output (JSON)
{
"cpanelresult": {
"apiversion": 2,
"func": "fetchzone",
"data": [
{
"statusmsg": "Zone Serialized",
"record": [
{
"record": null,
"Line": 1,
"ttl": "86400",
"type": ":RAW",
"raw": "; cPanel first:11.47.0.9999 (update_time):1413480646 Cpanel::ZoneFile::VERSION:1.3 hostname.hostingcompany.com latest:11.47.0.9999",
"line": 1
},
{
"record": null,
"Line": 2,
"ttl": "86400",
"type": ":RAW",
"raw": "; Zone file for example.com",
"line": 2
},
{
"record": null,
"Line": 3,
"ttl": "14400",
"type": "$TTL",
"line": 3
},
{
"minimum": "86400",
"ttl": "86400",
"serial": "2014101606",
"name": "example.com.",
"mname": "ns1.hostingcompany.com",
"retry": "7200",
"record": null,
"refresh": "86400",
"Line": 4,
"Lines": 6,
"class": "IN",
"type": "SOA",
"rname": "hostname.hostingcompany.com",
"expire": "3600000",
"line": 4
},
{
"record": null,
"Line": 10,
"ttl": "86400",
"type": ":RAW",
"raw": "",
"line": 10
},
{
"nsdname": "ns1.hostingcompany.com",
"ttl": "86400",
"name": "example.com.",
"record": null,
"Line": 11,
"type": "NS",
"class": "IN",
"line": 11
},
{
"nsdname": "ns1.hostingcompany.com",
"ttl": "86400",
"name": "example.com.",
"record": null,
"Line": 12,
"type": "NS",
"class": "IN",
"line": 12
},
{
"record": null,
"Line": 13,
"ttl": "86400",
"type": ":RAW",
"raw": "",
"line": 13
},
{
"record": null,
"Line": 14,
"ttl": "86400",
"type": ":RAW",
"raw": "",
"line": 14
},
{
"ttl": "14400",
"name": "example.com.",
"record": "10.215.214.95",
"Line": 15,
"type": "A",
"class": "IN",
"address": "10.215.214.95",
"line": 15
},
{
"ttl": "14400",
"name": "example.com.",
"record": "2001:db8:1a34:56cf:0:0:0:0",
"Line": 16,
"type": "AAAA",
"class": "IN",
"address": "2001:db8:1a34:56cf:0:0:0:0",
"line": 16
},
{
"ttl": "14400",
"name": "localhost.example.com.",
"record": "127.0.0.1",
"Line": 17,
"type": "A",
"class": "IN",
"address": "127.0.0.1",
"line": 17
},
{
"ttl": "14400",
"name": "localhost.example.com.",
"record": "0:0:0:0:0:0:0:1",
"Line": 18,
"type": "AAAA",
"class": "IN",
"address": "0:0:0:0:0:0:0:1",
"line": 18
},
{
"record": null,
"Line": 19,
"ttl": "86400",
"type": ":RAW",
"raw": "",
"line": 19
},
{
"ttl": "14400",
"name": "example.com.",
"preference": "0",
"record": null,
"Line": 20,
"type": "MX",
"class": "IN",
"exchange": "example.com",
"line": 20
},
{
"record": null,
"Line": 21,
"ttl": "86400",
"type": ":RAW",
"raw": "",
"line": 21
},
{
"ttl": "14400",
"name": "mail.example.com.",
"cname": "example.com",
"record": "example.com",
"Line": 22,
"type": "CNAME",
"class": "IN",
"line": 22
},
{
"ttl": "14400",
"name": "www.example.com.",
"cname": "example.com",
"record": "example.com",
"Line": 23,
"type": "CNAME",
"class": "IN",
"line": 23
},
{
"ttl": "14400",
"name": "ftp.example.com.",
"record": "10.215.214.95",
"Line": 24,
"type": "A",
"class": "IN",
"address": "10.215.214.95",
"line": 24
},
{
"ttl": "14400",
"name": "ftp.example.com.",
"record": "2001:db8:1a34:56cf:0:0:0:0",
"Line": 25,
"type": "AAAA",
"class": "IN",
"address": "2001:db8:1a34:56cf:0:0:0:0",
"line": 25
},
{
"ttl": "14400",
"name": "fish.example.com.",
"record": "10.215.214.95",
"Line": 26,
"type": "A",
"class": "IN",
"address": "10.215.214.95",
"line": 26
},
{
"ttl": "14400",
"name": "fish.example.com.",
"record": "2001:db8:1a34:56cf:0:0:0:0",
"Line": 27,
"type": "AAAA",
"class": "IN",
"address": "2001:db8:1a34:56cf:0:0:0:0",
"line": 27
},
{
"ttl": "14400",
"name": "default._domainkey.fish.example.com.",
"unencoded": 1,
"record": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDw5nw4NP1RsWXlfmiMzByDfOT16QCZO\/xJtrPZKskZF8\/sU0zWGTqKUOErlyJfoJzMDUv3\/zzjGswc2nEmYqxxoQZaBkN4QaS6MvJQxysAr+sK8C248\/r9zMperQdhJedUVejtpFQHJwgqpHy1tQMxY37L7sQjdxmQ5WnQ1acXiwIDAQAB;",
"Line": 28,
"txtdata": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDw5nw4NP1RsWXlfmiMzByDfOT16QCZO\/xJtrPZKskZF8\/sU0zWGTqKUOErlyJfoJzMDUv3\/zzjGswc2nEmYqxxoQZaBkN4QaS6MvJQxysAr+sK8C248\/r9zMperQdhJedUVejtpFQHJwgqpHy1tQMxY37L7sQjdxmQ5WnQ1acXiwIDAQAB;",
"type": "TXT",
"class": "IN",
"line": 28
},
{
"record": null,
"Line": 29,
"ttl": "86400",
"type": ":RAW",
"raw": "",
"line": 29
},
{
"ttl": "14400",
"name": "cpanel.example.com.",
"record": "10.215.214.95",
"Line": 30,
"type": "A",
"class": "IN",
"address": "10.215.214.95",
"line": 30
},
{
"ttl": "14400",
"name": "webdisk.example.com.",
"record": "10.215.214.95",
"Line": 31,
"type": "A",
"class": "IN",
"address": "10.215.214.95",
"line": 31
},
{
"ttl": "14400",
"name": "whm.example.com.",
"record": "10.215.214.95",
"Line": 32,
"type": "A",
"class": "IN",
"address": "10.215.214.95",
"line": 32
},
{
"ttl": "14400",
"name": "webmail.example.com.",
"record": "10.215.214.95",
"Line": 33,
"type": "A",
"class": "IN",
"address": "10.215.214.95",
"line": 33
},
{
"ttl": "14400",
"name": "www.example.com.",
"value": "totallyrealca.tld",
"tag": "issue",
"flag": "0",
"Line": 33,
"type": "CAA",
"class": "IN",
"line": 33
}
],
"status": 1,
"serialnum": "2014101606"
}
],
"event": {
"result": 1
},
"module": "ZoneEdit"
}
}
Use cPanel's API Shell interface (cPanel >> Home >> Advanced >> API Shell) to directly test cPanel API calls.
Parameters
Parameter | Type | Description | Possible values | Example |
---|---|---|---|---|
|
string | Required The record's domain. |
A valid domain name. | example.com |
|
Boolean | Whether to return only non-essential A and CNAME records. This value defaults to |
|
0 |
|
integer | Filter results for line numbers that match this value. This value defaults to |
A positive integer. | 1 |
|
integer | Filter results for time to live (TTL) values that match this value. This value defaults to |
A positive integer.
|
14400 |
|
string | Filter results for DNS record names values that match this value. If you do not use this parameter, the function returns all results for the domain. |
A valid string. | example.com |
|
string | Filter results for DNS zone classes that match this value. This value defaults to |
IN |
IN |
|
string | Filter results for IP addresses that match this value. If you do not use this parameter, the function returns all of the domain's record types. |
A valid IPv4 or IPv6 address. | 10.10.10.10 |
|
string | Filter results for types that match this value. If you do not use this parameter, the function returns all of the domain's record types. |
|
A |
|
string |
Filter results for Note:
This value defaults to a blank string.
Only use this parameter if you pass |
A valid string. | v=blahblahblah |
|
integer |
Filter results for preference values that match this value. Note:
This value defaults to Only use this parameter if you pass 0 .
|
An integer value. | 0 |
|
string |
Filter results for Note:
This value defaults to a blank string.
Only use this parameter if you pass |
A valid hostname. | mail.example.com |
Returns
Return | Type | Description | Possible values | Example |
---|---|---|---|---|
array of hashes | A hash of zone record information. | The returns that each hash includes depend on the type of record that you query. | ||
|
string | The record's domain. The function returns this value in the zone record's hash. |
A valid domain name. | example.com |
|
integer | The line number in the zone file. The function returns this value in the zone record's hash. |
A positive integer. | 1 |
|
integer | The record's time to live (TTL). The function returns this value in the zone record's hash. |
A positive integer that represents the interval in seconds. | 14400 |
|
string | The record's name. The function returns this value in the zone record's hash. |
A valid string. | example.com |
|
string | The record's class. The function returns this value in the zone record's hash. |
IN |
IN |
|
string | The record's IP address. The function returns this value in the zone record's hash. |
A valid IPv4 or IPv6 address. | 10.10.10.10 |
|
string | The record's type. The function returns this value in the zone record's hash. |
|
A |
|
string | If the The function returns this value in the zone record's hash. |
A string. | v=blahblahblah |
|
string | If the The function returns this value in the zone record's hash. |
A positive integer, where smaller integers represent higher priority. | 10 |
|
string | If the The function returns this value in the zone record's hash. |
A valid hostname. | mail.example.com |
|
string | If the The function returns this value in the zone record's hash. |
A valid hostname. | mail.example.com |
|
string | If the The function returns this value in the zone record's hash. |
A valid hostname. | ns1.example.com |
|
integer |
If the Note:
The function returns this value in the zone record's hash. |
|
0 |
|
string |
If the Note:
We added this return in cPanel & WHM version 66. The function returns this value in the zone record's hash. |
|
issue |
|
string |
If the Note:
The function returns this value in the zone record's hash.
We added this return in cPanel & WHM version 66. |
|
totallyrealca.tld |
|
integer | If the The function returns this value in the zone record's hash. |
A positive integer that represents the target host's priority order . | 1 |
|
integer | If the The function returns this value in the zone record's hash. |
A positive integer that represents the target host's weight against other hosts with the same priority value. |
1 |
|
integer | If the The function returns this value in the zone record's hash. |
A positive integer that represents a port number. Note:
For a complete list of ports, read our How to Configure Your Firewall for cPanel Services documentation. |
|
|
string | If the The function returns this value in the zone record's hash. |
A valid hostname. | subdomain.example.com |
reason |
string |
A reason for failure. Note:
This function only returns a |
A string that describes the error. |
This is an error message. |
result |
Boolean | Whether the function succeeded. |
|
1 |