CustomDomain docs

Introduction

What CustomDomain is, the connect → secure → serve → monitor loop, and where to go next.

Custom-domain onboarding for multi-tenant SaaS — DNS auto-configuration, automatic SSL, and a reverse proxy, in one fully-managed platform. Let your customers point their own domain at your product in minutes, with a drop-in widget and a REST API.

What it does

  • Connect — a customer enters their domain; the engine detects their DNS provider and applies the records through the best available rail — OAuth into the provider, provider-hosted one-click setup, a scoped API token, or guided-manual — then watches propagation.
  • Secure — the edge issues a TLS certificate on demand during the handshake, but only for hostnames a live/propagating connection has authorized. (Certificates come from Let's Encrypt staging — not browser-trusted — until the edge is run with EDGE_ACME_PROD=1.)
  • Serve — the edge reverse-proxies the custom domain to your origin.
  • Monitor — webhooks, a developer console, usage metering, and DNS-drift detection keep you informed after go-live.

The two planes

Two independent planes share one database and talk over HTTP:

  • Connect plane (the control-plane) — the /v1 REST API, the connect rails, the propagation poller, quotas/metering, and webhooks.
  • Edge plane — on-demand TLS termination + reverse proxy, gated by a single internal ask call to the control-plane.

See Concepts for the full model.

Start here

If you want to…Read
Find your path (console · API · widget · MCP) and the truths they shareWhich path are you on?
Point your own domain at your app, no codeConsole
Provision domains from your serverAPI
Let your customers connect their domains in your UIWidget
Drive it from an agentMCP
Run the stack yourselfSelf-hosted quickstart
Understand connections, rails, and statusConcepts
Authenticate API calls and the widgetAuthentication
Embed the connect modalThe widget SDK
Add email records / merge SPF safelyEmail DNS
Call the APIAPI Reference
React to eventsWebhooks
See which DNS providers auto-configureDNS providers
Buy a brand-new domainBuying a domain
Understand the security modelSecurity
Configure plans and quotasPlans & quotas
Look up enums, env vars, error codesReference
Fix a stuck connectionTroubleshooting
Let an AI agent act on your domainsAgent access

For AI agents

A machine-readable index of this documentation is at /docs/llms.txt: every page, with its title, URL and description, so an agent can fetch exactly the page it needs. A site-root copy is served at /llms.txt. There is no full-text bundle and no per-page raw-Markdown route today; earlier revisions of this page advertised /docs/llms-full.txt and /llms/<page-slug>, and both return 404.

Agents can also drive the product directly through the hosted MCP server at https://mcp.customdomain.ai/mcp — twelve tools for searching, buying, and connecting domains. A human owner can also delegate scoped, revocable access to an agent via OAuth; see Agent accessnot yet enabled on the hosted service.

On this page