Custom domains
Published pages normally serve from Erdo’s pages host. A custom domain puts them on a hostname you own instead —pages.acme.com rather than pages.erdo.ai — via a single CNAME record. The
domain belongs to your organization, not to one page: once active, every public page the org
publishes is reachable on it, and share links are built on it automatically.
How a domain goes live
- Register the domain. Use a direct subdomain of a domain you control (e.g.
pages.acme.com— a root domain can’t carry the CNAME). Registration returns the DNS records to create. - Create the DNS records. A routing CNAME pointing at Erdo’s pages host, plus a one-time
_acme-challengedelegation CNAME so certificates can issue and renew without you ever touching DNS again. - Wait for validation. Erdo re-checks the domain continuously: ownership is verified from the routing CNAME, then a certificate is issued, then the domain starts serving.
status tells you exactly where it is in that walk:
Status is read from the same record the page-serving path uses — never a cached copy that can
drift — and
last_checked_at says when it was last reconciled, so a domain that has sat in
pending_cert for a month is visible for exactly what it is.
API
All endpoints act on the caller’s organization and require an org admin. Domains are addressed by the domain name itself — a name registered to another organization answers404, with no hint
that it exists.
List the org’s domains with live status:
dns_records — the records to create):
erdo pages domains list | add <domain> | remove <domain> | transfer <domain> <org>.
The MCP tool erdo_list_custom_domains gives agents the same read; mutations are deliberately
REST/CLI-only.
Moving a domain between organizations
When a customer’s pages are rebuilt in a new organization — a tenant migration, a portal cutover — the branded hostname has to start serving the new org’s pages. Deleting and re-registering it would tear down its CDN hostname and force certificate re-issuance: a visible outage on a live domain. Transfer avoids that entirely:Scope and limits
- Domains must be direct subdomains (
pages.acme.com, notacme.comorpages.team.acme.com). - A domain can be registered to one organization at a time, platform-wide.
- Each organization can hold up to 25 custom domains.
- Registration, validation, and certificate mechanics are platform-owned — you only ever create the DNS records the API hands you.

