Documentation menu

Set domain nameservers

PUThttps://api.instacloud.com/orgs/{orgId}/domains/{domainName}/nameservers

Token scope: account · org — read-only tokens refused (not a GET).

Delegate the domain to other nameservers (Cloudflare, Route 53, your own). They must already host the zone — some registries check before accepting the change. EVERY hostname this domain serves goes down with the move, because the records an attach published live in the registrar's zone: the answer marks them failed and names why. While the domain is delegated, attaching a hostname is refused for the same reason. (admin+)

Parameters

NameInTypeRequiredDescription
orgIdpathstringyes
domainNamepathstringyes

Request body

application/json

FieldTypeRequiredDescription
nameserversstring[]yeshostnames, in order; at least one

Responses

200

Default Response

FieldTypeRequiredDescription
domainNamestringyes
status"registered" | "attaching" | "active" | "attach_failed" | "detached"yesdetached: every service its hostnames named is gone — attach it again
hostnamesobject[]yes
hostnames.hostnamestringyes
hostnames.state"pending" | "attached" | "active" | "failed"yes
hostnames.reasonstringno
hostnames.servicestring | nullyesthe compute service this hostname serves; each hostname of a domain can serve a different one
registeredAtstring | nullyes
expiresAtstring | nullyes
autorenewbooleanyes
privacybooleanyes
lockedbooleanyesthe registrar transfer lock: while it is on, no other registrar can pull the domain away. Turn it off to move the domain out. What the last write reported, or what registration asked for — nothing reads it back
nameserversstring[]yeswhat the registrar holds. Empty means never written — only a nameserver write fills it in
delegatedbooleanyesthe zone is answered by nameservers InstaCloud cannot write to (custody `foreign`), so nothing published resolves and an attach is refused. A MANAGED delegation reads false: the platform still publishes there
custody"registrar" | "managed" | "foreign"yeswho answers the domain's zone: the registrar's own nameservers, a managed InstaCloud zone (delegated, still platform-published), or somewhere the platform cannot write
transferLockExpiresAtstring | nullyesICANN 60-day lock after registration: no transfer out before this, whatever `locked` says
orderIdstring | nullyes

400

the registrar refused them — with its own sentence

FieldTypeRequiredDescription
errorstringyes

403

Default Response

FieldTypeRequiredDescription
errorstringyes

404

Default Response

FieldTypeRequiredDescription
errorstringyes

502

Default Response

FieldTypeRequiredDescription
errorstringyes

503

Default Response

FieldTypeRequiredDescription
errorstringyes

View as Markdown