latestOpenAPI 3.0.2cPanel License2026-08-106251554.3 MB

3da41671c02c

DNS
DNS Zones

Update a DNS zone

This function updates a given DNS zone. It can add, edit, and remove many records in a single call. It also ensures that each record not removed will occupy the same number of lines after the edit as it did before the edit.

NOTE:

You cannot use this function to modify temporary domains.

get/mass_edit_dns_zone

Query parameters

serialinteger required
Example:202001010100

The current serial number in the DNS zone’s SOA (Start of Authority) record. If this value does not match the zone’s current state, the request fails.

zonestring required
Example:example.com

The name of one of the user’s DNS zones.

addstring[]

The records to add to the zone. Each item must be a serialized JSON object that contains:

  • dname — The record’s name.
  • ttl — The record’s TTL (Time-To-Live) value.
  • record_type — The record’s type. For example, A or TXT.
  • data — An array of strings. The format and number of the strings depend on the record_type value.
editstring[]

The records to edit in the zone. Each item must be a serialized JSON object that contains:

  • line_index — The line number in the DNS zone where the record starts. This is a 0-based index, so to edit the first line in the file use the 0 value. To edit the second line, give 1, and so forth.
  • dname — The record’s name.
  • ttl — The record’s TTL (Time-To-Live) value.
  • record_type — The record’s new type. For example, A or TXT.
  • data — An array of strings. The format and number of the strings depend on the record_type value.
[
  "'{\"line_index\": 9, \"dname\":\"example\", \"ttl\":14400, \"record_type\": \"TXT\", \"data\":[\"string1\", \"string2\"]}'"
]
removeinteger[]

The line indexes of records to remove from the zone.

[
  22
]

Response

HTTP Request was successful.

Example response

{
  "data": {
    "new_serial": 2021031903
  },
  "metadata": {
    "command": "mass_edit_dns_zone",
    "reason": "OK",
    "result": 1,
    "version": 1
  }
}