Skip to content
Coritan Docs

Add a domain you already own

Host the DNS for a domain registered elsewhere on Coritan, then point the domain's nameservers here.

View as Markdown

Add a domain registered with another registrar when you want Coritan to host its DNS. Coritan creates a DNS zone for the domain, and the registration stays where it is. Once you set Coritan's nameservers at your registrar, the zone's records answer for the domain. To move the registration to Coritan as well, transfer the domain.

  • Make sure you can change the domain's nameservers at its current registrar.
  • Write down the records the domain uses today, such as its website address, its mail servers and any verification TXT records. Add them to the new zone before you change the nameservers, or the domain stops resolving until you do. If your current DNS provider can export a BIND zone file, you can import it.
  1. In the dashboard, go to Domain Management and select Add a website. The Add a website page asks Do you have a domain? Choose Use a domain I already have. The More website actions menu has Add existing domain…, which opens the same page with that choice made. The page has the address /dashboard/websites/new, and ?mode=existing makes the choice for you.
  2. Enter the Domain name, such as example.com, and select Add domain. A problem with the name shows under the field, and a refusal from the platform shows above the buttons as Could not add the domain. Your entry stays in the field.
  3. The page, now titled Point your domain here, lists the nameservers to set at your registrar. Copy them. Done goes back to the list you came from.
  4. Select Open DNS to go to the zone's DNS tab, and add the records the domain needs. Add, edit and delete DNS records explains the form.
  5. At your registrar, replace the domain's nameservers with Coritan's.

Note

The page lists two nameservers. The zone's NS records, at @ on its DNS tab, list every Coritan nameserver (ns1.coritan.com to ns8.coritan.com), and you can give your registrar the full set.

The domain appears in the Domain Management list as DNS hosted here. Coritan signs the new zone with DNSSEC from the start; Set up DNSSEC explains the step left at your registrar.

The switch happens once your registrar publishes the new nameservers, and resolvers keep the old ones until their cached answers expire. Check the delegation from a terminal:

Shell
dig NS example.com +short

When the answer lists Coritan's nameservers, the zone is live. The domain's Overview tab then starts to count queries (View DNS query statistics).

The Nameservers card at the bottom of the domain's DNS tab lists Coritan's nameservers, each with a copy button, and asks the registry which nameservers it lists for the domain. Coritan asks the registry's own nameservers, so the answer does not wait for resolvers' caches. The card shows one of:

  • Active: every nameserver the registry lists is Coritan's, and the zone's records answer for the domain.
  • Partly set: only some are. Resolvers that ask the others get that provider's answers, so remove those at your registrar.
  • Pending: the registry does not list Coritan's nameservers yet.
  • Not registered: the registry says the domain does not exist. Check that its registration is active.
  • Unknown: none of the registry's nameservers answered. Try again in a minute.

A nameserver of your own name, such as ns1.example.com, counts as Coritan's when every address it has is one of Coritan's nameservers' addresses. For anything but Active, the card also shows Listed by the registry, each name marked Ours or Not ours. For Partly set, Pending and Not registered, a banner at the top of the DNS tab says so too, with Show nameservers.

The card keeps an answer for two minutes. After you change the nameservers at your registrar, select Check nameservers to ask again. When a domain registered with Coritan is not Active, the card links to its Settings tab, where you change its nameservers.

Enter a domain, such as example.com.
The dashboard could not read the name as a domain. Enter the bare domain, without https:// or a path.
Domain already registered
A DNS zone for this domain already exists on Coritan. If it is yours, it is in your Domain Management list. If another account holds it, contact support.
This domain is reserved by the platform
The domain is one of Coritan's own, or a name under one. For a name under coritan.gg, claim a free name instead.
Conflicts with the existing zone example.com, which belongs to another account
Another account hosts a zone that contains your domain, or a zone inside it. Coritan refuses zones that overlap across accounts.
Zone limit reached (100)
The account hosts as many zones as it may. Delete a zone you no longer use.

Create the zone with an access token (Authentication). The body takes one field, domain:

Shell
curl -X POST https://api.coritan.com/api/v1/dns/zones \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com"}'

The answer is 201 with the zone. Keep its id: every other DNS call names the zone by it.

JSON
{
  "id": 42,
  "domain": "example.com",
  "status": "active",
  "dnssec_enabled": true,
  "serial": 2026092501,
  "soa_email": "hostmaster",
  "record_count": 8
}

The zone starts with its NS records, one for each Coritan nameserver. List your zones, sorted by domain, with GET /api/v1/dns/zones. It returns 25 zones a page by default; per_page takes up to 100, and page counts from 1.

Shell
curl "https://api.coritan.com/api/v1/dns/zones?per_page=100" \
  -H "Authorization: Bearer $CORITAN_TOKEN"

Once you have changed the nameservers at your registrar, ask whether the zone above the domain lists Coritan's:

Shell
curl https://api.coritan.com/api/v1/dns/zones/42/delegation \
  -H "Authorization: Bearer $CORITAN_TOKEN"
JSON
{
  "domain": "example.com",
  "status": "active",
  "expected": ["ns1.coritan.com", "ns2.coritan.com", "ns3.coritan.com"],
  "found": ["ns1.coritan.com", "ns2.coritan.com"],
  "ours": ["ns1.coritan.com", "ns2.coritan.com"],
  "checked_at": "2026-10-03T20:00:00Z"
}

Coritan asks the nameservers of the zone above the domain (the registry, for a registered domain) which nameservers they hand out for it, so the answer does not wait for any cache. found lists them, expected lists Coritan's, and ours lists those in found that count as Coritan's, by name or, for a nameserver of your own name, by address. status is one of:

active
Every nameserver in found is Coritan's. Resolvers reach the zone.
mixed
Only some are. A resolver that picks one of the others gets that provider's answers, so remove them at your registrar.
pending
None are, or the registry lists none. The zone does not answer for the domain yet.
unregistered
The zone above says the domain does not exist. Check that the registration is active.
unknown
No nameserver answered. Try again in a minute.

Coritan reuses an answer for two minutes. Add ?fresh=true to ask again; a zone takes 20 such checks in 10 minutes, then answers 429.

API operations on this page

MethodPathWhat it does
POST/api/v1/dns/zonesCreate zone
GET/api/v1/dns/zonesList zones
GET/api/v1/dns/zones/{zone_id}/delegationGet zone delegation