Support

Replace the nameservers for a domain

View as Markdown

Replaces the authoritative nameservers for the domain with the provided list.

Full description

Replaces the authoritative nameservers for the domain with the provided list. Minimum 2, maximum 13. Returns a DomainOperation; propagation to the registry is asynchronous.

PUT
/domain-names/{domain-name}/nameservers

Authorization

bearerAuth
AuthorizationBearer <token>

Personal Access Token (PAT). Generate one from the developer dashboard. Pass as: Authorization: Bearer <token>.

In: header

Path Parameters

domain-name*string

The domain name in punycode A-label form (e.g., example.com). For IDNs, use the punycode representation.

Header Parameters

X-Request-Id?string

Optional client-generated request correlation identifier, propagated across services and returned in the response X-Request-Id header.

Formatuuid
Idempotency-Key*string

Client-generated unique key (UUID recommended). Retrying a mutating request with the same Idempotency-Key returns the original response without creating a duplicate side effect. Required on all execute endpoints.

Length16 <= length <= 64

Request Body

application/json

Ordered list of authoritative nameserver hostnames for a domain. The first entry is primary; subsequent entries are secondaries. A minimum of two nameservers is required; the maximum is thirteen.

Items2 <= items <= 13
[index: integer]?Nameserver Hostname

A fully qualified domain name for an authoritative nameserver.

Length1 <= length <= 253

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/domain-names/example.com/nameservers" \  -H "Idempotency-Key: 9f1c2e7a-4b3d-4e8f-a1c2-3d4e5f6a7b8c" \  -H "Content-Type: application/json" \  -d '[    "ns1.example.com",    "ns2.example.com"  ]'
{  "operationId": null,  "type": null,  "domain": "string",  "status": null,  "result": {    "expiresAt": "string",    "orderId": "string",    "updatedAt": "string"  },  "error": {    "name": "string",    "correlationId": "string",    "message": "string",    "informationLink": "string",    "details": [      {        "field": "string",        "value": "string",        "location": "body",        "issue": "string",        "description": "string"      }    ],    "links": [      {        "href": "http://example.com",        "rel": "string",        "title": "string",        "targetMediaType": "string",        "targetSchema": null,        "method": "string",        "submissionMediaType": "application/json",        "submissionSchema": null      }    ]  },  "links": [    {      "href": "http://example.com",      "rel": "string",      "title": "string",      "targetMediaType": "string",      "targetSchema": null,      "method": "string",      "submissionMediaType": "application/json",      "submissionSchema": null    }  ],  "createdAt": "string",  "updatedAt": "string"}

Agent & Automation Notes

Scopesdomains.domain:read, domains.domain:create, domains.dns:update, domains.nameserver:update
Rate limit60 req/min per credential
On failureGET operations are safe to retry. POST registrations use Idempotency-Key. Poll async operations — do not resubmit.

Last updated on

How is this guide?