Unstoppable Resellers API (2.0.0)

The Reseller API requires you to be an authorized seller. To register as a reseller and integrate our APIs into your applications, check our Register as a Reseller guide.

Authentication

ApiSecret

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

orders

Create an order and get the status of orders

Buy a domain or claim for free

Authentication is optional for this endpoint and it's required only if using specific payment types (free, payback). If Authentication is used - API should be called from secure server environment. This API endpoint is used for buying domains from UD. The blockchain needs time before a transaction is mined. In rare cases, it is possible for someone to front run your purchase, which would result in an order being cancelled. We expect this to happen in less than 1 out of 10000 cases. Please make sure you are using the 'Order Status' endpoint and wait until the transaction is mined. Endpoint requires either email or owner address. If email is provided - domain will be linked to Unstoppable website account. If owner address is provided - domain will be minted right into crypto wallet. Optionally user can specify domain records that will be added to the domain once it's minted (i.e. if owner address is provided)

Request
Security:
path Parameters
resellerID
required
string

ID obtained from UD team

Example: udtesting
Request Body schema: application/json
object (OrderPayment)

Payment type and parameters

Array of objects
Responses
200

Successful

400

Bad Request

401

Reseller not found

post/{resellerID}/orders
Request samples
application/json
{
  • "payment": {
    },
  • "domains": [
    ]
}
Response samples
application/json
{
  • "orderNumber": "-Lm9wiYytgrpf4YCWYv6",
  • "payment": {
    },
  • "total": 0,
  • "items": [
    ]
}

Get order status by order number

Use this endpoint to pull the status of the order

Request
path Parameters
resellerID
required
string

ID obtained from UD team

Example: udtesting
orderNumber
required
string

ID of the order

Example: -Lm9wiYytgrpf4YCWYv6
Responses
200

Successful

401

Reseller not found

404

Order Not Found

get/{resellerID}/orders/{orderNumber}
Request samples
const resellerId = 'YOUR_resellerID_PARAMETER';
const orderNumber = 'YOUR_orderNumber_PARAMETER';
const resp = await fetch(
  `https://unstoppabledomains.com/api/v2/resellers/${resellerId}/orders/${orderNumber}`,
  {method: 'GET'}
);

const data = await resp.text();
console.log(data);
Response samples
application/json
{
  • "orderNumber": "-Lm9wiYytgrpf4YCWYv6",
  • "payment": {
    },
  • "total": 0,
  • "items": [
    ]
}

domains

Check domain availability and suggestions for purchase or claim

Domain name availability

Request
path Parameters
resellerID
required
string

Resellers ID obtained from UD team after registration as a Reseller

Example: udtesting
domainName
required
string
Example: beresnev.crypto
Responses
200

Successful

400

Bad Request

401

Reseller not found

get/{resellerID}/domains/{domainName}
Request samples
const resellerId = 'YOUR_resellerID_PARAMETER';
const domainName = 'YOUR_domainName_PARAMETER';
const resp = await fetch(
  `https://unstoppabledomains.com/api/v2/resellers/${resellerId}/domains/${domainName}`,
  {method: 'GET'}
);

const data = await resp.text();
console.log(data);
Response samples
application/json
{
  • "domain": {
    },
  • "availability": {
    }
}

Get domains suggestions

This endpoint is used to provide domains variants based on provided domains and label. Method will provide domains similar to domains provided in domains parameter.

Request
path Parameters
resellerID
required
string

ID obtained from UD team

Example: udtesting
query Parameters
search
Array of strings

Keywords that will be used to build domain suggestions. Can be TLD or domain name.

Example: search=test.crypto&search=hello&search=domains.888
tlds
Array of strings

Limit suggestions output by specific TLDs (crypto, dao, etc.)

Example: tlds=crypto&tlds=nft&tlds=888
Responses
200

Valid

400

Bad Request

401

Reseller not found

get/{resellerID}/domains/suggestions
Request samples
const query = new URLSearchParams({
  search: 'test.crypto,hello,domains.888',
  tlds: 'crypto,nft,888'
}).toString();

const resellerId = 'YOUR_resellerID_PARAMETER';
const resp = await fetch(
  `https://unstoppabledomains.com/api/v2/resellers/${resellerId}/domains/suggestions?${query}`,
  {method: 'GET'}
);

const data = await resp.text();
console.log(data);
Response samples
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Get free domains suggestions

This endpoint is used to provide free domains suggestions if Resellers is eligible for free domains. If Reseller isn't eligible for free domains suggestions - endpoint will return error.

Request
path Parameters
resellerID
required
string

ID obtained from UD team

Example: udtesting
query Parameters
search
Array of strings

Keywords that will be used to build FREE domain suggestions. Can be TLD or domain name.

Example: search=fancyfox123.crypto&search=firstname&search=domainsforfree1.888
tlds
Array of strings

Limit suggestions output by specific TLDs (crypto, dao, etc.)

Example: tlds=crypto&tlds=nft&tlds=888
Responses
200

Valid

400

Bad Request

401

Reseller not found

get/{resellerID}/domains/suggestions/free
Request samples
const query = new URLSearchParams({
  search: 'fancyfox123.crypto,firstname,domainsforfree1.888',
  tlds: 'crypto,nft,888'
}).toString();

const resellerId = 'YOUR_resellerID_PARAMETER';
const resp = await fetch(
  `https://unstoppabledomains.com/api/v2/resellers/${resellerId}/domains/suggestions/free?${query}`,
  {method: 'GET'}
);

const data = await resp.text();
console.log(data);
Response samples
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Reserve free domain name for period of time

Reserve free domain name for external user identifier. Usually it's a user identifier or email in a resellers system. Domain name becomes unavailable for selling and claiming to anyone except identity that reserved the domain. Only one domain could be reserved per resellerIdentityKey. Reserve time is 168 hours.

Request
Security:
path Parameters
resellerID
required
string

Resellers ID obtained from UD team after registration as a Reseller

Example: udtesting
domainName
required
string
Example: beresnev.crypto
Request Body schema: application/json
resellerIdentityKey
string

Unique external identifier of user. Could by ANY string value. Unstoppable will try to match internal and external user id.

Responses
200

Valid

400

Bad Request

401

Reseller not found

post/{resellerID}/domains/{domainName}/reserve
Request samples
application/json
{
  • "resellerIdentityKey": "example@user.com"
}
Response samples
application/json
{
  • "error": {
    },
  • "constraints": [
    ]
}