Custom domains
By default Elido serves redirects from a tier-isolated host
(f.elido.me, s.elido.me, b.elido.me). On Starter and above
you can attach your own apex or subdomain and short links resolve
through it instead — go.example.com/Ab3xQ rather than
s.elido.me/Ab3xQ.
TLS certificates are issued automatically by Caddy on-demand TLS: the first request for a verified hostname triggers an ACME order against Let’s Encrypt and the cert lands in cache before the response returns. You don’t manage cert renewal.
Add a domain
From Settings → Domains → Add domain, enter the hostname.
| Field | Notes |
|---|---|
hostname | Apex (example.com), subdomain (go.example.com), or wildcard (*.example.com). |
is_wildcard | Set when the hostname starts with *.. |
The dashboard returns two DNS records to add at your registrar:
# Ownership proof
_elido-verify.example.com. TXT "verify=<token>"
# Traffic
go.example.com. CNAME edge.elido.me.For a wildcard the CNAME is *.example.com CNAME edge.elido.me.
and the TXT lives at _elido-verify.example.com (parent, not the
wildcard label).
Verification states
A background worker re-checks DNS every 30 seconds for up to 24 hours. The status field on the domain transitions through:
| Status | Meaning |
|---|---|
pending | TXT/CNAME not yet observed at the resolver |
verified | DNS matches; Caddy is allowed to issue a cert |
active | First TLS handshake completed; the domain is live |
failed | 24-hour window elapsed without a match (delete and retry) |
GET /v1/workspaces/{workspace_id}/domains returns the live status of
every hostname in the workspace.
Wildcard subdomains
A wildcard registration (*.example.com) lets you create per-customer
short hosts on the fly — acme.example.com/promo, globex.example.com/promo —
without touching DNS for each tenant. Every label that resolves to the
wildcard CNAME goes through the same cert and the same workspace.
The redirect path checks for an exact match first; if none exists, it falls back to the registered wildcard parent. A wildcard does not override an explicit subdomain registration in the same workspace.
Universal Links / App Links
Each verified domain can host the App-association files browsers and mobile OSes look for when deciding whether to open an installed app instead of the browser. Update them via:
curl -X PATCH \
https://api.elido.app/v1/workspaces/1/domains/42/app-links \
-H "Authorization: Bearer $ELIDO_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"apple_app_site_association": { "applinks": { "apps": [], "details": [...] } },
"android_assetlinks": [ { "relation": ["delegate_permission/common.handle_all_urls"], "target": {...} } ]
}'Elido serves them at the standard locations:
https://go.example.com/.well-known/apple-app-site-associationhttps://go.example.com/.well-known/assetlinks.json
See Deep links for how this combines with smart-link OS targeting.
When to use what
- Subdomain (
go.example.com) — the default. Trivial DNS, works on any tier. - Apex (
example.com) — supported but requires ALIAS / ANAME at a registrar that allows it (Cloudflare, Route 53, Namecheap, etc.). - Wildcard — multi-tenant SaaS or campaign tooling that mints per-client subdomains. Business plan only.