Support becomes the state machine.
- A customer sends a hostname.
- Engineering checks DNS manually.
- Certificate and proxy failures look identical.
- Renewal incidents return months later.
Let customers launch a branded portal, workspace or storefront on a customer domain they control. Your team owns the experience; subdomain.to operates DNS verification, certificate issuance and routing.
These guides share one domain lifecycle, then focus on a different product decision.
The customer sees a hostname field. Your team otherwise has to coordinate DNS ownership, certificate issuance and edge routing — then explain which one is blocking activation.
Each state gives the customer a concrete next action instead of an open-ended “pending” message.
Send the customer-owned hostname after your authorization checks.
pending_dnsShow the returned CNAME for a subdomain or A record for an apex.
pending_dnsPoll GET /domains/{id} while ownership and configuration are checked.
validatingDNS is accepted; certificate issuance and routing setup are progressing.
provisioningShow the branded URL only after the domain status becomes active.
activeThe main sequence is pending_dns → validating → provisioning → active. Exception states are explicit: misconfigured, failed, suspended and deleting. DNS, certificate and routing statuses remain separately inspectable.
The integration does not replace your tenant model or authorization. It removes the infrastructure your product should not have to operate.
Create customer domains from trusted application code. Store the returned identifier, poll GET /domains/{id} for activation and use webhooks only for hostname.created and hostname.deleting.
curl https://api.subdomain.to/v1/domains \
-H "Authorization: Bearer $API_KEY" \
-H "Idempotency-Key: acme-portal" \
-d '{
"hostname": "portal.acme.eu"
}'No. They add the record at their current DNS provider. Your UI should show the exact name and value returned for that domain.
Show DNS, certificate and routing statuses separately, plus the expected record. That tells support whether the customer must act or the infrastructure is still progressing.
No. Your application remains responsible for resolving the registered hostname to the correct tenant and enforcing access.
The certificate lifecycle and route remain managed. Your product should poll the customer-domain resource when it needs the current lifecycle status; creation and deletion webhooks do not replace that polling.