Find available domain alternatives based on keywords and preferences.
Reseller API (1.0.0)
The Reseller API provides domain reseller partners with the ability to search, register and manage traditional DNS domains. The API exposes a RESTful interface for domain registration, DNS management, and domain lifecycle operations.
- Domain Discovery: Search for specific domains or find suggested alternatives, determine pricing, availability and registration details
- Domain Registration: Register domains with full control over registration period, contacts, and initial DNS configuration
- DNS Management: Create, update and delete DNS records for your domains
- Domain Lifecycle: Manage renewals, transfers, contacts, and domain flags through a simple API interface
For access, authentication, environments, and your first request, start with the Quick Start.
For implementation guidance on operations, flags, registration flows, contact management, DNS management, webhooks, and lifecycle operations, see the Implementation Guide.
Request
Register a new domain or transfer an existing domain into your account. The request body specifies the domain name and optional DNS configuration including registration period, contacts, and nameserver settings.
To register a new domain, submit the request without an authorization code. To transfer in an existing domain from another registrar, include the dns.authorizationCode field — the presence of this field determines that this is a transfer-in rather than a new registration.
Use $preview=true to validate the request and get a price quote without executing the operation.
Fully qualified domain name to register (e.g., "example.com"). Automatically lowercased and trimmed.
Domain owner configuration. For reseller registrations, type must be SELF. The contact field specifies the registrant — provide either an existing contact ID or inline contact fields.
DNS configuration for the domain including registration period and contact role assignments.
- Productionhttps://api.unstoppabledomains.com/partner/v3/domains
- Sandboxhttps://api.ud-sandbox.com/partner/v3/domains
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
curl -i -X POST \
'https://api.unstoppabledomains.com/partner/v3/domains?%24preview=false' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"owner": {
"type": "SELF",
"contact": {
"tldData": {
"ca": {
"registrantAgreementAcknowledged": true,
"preferredLanguageCode": "en_US",
"canadianPresenceRequirement": "CCT"
}
},
"id": "ct-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"firstName": "string",
"lastName": "string",
"organization": "string",
"countryCode": "string",
"street": "string",
"city": "string",
"postalCode": "string",
"stateProvince": "string",
"phone": {
"number": "string",
"dialingPrefix": "+1"
},
"email": "user@example.com"
}
},
"dns": {
"authorizationCode": "string",
"period": 1,
"contacts": {
"admin": {
"id": "ct-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"firstName": "string",
"lastName": "string",
"organization": "string",
"countryCode": "string",
"street": "string",
"city": "string",
"postalCode": "string",
"stateProvince": "string",
"phone": {
"number": "string",
"dialingPrefix": "+1"
},
"email": "user@example.com"
},
"tech": {
"id": "ct-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"firstName": "string",
"lastName": "string",
"organization": "string",
"countryCode": "string",
"street": "string",
"city": "string",
"postalCode": "string",
"stateProvince": "string",
"phone": {
"number": "string",
"dialingPrefix": "+1"
},
"email": "user@example.com"
},
"billing": {
"id": "ct-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"firstName": "string",
"lastName": "string",
"organization": "string",
"countryCode": "string",
"street": "string",
"city": "string",
"postalCode": "string",
"stateProvince": "string",
"phone": {
"number": "string",
"dialingPrefix": "+1"
},
"email": "user@example.com"
}
},
"$useExistingNameservers": true,
"nameservers": [
"ns1.example.com",
"ns2.example.com"
],
"records": [
{
"subName": "string",
"type": "A",
"values": [
"string"
],
"ttl": 1,
"$upsert": "REPLACE",
"$forceCompatibility": false
}
],
"dnssec": {
"items": [
{
"keyTag": 65535,
"algorithm": 1,
"digestType": 1,
"digest": "string"
}
]
}
},
"flags": {
"DNS_RESOLUTION": {
"status": "ENABLED"
},
"DNS_TRANSFER_OUT": {
"status": "ENABLED"
},
"DNS_DELETE": {
"status": "ENABLED"
},
"DNS_UPDATE": {
"status": "ENABLED"
},
"DNS_RENEW": {
"status": "ENABLED"
},
"DNS_WHOIS_PROXY": {
"status": "ENABLED"
}
}
}'Domain registration operation created
Operation ID
List of platform operation dependencies that make up this operation
Status of a platform operation dependency
- DOMAIN_REGISTER
- DOMAIN_DNS_RENEW
- DNS_RECORD_CREATE
- DNS_RECORD_UPDATE
- DNS_RECORD_DELETE
- DOMAIN_SET_NAMESERVERS
- DOMAIN_DNS_SECURITY_SET_DNSSEC
- DOMAIN_DNS_SECURITY_DELETE_DNSSEC
- DOMAIN_DNS_SECURITY_UPDATE_ZONE
- DOMAIN_FLAG_LOCK_UPDATE
- DOMAIN_DNS_CONTACT_SET
- CONTACT_CREATE
- WEBHOOK_CREATE
- WEBHOOK_DELETE
Reference to an existing or newly created contact
Non-registrant contact role assignments (admin, billing, tech)
{ "@type": "unstoppabledomains.com/partner.v3.DomainOperationResult", "operation": { "@type": "unstoppabledomains.com/partner.v3.Operation", "id": "op-a1b2c3d4-e5f6-7890-abcd-ef1234567890", "status": "PREVIEW", "type": "ADMIN_GENERIC", "domain": "string", "createdAtTimestamp": 0, "lastUpdatedTimestamp": 0, "validUntilTimestamp": 0, "dependencies": [ … ] } }
- Productionhttps://api.unstoppabledomains.com/partner/v3/domains/{name}/renewals
- Sandboxhttps://api.ud-sandbox.com/partner/v3/domains/{name}/renewals
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
curl -i -X GET \
'https://api.unstoppabledomains.com/partner/v3/domains/{name}/renewals' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "@type": "unstoppabledomains.com/partner.v3.DomainRenewalInfo", "isEligible": true, "expirationDate": "string", "gracePeriodExpirationDate": "string", "price": { "type": "STANDARD", "listPrice": { … }, "adjustments": [ … ], "subTotal": { … }, "validUntilTimestamp": 0 }, "period": { "min": 0, "max": 0, "increments": 0 } }
Request
Renew the specified domain for a given period (in years). Use $preview=true to get a renewal price quote without executing the renewal.
- Productionhttps://api.unstoppabledomains.com/partner/v3/domains/{name}/renewals
- Sandboxhttps://api.ud-sandbox.com/partner/v3/domains/{name}/renewals
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
curl -i -X POST \
'https://api.unstoppabledomains.com/partner/v3/domains/{name}/renewals?%24preview=false' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"period": 1
}'Domain renewal operation created
Operation ID
List of platform operation dependencies that make up this operation
Status of a platform operation dependency
- DOMAIN_REGISTER
- DOMAIN_DNS_RENEW
- DNS_RECORD_CREATE
- DNS_RECORD_UPDATE
- DNS_RECORD_DELETE
- DOMAIN_SET_NAMESERVERS
- DOMAIN_DNS_SECURITY_SET_DNSSEC
- DOMAIN_DNS_SECURITY_DELETE_DNSSEC
- DOMAIN_DNS_SECURITY_UPDATE_ZONE
- DOMAIN_FLAG_LOCK_UPDATE
- DOMAIN_DNS_CONTACT_SET
- CONTACT_CREATE
- WEBHOOK_CREATE
- WEBHOOK_DELETE
Reference to an existing or newly created contact
Non-registrant contact role assignments (admin, billing, tech)
{ "@type": "unstoppabledomains.com/partner.v3.DomainOperationResult", "operation": { "@type": "unstoppabledomains.com/partner.v3.Operation", "id": "op-a1b2c3d4-e5f6-7890-abcd-ef1234567890", "status": "PREVIEW", "type": "ADMIN_GENERIC", "domain": "string", "createdAtTimestamp": 0, "lastUpdatedTimestamp": 0, "validUntilTimestamp": 0, "dependencies": [ … ] } }
Create and manage ICANN-required contacts for domain registration. Contacts represent individuals or organizations associated with domain roles (owner, admin, tech, billing).
New contacts are automatically sent a verification email upon creation. Contacts can be used in domain registrations immediately, but domains associated with unverified contacts may become unmanageable after a certain period.
All asynchronous processes handled by the API are represented as Operations. This includes registering a domain, updating DNS records, renewing a domain, and more.
Operations contain dependencies that represent the individual units of work. Each dependency has its own status, parameters, and result data.
Configure how your domains serve content on the web. Hosting configurations control what happens when someone visits your domain — whether it redirects to another URL or proxies content from another server.
Available hosting types:
REDIRECT_301— Permanent redirect to another URLREDIRECT_302— Temporary redirect to another URLREVERSE_PROXY— Proxy requests to a backend server
All hosting configurations require SSL certificate provisioning. When a configuration is created or updated, the certificateStatus field will be PENDING until the certificate is issued and active. This process typically completes within a few minutes but may take longer in some cases.