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.
- Open the page in the dashboard and click Domain.
- Enter your hostname and save.
- Add the returned DNS record (usually a CNAME to
cname.vercel-dns.com). - 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/domainsreassigns 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.inand*.staging.htmldrop.inpointed at Vercel - Env vars:
VERCEL_TOKEN,VERCEL_PROJECT_ID, optionalVERCEL_TEAM_ID - Migration
010_custom_domains.sqlapplied on Supabase - Daily cron:
/api/cron/domain-verify(01:00 UTC)