Skip to content

Reseller API (1.0.0)

Feature Overview

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
  • Marketplace: Browse secondary marketplace listings to find premium domains available for purchase from existing owners

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.

Overview
Unstoppable Domains (Reseller Engineering)
Languages
Servers
Production
https://api.unstoppabledomains.com/partner/v3
Sandbox
https://api.ud-sandbox.com/partner/v3

Suggestions

Find available domain alternatives based on keywords and preferences.

Operations

Registration & Renewals

Register new domains and manage renewals. Use $preview=true to validate requests and get price quotes before committing.

Operations

Domain Management

Comprehensive domain updates — modify nameservers, DNSSEC, contacts, flags, and DNS records in a single request.

Operations

DNS Records

Create, read, update and delete DNS records for your domains. Also includes DNS metadata, nameserver management, and DNSSEC configuration.

Operations

Transfers

Check transfer eligibility and retrieve authorization codes for transferring domains to another registrar.

Operations

Domain Flags

View and manage domain flags that control behavior and security settings such as DNS resolution, transfer locks, WHOIS privacy, and more.

Operations

Domain Contacts

View and update the ICANN-required contacts (owner, admin, tech, billing) assigned to a specific domain.

Operations

Marketplace

Browse and search the Unstoppable Domains secondary marketplace. Retrieve paginated listings of domains available for purchase from existing owners, with filtering by TLD and sorting options.

Operations

Pricing

Retrieve pricing information for domain registration, renewal, transfer, and restoration by domain name or TLD.

Operations

TLDs

Browse available top-level domains (TLDs), their details, and DNS security configuration.

Operations

Contacts

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.

Operations

Operations

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.

Operations
Webhooks

Hosting

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 URL
  • REDIRECT_302 — Temporary redirect to another URL
  • REVERSE_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.

Operations

Account

Manage your account details, authentication tokens, and webhook subscriptions.

Operations

Get account billing balance

Request

Retrieve the current billing balance for your account in USD cents. Negative values represent credits available; positive values represent amounts owed.

Security
bearer
curl -i -X GET \
  https://api.unstoppabledomains.com/partner/v3/account/billing \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Account billing balance

Bodyapplication/json
@typestringrequired
Value"unstoppabledomains.com/partner.v3.AccountBilling"
balanceUsdCentsintegerrequired

Current account balance in USD cents. Negative values are credits available; positive values are amounts owed.

Response
application/json
{ "@type": "unstoppabledomains.com/partner.v3.AccountBilling", "balanceUsdCents": 0 }

List billing transactions

Request

List billing transactions for your account. Each transaction represents a credit or debit applied to your balance (orders, refunds, settlements, grants, revenue share, etc.).

Filter by type to narrow results to specific balance-change categories. Pass groupBy=operationId to receive transactions grouped by their originating operation, with each group reporting the total amount and associated domain.

Results are paginated — use the $cursor parameter to retrieve subsequent pages.

Security
bearer
Query
$cursorstring

Opaque cursor for paginating through results. Use the value from next.cursor in a previous response.

typeArray of strings(BalanceChangeType)

Filter transactions by type. Repeat the parameter or pass a comma-separated list to filter on multiple types.

Items Enum"ORDER""ORDER_ADJUSTMENT""REFUND""SETTLEMENT""GRANT""DEBIT""REV_SHARE""REV_SHARE_REVOKE"
groupBystring

When set to operationId, transactions are grouped by their originating operation and returned as BillingTransactionGroup items.

Value"operationId"
curl -i -X GET \
  'https://api.unstoppabledomains.com/partner/v3/account/billing/transactions?%24cursor=string&type=ORDER&groupBy=operationId' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

List of billing transactions

Bodyapplication/json
One of:
@typestringrequired
Value"unstoppabledomains.com/partner.v3.CursorList"
itemsArray of objects(BillingTransactionResponse)required
items[].​@typestringrequired
Value"unstoppabledomains.com/partner.v3.BillingTransaction"
items[].​idstring^btx-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9...required

Billing transaction ID

Example: "btx-a1b2c3d4-e5f6-7890-abcd-ef1234567890"
items[].​typestring(BalanceChangeType)required

Type of billing balance change

Enum"ORDER""ORDER_ADJUSTMENT""REFUND""SETTLEMENT""GRANT""DEBIT""REV_SHARE""REV_SHARE_REVOKE"
items[].​amountUsdCentsintegerrequired

Transaction amount in USD cents. Negative for credits applied to the account; positive for debits charged against the account.

items[].​operationIdstring^op-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a...required

ID of the operation that produced this transaction

Example: "op-a1b2c3d4-e5f6-7890-abcd-ef1234567890"
items[].​createdAtTimestampinteger(int64)required

Unix epoch timestamp (milliseconds) when the transaction was created

items[].​notesstring or nullrequired

Optional notes describing the transaction

nextobject or nullrequired
next.​cursorstring
Response
application/json
{ "@type": "unstoppabledomains.com/partner.v3.CursorList", "items": [ {} ], "next": { "cursor": "string" } }

List webhooks

Request

Retrieve all webhook subscriptions configured for your account.

Security
bearer
curl -i -X GET \
  https://api.unstoppabledomains.com/partner/v3/account/webhooks \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

List of webhooks

Bodyapplication/json
@typestringrequired
Value"unstoppabledomains.com/partner.v3.CursorList"
itemsArray of objects(WebhookResponse)required
items[].​@typestringrequired
Value"unstoppabledomains.com/partner.v3.Webhook"
items[].​idstring^wh-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a...required

Webhook ID

Example: "wh-a1b2c3d4-e5f6-7890-abcd-ef1234567890"
items[].​urlstringrequired
items[].​typeobjectrequired
nextobject or nullrequired
next.​cursorstring
Response
application/json
{ "@type": "unstoppabledomains.com/partner.v3.CursorList", "items": [ {} ], "next": { "cursor": "string" } }