curl --request POST \
--url https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"hostname": "ns1",
"ips": [
"192.168.1.10",
"2001:0db8:85a3:0000:0000:8a2e:0370:7334"
]
}
'import requests
url = "https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers"
payload = {
"hostname": "ns1",
"ips": ["192.168.1.10", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"]
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
hostname: 'ns1',
ips: ['192.168.1.10', '2001:0db8:85a3:0000:0000:8a2e:0370:7334']
})
};
fetch('https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'hostname' => 'ns1',
'ips' => [
'192.168.1.10',
'2001:0db8:85a3:0000:0000:8a2e:0370:7334'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers"
payload := strings.NewReader("{\n \"hostname\": \"ns1\",\n \"ips\": [\n \"192.168.1.10\",\n \"2001:0db8:85a3:0000:0000:8a2e:0370:7334\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"hostname\": \"ns1\",\n \"ips\": [\n \"192.168.1.10\",\n \"2001:0db8:85a3:0000:0000:8a2e:0370:7334\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"hostname\": \"ns1\",\n \"ips\": [\n \"192.168.1.10\",\n \"2001:0db8:85a3:0000:0000:8a2e:0370:7334\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"domainName": "example.com",
"hostname": "ns1.example.com",
"ips": [
"192.168.1.1",
"2001:0db8:85a3:0000:0000:8a2e:0370:7334"
]
}{
"message": "Bad Request",
"details": "'domainName' cannot be null"
}{
"message": "Unauthorized"
}{
"message": "Permission denied",
"details": "Failed authentication"
}{
"message": "Not Found",
"details": "The requested domain does not exist."
}{
"message": "Method Not Allowed"
}{
"message": "Object already exists.",
"details": "Cannot create multiple objects under same key."
}{
"message": "The 'Content-Type' header must be 'application/json' for this request."
}{
"message": "Rate Limit Exceeded"
}{
"message": "Internal Server Error",
"details": "Something went wrong."
}{
"message": "The server received an invalid response from the upstream server."
}{
"message": "Service Unavailable",
"details": "The API is offline for scheduled maintenance. See https://status.name.com for updates."
}{
"message": "The upstream server is taking too long to respond."
}Create Vanity Nameserver
Register a new vanity nameserver for the specified domain.
curl --request POST \
--url https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"hostname": "ns1",
"ips": [
"192.168.1.10",
"2001:0db8:85a3:0000:0000:8a2e:0370:7334"
]
}
'import requests
url = "https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers"
payload = {
"hostname": "ns1",
"ips": ["192.168.1.10", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"]
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
hostname: 'ns1',
ips: ['192.168.1.10', '2001:0db8:85a3:0000:0000:8a2e:0370:7334']
})
};
fetch('https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'hostname' => 'ns1',
'ips' => [
'192.168.1.10',
'2001:0db8:85a3:0000:0000:8a2e:0370:7334'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers"
payload := strings.NewReader("{\n \"hostname\": \"ns1\",\n \"ips\": [\n \"192.168.1.10\",\n \"2001:0db8:85a3:0000:0000:8a2e:0370:7334\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"hostname\": \"ns1\",\n \"ips\": [\n \"192.168.1.10\",\n \"2001:0db8:85a3:0000:0000:8a2e:0370:7334\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"hostname\": \"ns1\",\n \"ips\": [\n \"192.168.1.10\",\n \"2001:0db8:85a3:0000:0000:8a2e:0370:7334\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"domainName": "example.com",
"hostname": "ns1.example.com",
"ips": [
"192.168.1.1",
"2001:0db8:85a3:0000:0000:8a2e:0370:7334"
]
}{
"message": "Bad Request",
"details": "'domainName' cannot be null"
}{
"message": "Unauthorized"
}{
"message": "Permission denied",
"details": "Failed authentication"
}{
"message": "Not Found",
"details": "The requested domain does not exist."
}{
"message": "Method Not Allowed"
}{
"message": "Object already exists.",
"details": "Cannot create multiple objects under same key."
}{
"message": "The 'Content-Type' header must be 'application/json' for this request."
}{
"message": "Rate Limit Exceeded"
}{
"message": "Internal Server Error",
"details": "Something went wrong."
}{
"message": "The server received an invalid response from the upstream server."
}{
"message": "Service Unavailable",
"details": "The API is offline for scheduled maintenance. See https://status.name.com for updates."
}{
"message": "The upstream server is taking too long to respond."
}Authorizations
Authenticate via HTTP Basic with your account username and API token. Examples use an explicit 'Authorization: Basic <base64(username:token)>' header; 'curl -u username:token' is equivalent. For sandbox, append "-test" to your username and use your sandbox token on api.dev.name.com.
Path Parameters
The domain name to create a vanity nameserver for.
"example.com"
Body
Details of the vanity nameserver to create.
VanityNameserver contains the hostname as well as the list of IP addresses for nameservers.
The subdomain portion of the nameserver hostname. The domain portion will be taken from the URL path. For example, to create 'ns1.example.com', specify 'ns1' when calling the endpoint for the domain 'example.com'.
"ns1"
IPs is a list of IP addresses that are used for glue records for this nameserver. These should be valid IPv4 or IPv6 addresses.
1[
"192.168.1.10",
"2001:0db8:85a3:0000:0000:8a2e:0370:7334"
]
Response
Vanity nameserver successfully created.
VanityNameserver response schema with full hostname
DomainName is the root domain for which this vanity nameserver is created. For example, if the hostname is 'ns1.example.com', the domainName would be 'example.com'.
"example.com"
Hostname is the fully qualified domain name (FQDN) of the vanity nameserver. It must be a subdomain of the domain specified in 'domainName'.
"ns1.example.com"
IPs is a list of IP addresses that are used for glue records for this vanity nameserver. These should be valid IPv4 or IPv6 addresses.
1[
"192.168.1.1",
"2001:0db8:85a3:0000:0000:8a2e:0370:7334"
]
Was this page helpful?