Domains
A domain is a host you connect through this API and route API links through. Connect it, set two DNS records, and verification flips on its own. Links can go onto it before that — they wait, staged, and go live with the domain.
/v1/domainsConnect a domain
Returns the two DNS records to set — copy the values exactly as returned. Status starts at pending_dns and flips automatically — see below. You can create links on it right away; they are staged until it is active.
hoststringREQUIREDThe fully-qualified host, e.g. go.example.com.
/v1/domainsList domains
Every domain connected through this API, with status and link count. links tells you what a disconnect would break; staged_links counts the links still waiting for the domain to go active (0 once it is).
/v1/domains/{id}Retrieve a domain
One domain, the same shape as a list entry. Poll it during a migration: staged_links is how many imported links are waiting on DNS.
How verification flips
We re-check DNS every minute; status turns active once both records resolve and the certificate is issued. It is polling, not a callback — nothing to expose on your side; outbound webhooks are roadmap, dated on their own page. Staged links need nothing either: they were already loaded into routing, so they answer as soon as the domain does.
NO ACTION NEEDED AFTER THE RECORDS ARE SET — THE FLIP IS AUTOMATIC
/v1/domains/{id}Disconnect a domain
Refused with 409 domain_in_use while links still resolve on the host. Move or delete them first, or force it and accept the breakage consciously.
forcebooleanQuery param. Deletes the links on the host (slugs quarantined 30 days), then disconnects.