Custom Domain

Changelog

How the product and API change over time.

Customdomain doesn't yet cut numbered releases — the main branch is the running state of the product, and the API is versioned separately (below). For the authoritative, line-by-line history, see the commit history on GitHub.

API versioning policy

The public API is versioned by URI major (/v1) and is additive-only within a version — new optional fields and endpoints can appear, but existing fields never change meaning or disappear without a new major version. See the API reference for the current surface.

Notable milestones

  • Four connect rails — OAuth into the DNS provider (flagship), Domain Connect (sync + async), BYO API-token apply, and guided-manual, all converging on the same pending → propagating → live lifecycle.
  • Broad DNS auto-write fleet — 38 built-in provider adapters (Cloudflare, Route 53, Google Cloud DNS, Azure DNS, GoDaddy, Namecheap, and many more) plus a full parity census that routes ~63 target providers to their working mode, and Domain Connect for tokenless applies.
  • Embeddable widget/SDKcustomdomain-js, window.customdomain, the customdomain:* events, ~90-token white-label theming, and embedded mode.
  • Signed webhooks — HMAC-SHA256 deliveries with a replay window, retries, and a delivery log at GET /v1/webhook-deliveries.
  • Billing & metering — a Stripe-backed plan catalog with metered domain usage and overage on the Growth tier.
  • This documentation site — a proper information architecture with a generated, always-in-sync API reference (see how it stays in sync).

On this page