Skip to content

Change nameserver delegation (vanity sets or back to regfish)

PUT /domains/{domain}/nameservers

Operation ID: PutNameserversByDomain

Delegates the domain to one of the account’s vanity nameserver sets (vanity_set_id), or moves it to the regfish standard nameservers (vanity_set_id: null). Free-form nameservers are intentionally NOT supported on this endpoint; a delegation to external nameservers must be set up in the regfish dash.

vanity_set_id: null works from every starting point:

  • From a vanity set: always possible, the hosted zone stays as it is.
  • From external nameservers: possible when the TLD charges no fee for a nameserver change. If regfish holds no DNS zone for the domain yet, it is created with the regfish NS records only; create your records right away (POST /dns/rr), they are served as soon as the registry has switched the delegation. A TLD that charges for the change answers 409 with a link to the regfish dash, where the fee is shown and confirmed; the API never bills it. An active or changing DNSSEC setup also answers 409: disable DNSSEC first.
  • Already on the regfish nameservers: idempotent; a missing zone is created, nothing is sent to the registry.

Guarded by the Domain-Guardian (ns_change rule class), domain status checks (pending transfer, cancellation) and two daily change limits: 5 changes per domain and 50 changes per account, both counted across all of your API keys and OAuth clients. Issuing another credential does not raise either limit.

NameTypeRequiredDescription
domainfqdn_relaxedyes

nameserversUpdateRequest

FieldTypeRequiredDescription
vanity_set_idintegeryesId of one of the account’s vanity nameserver sets, or null to move the domain to the regfish standard nameservers (also from external nameservers, see the endpoint description). Free-form nameservers are not supported on this endpoint.
StatusTypeDescription
200nameserversResponseDelegation after the change
401ErrorUnauthorized
403ErrorBlocked by the Domain-Guardian
404ErrorDomain or vanity set not found
409ErrorDomain state or plan does not allow the change
429ErrorDaily change limit reached
500ErrorUnexpected error
FieldTypeRequiredDescription
successbooleanyesSuccess indicator
codeintegernoResponse/Error Code
responsenameserversResponseno
Terminal window
curl -X PUT "https://api.regfish.com/domains/<domain>/nameservers" \
-H "x-api-key: $REGFISH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"vanity_set_id": 0
}'

Fill in values: the call below updates as you type. Nothing is sent: the API does not currently allow browser requests from this domain (CORS). The API key is not stored.