curl "https://your-paneldns-domain.com/api/v1/zones/501/export" \
-H "Authorization: Bearer YOUR_TOKEN"
$ORIGIN widgets.co.
$TTL 3600
@ IN SOA ns1.example.com. admin.widgets.co. 2026060401 3600 900 604800 300
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
@ IN A 192.0.2.10
www IN CNAME @
mail IN MX 10 mail.widgets.co.
{
"ok": false,
"error": "Zone has no provider.",
"code": 422
}
{
"ok": false,
"error": "Not found.",
"code": 404
}
{
"ok": false,
"error": "Provider error: Could not export zone.",
"code": 502
}
Zones
Export Zone
Export a zone as a BIND-format zone file. Requires zones:read scope.
GET
/
api
/
v1
/
zones
/
{id}
/
export
curl "https://your-paneldns-domain.com/api/v1/zones/501/export" \
-H "Authorization: Bearer YOUR_TOKEN"
$ORIGIN widgets.co.
$TTL 3600
@ IN SOA ns1.example.com. admin.widgets.co. 2026060401 3600 900 604800 300
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
@ IN A 192.0.2.10
www IN CNAME @
mail IN MX 10 mail.widgets.co.
{
"ok": false,
"error": "Zone has no provider.",
"code": 422
}
{
"ok": false,
"error": "Not found.",
"code": 404
}
{
"ok": false,
"error": "Provider error: Could not export zone.",
"code": 502
}
Returns the zone’s records as a standard BIND 9 zone file (RFC 1035 format). The export is generated live from the provider — it reflects the current state of the zone on the DNS server.
Unlike other endpoints, this returns the raw zone file body directly —
Content-Type: text/plain, not the usual {"ok": true, "data": ...} JSON envelope.integer
required
Zone ID.
curl "https://your-paneldns-domain.com/api/v1/zones/501/export" \
-H "Authorization: Bearer YOUR_TOKEN"
$ORIGIN widgets.co.
$TTL 3600
@ IN SOA ns1.example.com. admin.widgets.co. 2026060401 3600 900 604800 300
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
@ IN A 192.0.2.10
www IN CNAME @
mail IN MX 10 mail.widgets.co.
{
"ok": false,
"error": "Zone has no provider.",
"code": 422
}
{
"ok": false,
"error": "Not found.",
"code": 404
}
{
"ok": false,
"error": "Provider error: Could not export zone.",
"code": 502
}