Skip to main content

Reseller Quickstart MVP Flow (Search → Register → Manage)

This guide is for new domain resellers who want to sell domains on their own site with a complete, clean MVP from domain discovery through domain management.
This is a recommended MVP flow to get up and running quickly — not a requirement. The goal of the name.com Core API is to provide flexibility so you can build the domain purchase and management UX that fits your product. We encourage you to get creative, and we’d love your feedback on what would make your UX and developer experience better: name.com API feedback.

What you’ll implement (MVP)

  • Domain purchase: search → pre-registration checks → registration
  • Domain dashboard: list domains + basic status
  • Domain management: DNS records, nameservers, domain contacts, contact verification, renewals, WHOIS privacy
Flow stages: Discovery Registration Management

Before you start

You’ll move faster if you skim these first:

Step 1: Build the search UX

Discovery Use Search to show purchasable options + pricing: POST /core/v1/domains:searchSearch UX recommendations
  • Show purchase price and renewal price from the API result.
  • Mark premium domains clearly (pricing confirmation is required at purchase time for premium domains).

Step 2: Pre-checks at checkout (prevents failed purchases)

Registration At checkout time (right before you call Create Domain, which is the billable registration action), do these checks: Recommended check
  • Use Check Availability to confirm the domain is still purchasable + capture purchasePrice & purchaseType:
    • POST /core/v1/domains:checkAvailabilityCheck Availability
    • Search results are a great UX starting point, but availability can change. This is a good safeguard if a user adds a domain to cart and waits, or it gets registered elsewhere between search and purchase. It also gives you the definitive purchasePrice & purchaseType to pass into create (required for premium domains).
Not required for Quickstart, but good to add when you’re ready:
Quickstart constraint: only support purchaseType = registration at first (avoid complex cases like aftermarket/pre-order flows). If Check Availability returns a different purchaseType, treat it as “not supported yet” in your UI.

Step 3: Register the domain (idempotent checkout)

Registration Use Create Domain to register (billable): POST /core/v1/domainsCreate Domain
Always send an X-Idempotency-Key on create so retrying a timed-out request doesn’t double-purchase.
Recommended create defaults for a good MVP UX
  • autorenewEnabled: true (reduces churn/support)
  • locked: true (safer default; can be toggled later). Note: new registrations are transfer-locked for 60 days by default, regardless.
  • privacyEnabled: true (the system will only add privacy for TLDs that support it, even if you always pass true)
  • years: most domains support purchasing up to 10 years at registration time (great for customers who want to lock in pricing and reduce renewal overhead)
  • Contacts (recommended for Quickstart): set the reseller (you) as the domain contacts to move fast. Our system defaults to your account level contacts on a domain create call if contact data is not passed. Using end-customer contacts is possible, but typically requires additional setup (e.g., whitelabeled contact emails) and creates more verification/support work. Contacts can be updated later using Set Contacts.

Step 4: Domain dashboard & management

Management Use Domains + settings endpoints to power your dashboard:
  • List domains: GET /core/v1/domainsList Domains
  • Domain details: GET /core/v1/domains/{domainName}Get Domain
  • Autorenew / lock / WHOIS privacy toggles: PATCH /core/v1/domains/{domainName}Update a domain
  • Update contacts: POST /core/v1/domains/{domainName}:setContactsSet Contacts
  • Renew domain anytime: POST /core/v1/domains/{domainName}:renewRenew Domain
  • Purchase/extend WHOIS privacy: POST /core/v1/domains/{domainName}:purchasePrivacyPurchase Privacy
Show these fields prominently:
  • domain name, expiration date, autorenew on/off, privacy on/off, lock state
  • DNS Settings (see Step 5)
  • contact verification status (below)

Contact verification status

Use Unverified Contacts to surface verification requirements:
After a new domain registration or contact change, unverified contacts may take up to ~10 minutes to appear in the API. Build your UI accordingly.
If contacts aren’t verified within 15 days, verification locks can apply and the domain may stop resolving. See Understanding Domain Locks.
Optional: some reseller accounts are approved to verify contacts via API; most are not. If you need this, contact API Support and see: Verify Contact

Step 5: DNS & nameservers

Management Use DNS records (and optionally nameservers) to connect the domain:
  • List records: GET /core/v1/domains/{domainName}/recordsList Records
  • Create record: POST /core/v1/domains/{domainName}/recordsCreate Record
  • Get record: GET /core/v1/domains/{domainName}/records/{id}Get Record
  • Update record: PUT /core/v1/domains/{domainName}/records/{id}Update Record
  • Delete record: DELETE /core/v1/domains/{domainName}/records/{id}Delete Record
Many resellers request default nameservers up front. If you want customers to use external DNS (or switch away from the default DNS), also include:
  • Set nameservers: POST /core/v1/domains/{domainName}:setNameserversSet Nameservers

MVP “no holes” checklist

If you ship this MVP, your customers can:
  • Search for a domain and see a real price (Search)
  • Checkout without failed purchases due to proper handling of extra requirements, premiums, and claims gaps (Check Availability, TLD Requirements, Claims Flow)
  • Register safely with retries (Create Domain)
  • Manage domain settings (DNS records + nameservers, lock status, autorenew, WHOIS privacy)
  • Manage domain contacts and see verification status (prevents domain outages)
  • Renew domains and WHOIS privacy

Recommended next steps (post-MVP)

Keep these out of MVP unless you need them, but they’re high-impact upgrades:

Need help?

API support

Share your request/response details with our team to troubleshoot your integration.

Common pitfalls

Do not URL-encode the : in endpoints like POST /core/v1/domains:search and POST /core/v1/domains:checkAvailability. Some clients encode :%3A which will fail. See API Overview.