Browse docs

Custom domains

Register a hostname per workspace, point DNS and TLS at your deployment, then mark the row verified so middleware can rewrite to /s/[slug].

Registration

Pro workspaces can POST /api/workspace/custom-domains with { "host": "go.example.com" } (Clerk session). The row is stored with verified = false.

Dashboard includes a simple form that calls the same API.

DNS and TLS

  • Point the hostname to your hosting (e.g. CNAME to Vercel project).
  • Issue TLS for that hostname in your provider (Vercel Domains UI).

Verification flag

Middleware only rewrites requests when custom_domains.verified is true for the request Host. Until an automated check ships, set verified to true in the database after you confirm DNS and TLS work.

Rewrite behavior

For a verified host, a request to https://go.example.com/promo (single path segment) is internally rewritten to /s/promo on the same deployment. Reserved single-segment paths (e.g. api, dashboard) are not rewritten.

Canonical app host continues to serve /s/[slug] as usual.

Related

Deployment, Architecture.