---
title: "Zone update"
url: "https://help.internetx.com/en/api/core-zone-update/"
lang: "en"
section: "API reference — API reference (XML/JSON)"
breadcrumb: "API documentation (JSON/XML) > Tasks > Zone tasks"
updated: "2025-03-10"
---

# Zone update

## Function

The _ZoneUpdate_ task updates a zone on the name server.

Search and replace values of zone entries

With the keyword <search\_and\_replace> you can search for values and replace them with another value. Here rr\_add or rr\_rem blocks are not required. But they can be used additionally without disturbing the functionality.

With this order you can optionally receive a confirmation mail. To do so, use the tag <email\_confirmation>your@mailaddress.com</email\_confirmation> for XML and the URL parameter "confirmation\_email=your@mailaddress.com" for JSON.

## Description

Route: PUT /zone/{name}/{nameserver} or : PUT /zone/{name}

```
{
    "origin": "example.com",
    "soa": {
        "email": "do-not-reply@example.com",
        "refresh": "43200",
        "retry": "7200",
        "expire": "1209600",
        "ttl": "86400"
    },
    "dnssec": "false",
    "allowTransfer": "true",
    "grants": [
        "5.5.5.5",
        "6.6.6.6"
    ],
    "domainsafe": "false",
    "action": "COMPLETE",
    "nameServers": [
        {
            "name": "ns1.example.com",
            "ttl": "86400",
            "ipAddresses": [
                "1.1.1.1"
            ]
        },
        {
            "name": "ns2.example.com",
            "ttl": "86400"
        }
    ],
    "wwwInclude": "true",
    "main": {
        "address": "2.2.2.2",
        "ttl": "86400"
    },
   "resourceRecords": [
      {
         "name": "subdomainexample",
         "ttl": 600,
         "type": "A",
         "value": "1.3.5.7"
      },
      {
         "name": "newsubdomain",
         "ttl": 1200,
         "type": "A",
         "value": "3.2.1.0"
      }
   ]
}
```

```
{
   "stid": "20190701-app2-dev-21948",
   "status": {
      "code": "S0202",
      "text": "Zone was updated successfully on the name server.",
      "type": "SUCCESS"
   },
   "object": {
      "type": "Zone",
      "value": "example.com",
      "data": {
         "origin": "example.com",
         "virtualNameServer": "ns1.example.com"
      }
   }
}
```

Task code: 0202  
Uses [Zone](/en/api/core-zone-object/) object

```
<request>
	<auth>
		<user>customer</user>
		<password>password</password>
		<context>4</context>
	</auth>
	<task>
		<code>0202</code>
		<zone>
			<name>example.com</name>
			<system_ns>ns1.example.com</system_ns>
			<main>
				<value>172.16.100.1</value>
				<ttl>86400</ttl>
			</main>
			<ns_action>complete</ns_action>
			<www_include>1</www_include>
			<soa_level>3</soa_level>
			<allow_transfer_from>198.51.100.0/24</allow_transfer_from>
			<soa>
				<refresh>43200</refresh>
				<retry>7200</retry>
				<expire>1209600</expire>
				<ttl>600</ttl>
				<ignore></ignore>
				<email>zonec@example.com</email>
			</soa>
			<nserver>
				<name>ns1.example.com</name>
				<ttl>86400</ttl>
			</nserver>
			<nserver>
				<name>ns2.example.com</name>
				<ttl>86400</ttl>
			</nserver>
			<rr>
				<name>mail</name>
				<ttl>103600</ttl>
				<type>MX</type>
				<pref>10</pref>
				<value>mail.example.com</value>
			</rr>
			<rr>
				<name>www</name>
				<ttl>86400</ttl>
				<type>NS</type>
				<pref></pref>
				<value>ns1.example.com</value>
			</rr>
		</zone>
	</task>
</request>
```

```
<response>
	<result>
		<status>
			<code>S0202</code>
			<text>Zone was updated successfully on the name server.</text>
			<text></text>
			<type>success</type>
			<object>
				<type>zone</type>
				<value>example.com</value>
			</object>
		</status>
	</result>
</response>
```

**Example for "Search and Replace". Each TTL value is replaced with the value "600".**

```
<request>
	<auth>
		<user>customer</user>
		<password>password</password>
		<context></context>
	</auth>
	<task>
		<code>0202</code>
		<zone>
			<name>example.com</name>
			<system_ns>ns1.example.com</system_ns>
			<main>
				<value>172.16.100.1</value>
				<ttl>86400</ttl>
			</main>
			<ns_action>complete</ns_action>
			<www_include>1</www_include>
			<search_and_replace>
				<search>*</search>
				<type>TTL</type>
				<replace>600</replace>
			</search_and_replace>
			<allow_transfer_from>198.51.100.0/24</allow_transfer_from>
			<soa>
				<refresh>43200</refresh>
				<retry>7200</retry>
				<expire>1209600</expire>
				<ttl>600</ttl>
				<ignore></ignore>
				<email>zonec@example.com</email>
			</soa>
			<nserver>
				<name>ns1.example.com</name>
				<ttl>86400</ttl>
			</nserver>
			<nserver>
				<name>ns2.example.com</name>
				<ttl>86400</ttl>
			</nserver>
			<rr>
				<name>mail</name>
				<ttl>103600</ttl>
				<type>MX</type>
				<pref>10</pref>
				<value>mail.example.com</value>
			</rr>
			<rr>
				<name>www</name>
				<ttl>86400</ttl>
				<type>NS</type>
				<pref></pref>
				<value>ns1.example.com</value>
			</rr>
		</zone>
		<email_confirmation>confirm@customer.com</email_confirmation>
	</task>
```

**Example for "Search and Replace". Each TTL value is replaced with the value "600".  
**

```
<request>
	<auth>
		<user>customer</user>
		<password>password</password>
		<context></context>
	</auth>
	<task>
		<code>0202</code>
		<zone>
			<name>example.com</name>
			<system_ns>ns1.example.com</system_ns>
			<main>
				<value>172.16.100.1</value>
				<ttl>86400</ttl>
			</main>
			<ns_action>complete</ns_action>
			<www_include>1</www_include>
			<search_and_replace>
				<search>*</search>
				<type>TTL</type>
				<replace>600</replace>
			</search_and_replace>
			<allow_transfer_from>198.51.100.0/24</allow_transfer_from>
			<soa>
				<refresh>43200</refresh>
				<retry>7200</retry>
				<expire>1209600</expire>
				<ttl>600</ttl>
				<ignore></ignore>
				<email>zonec@example.com</email>
			</soa>
			<nserver>
				<name>ns1.example.com</name>
				<ttl>86400</ttl>
			</nserver>
			<nserver>
				<name>ns2.example.com</name>
				<ttl>86400</ttl>
			</nserver>
			<rr>
				<name>mail</name>
				<ttl>103600</ttl>
				<type>MX</type>
				<pref>10</pref>
				<value>mail.example.com</value>
			</rr>
			<rr>
				<name>www</name>
				<ttl>86400</ttl>
				<type>NS</type>
				<pref></pref>
				<value>ns1.example.com</value>
			</rr>
		</zone>
	</task>
```

```
<response>
	<result>
		<status>
			<code>S0202</code>
			<text>Zone was updated successfully on the name server.</text>
			<text></text>
			<type>success</type>
			<object>
				<type>zone</type>
				<value>example.com</value>
			</object>
		</status>
	</result>
</response>
```

### Possible Error Messages

-   E0202 - Zone could not be updated on the name server.
-   E0242 - Subzone could not be updated.
-   EF02020 - No such zone exists.
-   EF02034 - A zone with this name server does not exist.
-   EF012003 - The action can not be carried out. DNSSEC has to be deactivated first.
-   EF02013 - Secondary name server is invalid.
-   EF02025 - We don't administrate any of the entered name servers.
-   E0202002 - Zone could not be updated on the name server.
