Custom Domains
Connect your own apex or www domain: verify ownership with a TXT record, point DNS at Airogel, and get HTTPS automatically.
Overview
Every site is available right away at its own platform address, <subdomain>.airogelcms.com. You can also serve the site from domains you own, either a subdomain like www.acme.com or an apex (root) domain like acme.com. Airogel CMS hosts the site and handles HTTPS for you. All you need to do is add two kinds of DNS records at your DNS provider: one to prove you own the domain, and one to send traffic to Airogel.
Before you start
- Only account admins can manage domains.
- You'll need access to the DNS settings for your domain, at your registrar or DNS host (for example Cloudflare, Route 53, Namecheap or GoDaddy).
- Each hostname can belong to only one Airogel account. Enter hostnames in lowercase with no trailing dot. Internationalized domains must be entered in punycode (
xn--…) form. - Domains are managed in the dashboard or over MCP. The REST API has no domain endpoints.
Step 1: Add the domain
Dashboard: go to Settings → Domains, add the domain, and leave Use for website checked. Check Use for email only if you also want to send email from this domain.
MCP: call domains_save.
{
"account_id": "acct_XXXXXXXX",
"domain": "acme.com",
"website_usage": true,
"email_usage": false
}
website_usage defaults to true and email_usage defaults to false. The response includes the new domain's ID (domain_…). Call domains_get to see the verification record to add.
Step 2: Prove ownership with a TXT record
Add a TXT record at the hostname you added:
| Type | Name / Host | Value |
|---|---|---|
| TXT | @ for an apex domain (acme.com), or the subdomain label (www) for www.acme.com | airogel-verify=<domain_id> |
For example, airogel-verify=domain_AbC123xYz. The dashboard shows the exact value in the TXT Record column (click to copy), and domains_get returns it too. A TTL of 3600 is fine.
Ownership is checked once. After a domain is verified, it stays verified even if you later remove the TXT record.
Step 3: Verify
- Dashboard: click Verify next to the domain on Settings → Domains.
- MCP: call
domains_verifywithverify_ownership: true(this is the default for a domain that isn't verified yet).
{
"account_id": "acct_XXXXXXXX",
"identifier": "acme.com",
"verify_ownership": true
}
If the record isn't found yet, wait and try again. DNS changes can take anywhere from a few minutes to 48 hours to propagate. You can check what's published with dig acme.com TXT.
Step 4: Point the domain at Airogel
| Hostname | Type | Name / Host | Value |
|---|---|---|---|
Apex, e.g. acme.com | A | @ | 147.135.15.33 |
Subdomain, e.g. www.acme.com | CNAME | www | app.airogelcms.com |
- Don't put a CNAME on an apex domain. Standard DNS doesn't allow it, so use the A record.
- DNS doesn't allow a CNAME and a TXT record on the same name. For a subdomain, verify first (Step 3), then delete the TXT record and add the CNAME. You can also use an A record to
147.135.15.33for the subdomain, since A and TXT records can coexist. - Remove any old A, AAAA or CNAME records for the same name that point somewhere else.
HTTPS
You don't need to buy, upload or renew a certificate. Once the domain is verified and its DNS points at Airogel, a TLS certificate is issued and renewed automatically. The first HTTPS request can take a moment while the certificate is issued.
To check the setup from MCP, call domains_verify with verify_website: true. It confirms the domain resolves to Airogel and requests the certificate, or returns the record you still need to add. domains_get lists that record too: an A record for an apex domain, a CNAME for a subdomain.
Serving one site from apex and www
To make both acme.com and www.acme.com work, add and verify both domains. Then choose one as the main address and redirect the other one to it:
- Dashboard: open the domain you want to redirect and choose the target under Redirect this domain to.
- MCP: call
domains_savewithredirect_to_idset to the target'sdomain_…ID. Pass""to remove the redirect.
Both domains need to be verified and pointed at Airogel. The redirect target must be a verified domain with website use turned on. The path and query string are kept (acme.com/blog?x=1 goes to www.acme.com/blog?x=1), and the redirect is permanent (HTTP 301), so search engines move the old address's ranking to the main one.
Email DNS (optional)
If Use for email (email_usage) is on, you can also set up the domain to send and receive email. After the domain is verified, click Configure DNS To Send Emails on the domain page, or call domains_verify with verify_email: true. The domain page and domains_get then list the records to add:
| Purpose | Type | Name | Value |
|---|---|---|---|
| DKIM signing (usually three records) | CNAME | <token>._domainkey.acme.com | <token>.dkim.amazonses.com |
| DMARC | TXT | _dmarc.acme.com | v=DMARC1; p=none; |
| Inbound mail | MX | acme.com | inbound-smtp.us-east-1.amazonaws.com (priority 10) |
Use the exact token values shown for your domain. If you already receive email at this domain through another provider, such as Google Workspace or Microsoft 365, adding the MX record will send incoming mail to Airogel instead, so check your email setup before you add it.
Removing a domain
- Deactivate (dashboard) or
domains_deletewith no options: the site stops answering on that hostname, but the domain stays in your list. To turn it back on, verify it again (the TXT record must be in place). - Delete (dashboard) or
domains_deletewithpermanent: true: the domain is removed completely.
After you remove a domain, delete its DNS records at your provider too. Your <subdomain>.airogelcms.com address keeps working either way.
Troubleshooting
- "TXT record not found": make sure the record is on the exact hostname you added and that the value includes the
airogel-verify=prefix. Then wait for propagation and try again. - "is already registered to another account": the hostname is claimed by a different Airogel account. Remove it there first, or contact support.
- Site not loading on the domain: check that the domain shows as verified and has website use turned on, and that
dig acme.com Areturns147.135.15.33(or thatwwwresolves throughapp.airogelcms.com). - Still stuck? Email support@airogelcms.com.
Related
- MCP Integration: the
domains_*tools - Routing: paths and redirects within a site