curl --request PUT \
--url https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers/{hostname} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"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/{hostname}"
payload = { "ips": ["192.168.1.10", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"] }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({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/{hostname}', 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/{hostname}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'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/{hostname}"
payload := strings.NewReader("{\n \"ips\": [\n \"192.168.1.10\",\n \"2001:0db8:85a3:0000:0000:8a2e:0370:7334\"\n ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers/{hostname}")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\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/{hostname}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\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": "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."
}Update Vanity Nameserver IP
Updates the glue record IP addresses for a vanity nameserver.
curl --request PUT \
--url https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers/{hostname} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"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/{hostname}"
payload = { "ips": ["192.168.1.10", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"] }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({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/{hostname}', 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/{hostname}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'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/{hostname}"
payload := strings.NewReader("{\n \"ips\": [\n \"192.168.1.10\",\n \"2001:0db8:85a3:0000:0000:8a2e:0370:7334\"\n ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.dev.name.com/core/v1/domains/{domainName}/vanity_nameservers/{hostname}")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\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/{hostname}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\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": "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 associated with the vanity nameserver.
"example.com"
The hostname of the vanity nameserver to update.
"ns1.example.com"
Body
Updated IP addresses for the vanity nameserver.
UpdateVanityNameserverBody contains the list of IP addresses to update for a vanity nameserver.
IPs is the updated list of IP addresses to be used for glue records for this vanity nameserver. Providing an empty array will remove all existing IPs.
[
"192.168.1.10",
"2001:0db8:85a3:0000:0000:8a2e:0370:7334"
]
Response
Vanity nameserver successfully updated.
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?