< All Topics



Creates a new DNS zone record for an existing domain in a given SPanel user account.


tokenstringYesAuthorizing API token – check API Basics for more information.
accountuserstringYesThe SPanel user account that is being managed or viewed.
actionstringYesThe category and function being executed.
domainstringYesThe domain for which the DNS zone is being created.
namestringYesThe new DNS record name.
ttlintNoDefault: 14400. The new DNS record TTL (time to live).
typestringYesThe new DNS record type. Possible values: A, CNAME, MX, TXT, NS.
priorityintNoDefault: empty (unset) or 0. Numeric priority value. Only applicable when having MX as type but still optional.
valuestringYesThe new DNS record value.

Pay attention to the correct name and value formats – some DNS record types require dots at the end of the string.


$endpointUrl = '';

$postData = [
  'token' => 'provided_auth_token',
  'accountuser' => 'spanelio',
  'action' => 'domain/adddnsrecord',
  'domain' => 'spanel.io',
  'name' => 'spanel.io.',
  'ttl' => 86400,
  'type' => 'NS',
  //'priority' => 0,
  'value' => 'ns1.spanel.io.'

$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $endpointUrl);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $ch, CURLOPT_POST, true);
curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false);
$jsonOutput = curl_exec( $ch );

You can find more information about the Endpoint URL in our API Basics article.


    "result": "success",
    "data": {
        "msg": "The DNS record "\spanel.io. 86400 IN NS ns1.spanel.io."\ has been created successfully"
Previous domain/listdnszone
Next domain/editdnszone
Table of Contents