Register a domain with POST /v2/domains/register after checking availability, the active registry requirements and the accepted price. A successful submission can create asynchronous work, so track the operation until the provider confirms registration.
IN THIS ARTICLE
01 Prepare the order
- Check the full name through
/v2/domains/availabilityand confirm the TLD is offered to your account. - Read
/v2/domains/requirementsfor the registration operation. Collect its actual fields and consents. - Obtain the registration quote for the intended period and currency.
- Collect accurate permitted contact roles and the intended nameservers. Prepare the DNS zone before those nameservers become authoritative.
- Confirm the customer accepted the amount and your account can fund the upstream operation.
02 Submit the current fields
The credential needs domains:register. Use the shared request helper, JSON and a stored idempotency key. The following shows the core shape; add the required contacts and additional_fields from the current contract.
POST /v2/domains/register
Idempotency-Key: registration-local-order-1042
Content-Type: application/json
{
"domain": "example.com",
"years": 1,
"price_quote_id": "QUOTE_ID",
"client_reference": "local-order-1042",
"nameservers": ["ns1.example.net", "ns2.example.net"]
}
Replace all examples with the authorised customer's data and real configured nameservers. This is a payload illustration, not a complete universal registration form. Required registry data varies by TLD and provider.
03 Follow provider completion
Store the operation, job and local order references together. A 202 or queued response is not proof that the domain is registered. Poll the operation, then read the final domain record, status and expiry.
Complete any document or contact verification requested through the approved process. Do not present a pending restricted-domain application as an active registration.
What should I do if registration fails after the domain appeared available?
Availability can change while a customer checks out. If registration fails because the name is no longer available, reconcile the order and funds rather than forcing a transfer request. For a timeout, inspect the original operation before retrying.
Reuse the same idempotency key only for the unchanged request. A different name, period or contact contract requires a reviewed new request. Keep EPP codes, personal documents and API credentials out of ordinary application logs.
Related articles
- Get started with the current Nabtech Domain Nexus v2 API
- Check domain availability with the Domain Nexus v2 API
- Build domain forms from current registry field and consent requirements
- Create a domain-operation quote and keep its currency and expiry attached to the order
- Retry Domain Nexus requests without creating duplicate domain operations