Create DNS zone

This function creates a DNS zone. If trueowner=user, this function does the following:

  • Adds a DNS entry in the /var/cpanel/users/USER file, where USER represents the trueowner parameter's value.
  • Creates the /etc/vdomainaliases/DOMAIN file, where DOMAIN represents the new zone's domain.
  • Creates the /etc/vfilters/DOMAIN file, where DOMAIN represents the new zone's domain.

When you call this function, the system uses the domain name and IP address that you supply. WHM's standard zone template determines all other zone information.

This function generates the DNS zone's MX record, domain PTR, and A records automatically.

Important:

When you disable the DNS role, the system disables this function.

SecurityBasicAuth
Request
query Parameters
domain
required
string <domain>

The new zone's domain.

Example: domain=example.com
ip
required
string <ipv4>

The domain's IP address.

Example: ip=192.168.0.20
has_ipv6
integer
Default: 0

Whether to add an IPv6 address to the new zone.

  • 1 — Add the IPv6 address in the ipv6 parameter to the new zone.
  • 0 — Do not add an IPv6 address to the new zone.
Enum: 0 1
Example: has_ipv6=1
ipv6
string or null <ipv6>

The domain's IPv6 address.

Example: ipv6=2001:0db8:0:0:1:0:0:1
template
string
Default: "standard"

The zone file template.

  • standard
  • simple
  • standardvirtualftp
  • The name of a custom zone template file in the /var/cpanel/zonetemplates directory.
Example: template=standard
trueowner
string or null <username>

The new zone's owner. This parameter defaults to the currently-authenticated user.

Example: trueowner=user
Responses
200

HTTP Request was successful.

Response Schema: application/json
object
get/adddns
Request samples
whmapi1 --output=jsonpretty \
  adddns \
  domain='example.com' \
  trueowner='user' \
  ip='192.168.0.20'
Response samples
application/json
{
  • "metadata": {
    • "command": "adddns",
    • "reason": "Added example.com ok belonging to user user",
    • "result": 1,
    • "version": 1
    }
}