Skip to content
UseWait Docs
Esc
navigateopen⌘Jpreview
On this page

Custom domains

Connect a custom domain to a waitlist over the API, including the DNS record to relay to the domain owner.

Waitlists on plans with the custom-domain capability can serve from your own domain (for example waitlist.example.com) instead of usewait.com/w/<slug>. The API performs the whole UseWait-side setup: DNS verification, serving configuration, and automatic SSL. The only step it cannot do is edit your DNS zone; the response tells you (or your agent tells the user) exactly which record to create.

The flow

Get the DNS record

curl "https://usewait.com/api/v1/waitlists/acme-robotics/domain?check=waitlist.example.com" \
  -H "Authorization: Bearer uw_live_YOUR_KEY"

The response includes the record to create and a live DNS pre-check of the candidate domain:

{
  "domain": null,
  "domainStatus": null,
  "planAllowsCustomDomain": true,
  "instructions": {
    "expectedIP": "203.0.113.10",
    "record": {
      "type": "A",
      "host": "waitlist.example.com",
      "value": "203.0.113.10",
      "note": "Create this A record at your DNS provider..."
    }
  },
  "check": {
    "domain": "waitlist.example.com",
    "dnsValid": false,
    "currentIP": null,
    "expectedIP": "203.0.113.10",
    "error": "Domain not found. Please add an A record pointing to our server."
  }
}

Create the A record

At the DNS provider, point the domain at expectedIP: host @ for an apex domain, or the subdomain label (for example waitlist) otherwise. Remove conflicting A/AAAA/CNAME records. Propagation usually takes a few minutes.

Run the setup

curl -X POST https://usewait.com/api/v1/waitlists/acme-robotics/domain \
  -H "Authorization: Bearer uw_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "domain": "waitlist.example.com" }'

On success (200) the domain is active and the SSL certificate is issued automatically. If DNS is not pointing yet, the response is 422 with the same instructions block; wait for propagation and call it again.

Disconnect

curl -X DELETE https://usewait.com/api/v1/waitlists/acme-robotics/domain \
  -H "Authorization: Bearer uw_live_YOUR_KEY"

The usewait.com/w/<slug> URL keeps working throughout; a custom domain is an addition, not a replacement.

Notes

  • Requires a plan with the custom-domain capability; other requests return 403.
  • A domain can be attached to only one waitlist at a time; conflicts return 409.
  • A failed setup never leaves the domain half-configured: state resets and you simply retry.

Was this page helpful?