Skip to main content
Direct integration means you build the UI (search results, purchase forms, DNS record tables) and call Dotlet’s API from your backend to power it. You have full control over every screen; Dotlet just handles the registrar, DNS, and routing work behind it. Choose this path if you need the domain flow to look and behave exactly like the rest of your product, or if you need to fold it into an existing multi-step onboarding flow rather than dropping in a separate screen.
Want something working today with minimal UI work? See Hosted checkout instead; one backend endpoint plus an iframe, and Dotlet’s hosted UI does the rest.

What you build vs. what Dotlet handles

All calls in this guide go through your backend, never call these endpoints from the browser, since they require your Dotlet API key.

1. Search and check availability

Search by keyword to show a list of suggestions, or check one exact domain.

2. Register the domain

Collect registrant contact details in your own form, then submit the purchase.
Check success on the response before treating the purchase as complete, a 200 with success: false means the request was valid but the registrar-side action failed (for example, insufficient funds). See Errors for this pattern.

3. Store the mapping to your own customer

Dotlet doesn’t know which of your customers a domain belongs to — that mapping lives in your own database. When a purchase succeeds, store the domain and order_id from the response against the customer or account record that requested it.

4. Route the domain to your platform

Once a customer owns a domain, you need traffic for it to reach your platform; this is what an origin rule does. Create one and point it at the tenant’s subdomain on your platform:
The response returns the rule’s own id, the domain_id it belongs to, a status (pending, active, or failed), and whether it’s currently enabled:
Once the rule is created, enable it to start routing traffic:
cURL

5. Manage DNS records

For anything beyond the origin rule (custom subdomains, MX records for customer email, TXT records for verification) manage DNS records directly.
Listing records accepts either an API key or a bearer token. Creating, reading a single record, updating, deleting, and syncing currently accept an API key only. See Authentication for the full breakdown.
See Manage DNS records for the full create/update/delete/sync flow.

Next steps

Hosted checkout

Compare against the lower-effort iframe-based path.

API Reference

Full parameter and response details for every endpoint used above.