Custom domains

Attach your own domain to a hosted drop with automatic SSL on Pro and Business plans.

Last updated July 25, 2026

Default URLs

Every drop gets a subdomain URL:

  • Production: https://your-slug.htmldrop.in
  • Staging: https://your-slug.staging.htmldrop.in

Legacy path URLs (/p/your-slug) permanently redirect to the subdomain.

Custom domains (Pro+)

Attach a domain such as portfolio.example.com to a single page.

  1. Open the page in the dashboard and click Domain.
  2. Enter your hostname and save.
  3. Add the returned DNS record (usually a CNAME to cname.vercel-dns.com).
  4. Wait for verification — SSL is provisioned automatically once DNS is correct.

API

# Attach
curl -X POST https://htmldrop.in/api/v1/pages/my-slug/domain \
  -H "Authorization: Bearer hd_live_…" \
  -H "Content-Type: application/json" \
  -d '{"hostname":"portfolio.example.com"}'

# Status
curl https://htmldrop.in/api/v1/pages/my-slug/domain \
  -H "Authorization: Bearer hd_live_…"

# Remove
curl -X DELETE https://htmldrop.in/api/v1/pages/my-slug/domain \
  -H "Authorization: Bearer hd_live_…"

Multi-domain inventory (Business)

Business accounts can attach up to 10 custom domains across pages.

  • Settings → Custom domains lists all domains and verification status.
  • PATCH /api/domains reassigns a domain to another owned page (domainId, pageId).

Slug editing

Starter+ users can rename a slug after publish from the page Settings panel or via API:

curl -X PATCH https://htmldrop.in/api/v1/pages/old-slug \
  -H "Authorization: Bearer hd_live_…" \
  -H "Content-Type: application/json" \
  -d '{"newSlug":"new-slug"}'

If a slug is taken, the API returns a suggestion such as new-slug-2.

Ops checklist

  • Wildcard DNS: *.htmldrop.in and *.staging.htmldrop.in pointed at Vercel
  • Env vars: VERCEL_TOKEN, VERCEL_PROJECT_ID, optional VERCEL_TEAM_ID
  • Migration 010_custom_domains.sql applied on Supabase
  • Daily cron: /api/cron/domain-verify (01:00 UTC)