This documentation describes API methods for managing domain names. The API provides the ability to check availability, register, renew, transfer, and manage domains.
Authentication
All requests to the API must contain an authorization header in the Basic Authentication format:
Authorization: Basic base64_encode("client:$token")
Где:
client
- the value "client" is always used$token
- your personal access token
The Authorization
header must be included in all API requests.
Content
- Checking domain availability
- Domain registration
- Creating a contact template
- Getting contact templates
- Update your contact template
- Domain renewal
- Getting information about a domain
- Receiving a transfer code
- Domain transfer
- Domain Period Renewal
- Installing NS servers
- Hide WHOIS
- Show WHOIS
- Block domain
- Unblock domain
- Getting the total balance
1. Checking domain availability
Checks the availability of a domain for registration.
Request body:
{
"sld": "example-domain-2025",
"tld": ".com"
}
Example of a successful response:
{
"result": true,
"error": null
}
Example of response when domain is unavailable:
{
"result": null,
"error": {
"message": "Domain is not available.",
"code": 9999
}
}
Parameter | Description | Required |
---|---|---|
sld | Second level domain name (without extension) | Yes |
tld | Domain extension (with dot) | Yes |
2. Domain registration
Registers a new domain with the specified parameters and contact information.
Request body:
{
"domain": "example-shop-2025.store",
"register_years": "1",
"contactCustomer": {
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "AB123456",
"passport_date": "2020-01-01",
"passport_place": "Moscow",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "ivan.petrov@example.com",
"state": "Moscow",
"phone_code": "7",
"phone": "9001234567",
"country": "RU",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123"
},
"contactTech": {
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "AB123456",
"passport_date": "2020-01-01",
"passport_place": "Moscow",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "tech@example.com",
"state": "Moscow",
"phone_code": "7",
"phone": "9001234567",
"country": "RU",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123"
},
"contactBilling": {
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "AB123456",
"passport_date": "2020-01-01",
"passport_place": "Moscow",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "billing@example.com",
"state": "Moscow",
"phone_code": "7",
"phone": "9001234567",
"country": "RU",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123"
},
"contactAdmin": {
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "AB123456",
"passport_date": "2020-01-01",
"passport_place": "Moscow",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "admin@example.com",
"state": "Moscow",
"phone_code": "7",
"phone": "9001234567",
"country": "RU",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123"
},
"ns1": "ns1.example.com",
"ns2": "ns2.example.com"
}
Example of a successful response:
{
"result": true,
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Domain is not available.",
"code": 9999
}
}
Note: Instead of filling in full information in each contact block, you can use an existing contact template by specifying its ID:
"contactCustomer": {
"contact_id": "107"
}
Or use customer data:
"contactTech": {
"use_customer": "1"
}
Parameter | Description | Required |
---|---|---|
domain | Full domain name including extension | Yes |
register_years | Registration period in years | Yes |
contactCustomer | Client contact details | Yes |
contactTech | Technical contact details | Yes |
contactBilling | Payment contact details | Yes |
contactAdmin | Administrative contact details | Yes |
ns1, ns2 | Primary and secondary NS servers | Yes |
dnssec | DNSSEC use flag (1 - enabled) | No |
3. Creating a contact template
Creates a new contact template for reuse when registering or managing domains.
Request body:
{
"client_type": "l",
"tax_id": "987654321",
"org_name": "Digital Solutions LLC",
"bank_name": "International Bank",
"bank_code": "INTBANK123",
"passport_number": "CD987654",
"passport_date": "2022-03-15",
"passport_place": "New York",
"first_name": "John",
"last_name": "Smith",
"email": "john.smith@digitalsolutions.com",
"state": "NY",
"phone_code": "1",
"phone": "2125551234",
"country": "US",
"post_code": "10001",
"city": "New York",
"address": "123 Broadway St, Suite 456"
}
Example of a successful response:
{
"result": {
"id": 108,
"client_type": "l",
"tax_id": "987654321",
"org_name": "Digital Solutions LLC",
"bank_name": "International Bank",
"bank_code": "INTBANK123",
"passport_number": "CD987654",
"passport_date": "2022-03-15",
"passport_place": "New York",
"first_name": "John",
"last_name": "Smith",
"email": "john.smith@digitalsolutions.com",
"phone_code": "1",
"phone": "2125551234",
"country": "United States",
"country_code": "US",
"state": "NY",
"post_code": "10001",
"city": "New York",
"address": "123 Broadway St, Suite 456",
"iduzurl": "",
"nick": ""
},
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Invalid email format",
"code": 9999
}
}
Parameter | Description | Required |
---|---|---|
client_type | Client type (l - legal entity, p - individual) | Yes |
tax_id | Taxpayer Identification Number | Yes (for legal entities) |
org_name | Название организации | Yes (for legal entities) |
bank_name | Bank name | Yes (for legal entities) |
bank_code | Bank code | Yes (for legal entities) |
passport_number | Passport number | Yes (for individuals) |
passport_date | Passport issue date | Yes (for individuals) |
passport_place | Place of issue of passport | Yes (for individuals) |
first_name | Name | Yes |
last_name | Surname | Yes |
Yes | ||
state | Region/State | No |
phone_code | Phone country code | Yes |
phone | Phone number | Yes |
country | Country code (ISO) | Yes |
post_code | Postal code | Yes |
city | City | Yes |
address | Address | Yes |
4. Getting contact templates
Gets a list of all saved contact templates.
The request does not require a body
Example answer:
{
"result": [
{
"id": 2,
"client_type": "l",
"tax_id": "1",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "Ivan",
"last_name": "Ivanov",
"email": "ivan@example.com",
"phone_code": "998",
"phone": "935311050",
"country": "Uzbekistan",
"country_code": "UZ",
"state": "UZ",
"post_code": "100000",
"city": "Tashkent",
"address": "Example Street 123",
"iduzurl": "",
"nick": ""
},
{
"id": 108,
"client_type": "l",
"tax_id": "987654321",
"org_name": "Digital Solutions LLC",
"bank_name": "International Bank",
"bank_code": "INTBANK123",
"passport_number": "CD987654",
"passport_date": "2022-03-15",
"passport_place": "New York",
"first_name": "John",
"last_name": "Smith",
"email": "john.smith@digitalsolutions.com",
"phone_code": "1",
"phone": "2125551234",
"country": "United States",
"country_code": "US",
"state": "NY",
"post_code": "10001",
"city": "New York",
"address": "123 Broadway St, Suite 456",
"iduzurl": "",
"nick": ""
}
],
"error": null
}
5. Update your contact template
Updates an existing contact template.
Request body:
{
"template_id": 108,
"client_type": "l",
"tax_id": "987654321",
"org_name": "Digital Solutions International",
"bank_name": "Global Bank",
"bank_code": "GLOBBANK456",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "John",
"last_name": "Smith",
"email": "john.smith@digitalsolutions.com",
"state": "California",
"phone_code": "1",
"phone": "4155551234",
"country": "US",
"post_code": "94107",
"city": "San Francisco",
"address": "555 Market St, Suite 789"
}
Example of a successful response:
{
"result": {
"id": 108,
"client_type": "l",
"tax_id": "987654321",
"org_name": "Digital Solutions International",
"bank_name": "Global Bank",
"bank_code": "GLOBBANK456",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "John",
"last_name": "Smith",
"email": "john.smith@digitalsolutions.com",
"phone_code": "1",
"phone": "4155551234",
"country": "United States",
"country_code": "US",
"state": "California",
"post_code": "94107",
"city": "San Francisco",
"address": "555 Market St, Suite 789",
"iduzurl": "",
"nick": ""
},
"error": null
}
Parameter | Description | Required |
---|---|---|
template_id | ID шаблона, который нужно обновить | Yes |
The remaining parameters are similar to creating a contact template |
6. Domain renewal
Extends the domain registration period.
Request body:
{
"domain_id": "16"
}
Example of a successful response:
{
"result": true,
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Domain not found",
"code": 9999
}
}
Parameter | Description | Required |
---|---|---|
domain_id | Domain ID | Yes |
7. Getting information about a domain
Gets detailed information about a domain.
Request body:
{
"domain": "example-domain.com"
}
Example of a successful response:
{
"result": {
"domain": "example-domain.com",
"domain_id": 16,
"sld": "example-domain",
"tld": ".com",
"name_servers": {
"1": {
"address": "ns1.example.com",
"ip": ""
},
"2": {
"address": "ns2.example.com",
"ip": ""
},
"3": {
"address": "",
"ip": ""
},
"4": {
"address": "",
"ip": ""
},
"5": {
"address": "",
"ip": ""
}
},
"registrar": {
"id": 2,
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "ivan.petrov@example.com",
"phone_code": "7",
"phone": "9001234567",
"country": "Russian Federation",
"country_code": "RU",
"state": "Moscow",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123",
"iduzurl": "",
"nick": ""
},
"tech": {
"id": 2,
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "tech@example.com",
"phone_code": "7",
"phone": "9001234567",
"country": "Russian Federation",
"country_code": "RU",
"state": "Moscow",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123",
"iduzurl": "",
"nick": ""
},
"billing": {
"id": 2,
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "billing@example.com",
"phone_code": "7",
"phone": "9001234567",
"country": "Russian Federation",
"country_code": "RU",
"state": "Moscow",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123",
"iduzurl": "",
"nick": ""
},
"admin": {
"id": 2,
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "admin@example.com",
"phone_code": "7",
"phone": "9001234567",
"country": "Russian Federation",
"country_code": "RU",
"state": "Moscow",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123",
"iduzurl": "",
"nick": ""
},
"period": 1,
"dnssec": 0,
"status": "active",
"privacy": 0,
"locked": 0,
"hold": 0,
"update_prohibited": 0,
"registered_at": "2025-04-22 06:41:58",
"expires_at": "2026-04-22 06:41:58"
},
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Domain not found",
"code": 9999
}
}
Parameter | Description | Required |
---|---|---|
domain | Full domain name including extension | Yes |
8. Receiving a transfer code
Receives an authorization code (EPP/AUTH code) to transfer a domain to another registrar.
Request body:
{
"domain_id": "90"
}
Example of a successful response:
{
"result": "aA1My8=+IEIA****",
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Domain not found",
"code": 9999
}
}
Parameter | Description | Required |
---|---|---|
domain_id | Domain ID | Yes |
9. Domain transfer
Initiates a domain transfer from another registrar.
Request body:
{
"transfer_sld": "example-domain",
"transfer_tld": ".com",
"transfer_code": "aA1My8=+IEIA****"
}
Example of a successful response:
{
"result": true,
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Invalid transfer code",
"code": 9999
}
}
Parameter | Description | Required |
---|---|---|
transfer_sld | Second level domain name (without extension) | Yes |
transfer_tld | Domain extension (with dot) | Yes |
transfer_code | Transfer Authorization Code (EPP/AUTH code) | Yes |
10. Domain Period Renewal
Changes the domain registration period.
Request body:
{
"domain_id": "16",
"period": 2
}
Example of a successful response:
{
"result": true,
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Invalid period value",
"code": 9999
}
}
Parameter | Description | Required |
---|---|---|
domain_id | Domain ID | Yes |
period | New registration period in years | Yes |
11. Installing NS servers
Changes the name server settings for a domain.
Request body:
{
"ns1": {
"address": "ns1.newprovider.com",
"ip": "203.0.113.1"
},
"ns2": {
"address": "ns2.newprovider.com",
"ip": "203.0.113.2"
},
"ns3": {
"address": "ns3.newprovider.com",
"ip": "203.0.113.3"
},
"ns4": {
"address": "",
"ip": ""
},
"ns5": {
"address": "",
"ip": ""
},
"domain_id": 90
}
Example of a successful response:
{
"result": true,
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Invalid nameserver format",
"code": 9999
}
}
Note: You can specify up to 10 NS servers (ns1-ns10). IP addresses are optional for most domain zones, but may be required for some specific TLDs.
Parameter | Description | Required |
---|---|---|
ns1-ns10 | Objects with NS server data | ns1-ns2 are required |
ns*.address | NS server name | Yes (for specified servers) |
ns*.ip | IP address of NS server | No |
domain_id | Domain ID | Yes |
12. Hide WHOIS
Enables protection of personal data in WHOIS (Privacy Protection).
Request body:
{
"domain_id": 90
}
Example of a successful response:
{
"result": true,
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Domain not found",
"code": 9999
}
}
Parameter | Description | Required |
---|---|---|
domain_id | Domain ID | Yes |
13. Show WHOIS
Disables the protection of personal data in WHOIS (Privacy Protection).
Request body:
{
"domain_id": 90
}
Example of a successful response:
{
"result": true,
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Domain not found",
"code": 9999
}
}
Parameter | Description | Required |
---|---|---|
domain_id | Domain ID | Yes |
14. Block domain
Blocks the domain from being transferred to another registrar (sets the clientTransferProhibited status).
Request body:
{
"domain_id": 90
}
Example of a successful response:
{
"result": true,
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Domain not found",
"code": 9999
}
}
Parameter | Description | Required |
---|---|---|
domain_id | Domain ID | Yes |
15. Unblock domain
Unblocks the domain for transfer to another registrar (removes the clientTransferProhibited status).
Request body:
{
"domain_id": 90
}
Example of a successful response:
{
"result": true,
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Domain not found",
"code": 9999
}
}
Parameter | Description | Required |
---|---|---|
domain_id | Domain ID | Yes |
16. Getting the total balance
Gets information about the client's current balance.
The request does not require a body
Example of a successful response:
{
"result": 1250.50,
"error": null
}
Example of response in case of error:
{
"result": null,
"error": {
"message": "Authentication failed",
"code": 9999
}
}
Error codes and response processing
All API methods return a response in JSON format with the following structure:
{
"result": [response data or true if successful],
"error": null
}
In case of an error, the result
field will contain null
, and the error
field will contain information about the error:
{
"result": null,
"error": {
"message": "Error message text",
"code": 9999
}
}
Note: This documentation uses the generic error code 9999. In real API responses, each error will have its own unique code that will help to accurately identify the cause of the problem.
Authentication
To access the API, you must use authentication. The authentication method is not specified in this documentation, but one of the following methods is typically used:
- API key in request header
- Basic HTTP Authentication
- OAuth 2.0 access token
Important: Before you start using the API, you must obtain authentication credentials from the support service or through the account control panel.
Limitations and recommendations
- It is recommended not to exceed 100 requests per minute.
- All requests and responses must use UTF-8 encoding.
- Dates are presented in the format "YYYY-MM-DD HH:MM:SS" in the UTC time zone.
- Domain and contact template identifiers must be passed as strings, even if they contain only numbers.