Skip to content
Coritan Docs

How domain registration works

What happens when you register or transfer a domain with Coritan, how prices are set, and what each registration status means.

View as Markdown

Coritan registers domains for you with each extension's registry, renews them and hands them over when you move them elsewhere. A domain you register or transfer here is a registration on your account. Its DNS can be hosted on Coritan or anywhere else, because the registration only says which nameservers answer for the domain.

Registration
Your right to a domain for the period you pay for, 1–10 years at a time, held through Coritan.
Registry
The organisation that runs a domain extension, such as .com. Coritan passes your changes to it.
Nameservers
The servers the registry sends resolvers to for the domain. A domain registered here starts on Coritan's nameservers, ns1.coritan.com to ns8.coritan.com.
EPP code
A secret the current registrar gives you so another registrar can take the domain over. It is also called an auth code.
Transfer lock
A registry setting that refuses transfer requests while it is on.

The dashboard shows a domain's price per year when you search for it. A premium domain has a price that its registry sets. View domain prices, in the Websites list's More website actions menu, lists what each extension costs per year to register, renew and transfer. A registration takes the price for the whole period from your account credit before Coritan registers the domain, and gives it back when the registration fails.

A new registration starts with the transfer lock and auto-renew on, and with WHOIS privacy on when you ask for it. The dashboard also offers to issue a certificate and to set up a web proxy for the domain. When either of those is on, Coritan creates the domain's DNS zone too. Register a domain describes each option.

The status appears beside the domain in the Websites list and on its Settings tab. The API sends these words:

Status Meaning
active The domain is registered and you can change its settings.
expiring_soon The domain expires in fewer than 30 days.
expired The registry reports the domain as expired.
pending_transfer You started a transfer to Coritan and it has not completed.

Coritan reads each registration back from its registry regularly, and updates its status, expiry date, nameservers and switches from what the registry holds. A change made at the registry shows in the dashboard after that read.

Important

Renewing, the switches, the nameservers and the EPP code all need the registration to be active. While it is expiring_soon, expired or pending_transfer, the dashboard cannot change them; contact support if you need to.

With auto-renew on, Coritan renews the domain for one year when it is within 14 days of its expiry date. With auto-renew off, Coritan emails you 30, 14, 7, 3 and 1 day before the domain expires. Renew a domain covers both.

Read registrations with the API

Section titled Read registrations with the API

List your registrations, newest first, with an access token (Authentication). The list takes page, per_page (25 by default, up to 100) and status, which keeps only registrations with that status word:

Shell
curl "https://api.coritan.com/api/v1/domains/registrations?status=active" \
  -H "Authorization: Bearer $CORITAN_TOKEN"
JSON
{
  "registrations": [
    {
      "id": 7,
      "domain": "example.com",
      "status": "active",
      "registered_at": "2026-09-16T10:04:00Z",
      "expires_at": "2027-09-16T10:04:00Z",
      "nameservers": ["ns1.coritan.com", "ns2.coritan.com"],
      "whois_privacy": true,
      "locked": true,
      "auto_renew": true,
      "dns_zone_id": 42,
      "proxy_route_id": null,
      "ssl_certificate_id": null
    }
  ],
  "total": 1
}

GET /api/v1/domains/registrations/{reg_id} returns one registration in the same shape, or 404 with Registration not found. GET /api/v1/domains/pricing returns the price list, one entry per extension, sorted by extension:

JSON
[
  {"tld": "com", "register_price": "14.99", "renew_price": "16.99", "transfer_price": "14.99", "currency": "USD"}
]

The figures in this example only show the shape. The endpoint returns the current prices, as strings, and transfer_price is null for an extension that has none.

API operations on this page

MethodPathWhat it does
GET/api/v1/domains/pricingGet available TLD pricing
GET/api/v1/domains/registrationsList user's domain registrations
GET/api/v1/domains/registrations/{reg_id}Get details of a specific domain registration