API Documentation

This document explains our current approach in implementing an API, initially mainly for domain name registrations and for other products and services.

Our API is designed with simplicity in mind, limiting the complexity to the bare minimum. As a consequence, we are currently not exposing our API using Webservices that may require a more
advanced understanding of programming.

In order to make it even easier we are offering several SDK for the most common coding languages (PHP, Java, Perl, C++, etc...).

Our API is using the HTTPS GET and POST as underlying protocols and should therefore, even with no advanced programming knowledge, be extremely easy to understand.

Each submitted request, i.e. a command also called a resource, will return a result in JSON format.

To access our API, you need an account which you create for free using our website (https://www.web-leader.net/join.php), however if you are reading this document you most probably
already have an account.

Before accessing this, please make sure you have a positive balance under your account otherwise the API access will be practically useless as all billable operations are debited from your prepaid balance.

General information

To ensure data security and confidentiality our API is designed to use the SSL protocol. This means you will have to use https://api.web-leadedr.net in order to access the API and, consequently, requests to http://api.web-leadedr.net will be automatically rejected. While both HTTPS POST and HTTPS GET are accepted, we strongly encourage you to use HTTPS POST, however for simplicity we use HTTPS GET in our example.

 

Account related operations

 

account/info

The command is intended to retrieve the account information

https://api.web-leader.net/?action=account/info&username=test@user.com&password=testpassword

Result (success)

{"account":{"email":"test@user.com","currency":"USD","prepay":"10.34","tariff":"Bronze"},"result":"success"}

Result (error)

{"result":"error","code":10,"message":"AUTH_FAILED","error_text":"Incorrect username\/password"}

 

account/prices

The command is intended to obtain our pricelist.

https://api.web-leader.net/?action=account/prices&username=test@user.com&password=testpassword

Result (success)

{"zones":{".ru":{"register":"1.65","transfer":"1.50","renew":"2.15","idn":false},".\u0440\u0444":{"register":"1.65","transfer":"1.50","renew":"2.15","idn":true},".\u0440\u0443\u0441":{"register":"1.60","renew":"9.70","idn":true},".by":{"register":"14.55","renew":"14.55","idn":false},".\u0443\u043a\u0440":{"register":"7.00","transfer":"7.00","renew":"7.00","idn":false}},"vpns":{"805":{"id":"805","name":"VPN - 2 days","price":0,"period":"2"},"806":{"id":"806","name":"VPN - 1 month","price":"4.00","period":"31"},"960":{"id":"960","name":"VPN - 3 months","price":"10.00","period":"92"},"808":{"id":"808","name":"VPN - 6 months","price":"18.00","period":"183"},"807":{"id":"807","name":"VPN - 1 year","price":"24.00","period":"365"}},"result":"success"}

 

account/domains

This command is intended to retrieve a list of domains in your account.

https://api.web-leader.net/?action=account/domains&username=test@user.com&password=testpassword

Result

{"domains":[{"domain":"testdomain.it","status":"Active","createdate":"2016-07-09","expirydate":"2017-03-22"},{"domain":"testdomain.com.ua","status":"Expired","createdate":"2014-12-31","expirydate":"2016-12-31"},{"domain":"testdomain.ru","status":"PendingTransfer","createdate":"2016-12-31","expirydate":"0000-00-00"}],"result":"success"}

Possible domain statuses: Pending, Active, PendingTransfer, Expired, Cancelled

 

account/vpns

This command is intended to retrieve a list of VPNs in your account.

https://api.web-leader.net/?action=account/vpns&username=test@user.com&password=testpassword

Result

{"15651":{"id":"15651","plan_id":"806","plan_name":"VPN - 1 month","order_date":"2019-07-30","price":"4.00","account":"9811-15451-5543","password":"58118"},"15739":{"id":"15739","plan_id":"807","plan_name":"VPN - 1 year","order_date":"2021-10-01","price":"24.00","account":"3144-15559-3366","password":"58133"},"result":"success"}

 

Domain related operations

 

domain/check

The command is intended to check whether a domain is available for registration or not. The command is not generating any cost.

https://api.web-leader.net/?action=domain/check&username=test@user.com&password=testpassword&domain=testdomain.ru

Result (domain is available for registration)

{"status":"available","result":"success"}

Result (domain is taken or not available for registration)

{"status":"unavailable","whoisdata":"% By submitting a query to RIPN's Whois Service\u003Cbr \/\u003E\n% you agree to abide by the following terms of use:\u003Cbr \/\u003E\n% http:\/\/www.ripn.net\/about\/servpol.html#3.2 (in Russian) \u003Cbr \/\u003E\n% http:\/\/www.ripn.net\/about\/en\/servpol.html#3.2 (in English).\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nblocking: Domain can not be registered.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nLast updated on 2017.01.07 23:11:31 MSK\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n","result":"success"}

Result (error in domain name)

{"result":"error","code":21,"message":"DOMAIN_BAD_TLD","error_text":"Unsupported zone"}

 

domain/register

The command is intended to register a new domain; while there are dozens of optional parameters, only a few are required, other parameters can be safely ignored and used only if and when you really need them.

Parameter name Parameter lenght Description
 General Parameters for all TLDs
domain  2 Domain name including extension (ex: example.com). Required.
country  2 The country code. Required.
postcode 3-10 The address postal code. Required.
state 2-40 The state.
city 2-80 The city. Required.
address 8-80 The street address. Required.
phone 8-20 The phone number (format:+1.23456789). Required.
email 6-255 The email address of the contact. Required.
whoisprotect 1 It is not supported for all domains. Set 1 to hide your data in whois results.
nameservers 0-255 List of name servers, delimited by semicolon. Example: ns1.web-leader.net;ns2.web-leader.net. You can also glue multiple IP to each name server separating each IP by a single space character. Required.
 Parameters for .RU/.SU/.РФ/.РУС/.ОНЛАЙН/.МОСКВА/.MOSCOW
regtype 3-6 Domain owner: person - private person or org - company/organization. Required.
firstname 1-80 Registrant/admin first name. Required for person.
middlename 1-80 Registrant/admin middle name.
lastname 1-80 Registrant/admin last name. Required for person.
birthdate 10 Birth date of the registrant/admin in DD.MM.YYYY format. Required for person.
passport_num 6-20 Passport/document number. Required for person.
passport_issuer 10-255 Passport/document issuing authority. Required for person.
passport_date 10 Passport/document issue date in DD.MM.YYYY format. Required for person.
companyname 6-255 The company name. Required for org.
regcode 10-12 Taxpayer identification number. Required for org.
 Parameters for .US
nexuscategory 3 It specifies the Nexus category to which the registering organization belongs. Allowed values: C11, C12, C21, C31 and C32where:
  • C11 - A natural person who is a US Citizen
  • C12 - A natural person who is a Permanent Resident
  • C21 - An entity or organization that is (i) incorporated within one of the fifty US states, the District of Columbia, or any of the US possessions or territories, or (ii) organized or otherwise constituted under the laws of a state of the US, the District of Columbia or any of its possessions and territories (including federal, state, or local government of the US, or a political subdivision thereof, and non-commercial organizations based in the US.)
  • C31 - A foreign organization that regularly engages in lawful activities (sales of goods or services or other business, commercial, or non-commercial, including not for profit relations) in the United States.
  • C32 - Organization has an office or other facility in the US
Required.
firstname 1-80 Registrant/admin first name. Required.
lastname 1-80 Registrant/admin last name. Required.
companyname 6-255 The company name.
uspurpose 2 It specifies the intended purpose of the domain name registration. Allowed values are: P1, P2, P3, P4 and P5where:
  • P1 - Business use for profit
  • P2 - Non-profit business, club, association, religious organization, etc.
  • P3 - Personal use
  • P4 - Educational purposes
  • P5 - Government purposes
Required.
 Parameters for .IT
regtype 1 Allowed values:
  • 1 - Italian and foreign natural persons
  • 2 - Companies/one man companies
  • 3 - Freelance workers/professionals
  • 4 - Non-profit organizations
  • 5 - Public organizations
  • 6 - Other subjects
  • 7 - Foreigners who match 2-6
Required.
nationality 2 Must be one of the ISO 3166-1 codes (e.g.: IT, FR, NL, ..). If the Registrant is not a natural person (regtype <> 1) it must be equal to the registrant country code value. If the Registrant is a natural person (regtype = 1), the registrant country code and Nationality (registrant_dotitNationality) fields may differ but at least one of them must correspond to the ISO 3166-1 code of a country belonging to the European Union.
firstname 1-80 Registrant/admin first name. Required.
lastname 1-80 Registrant/admin last name. Required.
companyname 6-255 The company name. Required.
regcode 4-20 If the requester is an Italian natural person it contains his/her Codice Fiscale. For foreigners it can contain a document number. For associations without VAT number and numeric tax code must be equal to "n.a.". In all the other cases must be equal to VAT number (in the 11 numbers format if nationality=IT) or the numeric tax code. Required.
country  2 The country code (belonging to the European Union). Required.
state 2-40 For Italian (IT) the province must contain the two letters corresponding to an Italian province. For other country field must contain province/state/region name. Required.
hidedetails 1 If the field is set as "0" the Registrant address details will be displayed on the public WHOIS.
itterms 3 YES - You have to obtain the contact data and the explicit acceptance of any declaration of the assumption of responsibility for the registration of domain names on the basis of the registration form (see full text of .it terms and condition: https://www.web-leader.net/itterms.html)
 Parameters for .EU
firstname 1-80 Registrant/admin first name. Required.
lastname 1-80 Registrant/admin last name. Required.
companyname 6-255 The company name.
country  2 The country code (belonging to the European Union). Required.
 Parameters for .KZ/.ORG.KZ/.COM.KZ/.ҚАЗ
firstname 1-80 Registrant/admin first name. Required.
lastname 1-80 Registrant/admin last name. Required.
companyname 6-255 The company name.
srvloc_sp 2-40 Server location, region in Kazakhstan. Required.
srvloc_city 2-80 Server location, city in Kazakhstan. Required.
srvloc_street 8-80 Server location, address in Kazakhstan. Required.
 Parameters for .FR/.RE/.PM
regtype 5-11 There are following 5 types of contact entity type:
  • INDIVIDUAL for Individuals
  • COMPANY for companies/corporations
  • TRADEMARK for TradeMark owners
  • ASSOCIATION for associations
  • OTHER for other types
Required.
firstname 1-80 Registrant/admin first name. Required for regtype=INDIVIDUAL.
lastname 1-80 Registrant/admin last name. Required for regtype=INDIVIDUAL.
birthdate 10 Birth date of the registrant/admin in DD.MM.YYYY format. Required for regtype=INDIVIDUAL.
birthcountry 2 ISO-код страны рождения владельца домена. Required for regtype=INDIVIDUAL.
birthcity 2-80 The city of birth of the registrant/admin. Required for regtype=INDIVIDUAL and country=FR.
birthpostalcode 5 The postal code in the city of birth of the registrant/admin. Required for regtype=INDIVIDUAL and country=FR.
hidedetails 1 If the field is set as "0" the Registrant address details will be displayed on the public WHOIS for regtype=INDIVIDUAL
otherstatus 3-80 Legal status. Required for regtype=OTHER.
name 3-80 Company/Association/Other name. Required if regtype NOT INDIVIDUAL
trademark 3-80 Trademark. Required for regtype=TRADEMARK
waldec 3-80 Waldec ID. Optional for regtype=ASSOCIATION
associatondate 10 Association date in DD.MM.YYYY format for regtype=ASSOCIATION if waldec not set.
publicationdate 10 Publication date in DD.MM.YYYY format for regtype=ASSOCIATION if waldec not set.
announce 3-80 Announce No. Required for regtype=ASSOCIATION if waldec not set.
page 3-10 Page No. Required for regtype=ASSOCIATION if waldec not set.
vatnum 3-30 VAT number.
duns 9 Номер D-U-N-S (Data Universal Numbering System).
siren 9 SIREN number.
 Parameters for other TLDs
firstname 2-80 Registrant/admin first name. Required.
lastname 2-80 Registrant/admin last name. Required.
companyname 6-255 The company name.

Result (successful registration)

{"status":"Completed","result":"success"}

Result (registration is queued)

{"status":"Queued","result":"success"}

Result (error in parameter)

{"result":"error","code":25,"message":"PARAMETER_INCORRECT","error_text":"phone has incorrect format or data"}

 

domain/transfer

The command is intended to initiate an incoming domain name transfer. The parameters are almost identical to those used for domain/register. Additional parameter is

  • transfercode - The auth info (also transfer password, transfer secret, epp auth info, etc...). Depending on the domain that you are transferring might be optional however for .com, .net, .info, .biz, .org, .mobi the field is mandatory.

 

domain/renew

The command is intended to renew a domain for 1 year (or 2 years if minimal period is 2 years)

  • domain - The domain name to renew

 

domain/info

The command is intended to return full details about a domain name.

  • domain - Domain name with extension.

Result

{"expirydate":"2017-10-14","lockstatus":"unknown","nameservers":[{"ns":"ns3.web-leader.net","ip":"198.27.126.94"},{"ns":"ns1.web-leader.net","ip":"198.245.60.140"},{"ns":"ns2.echo-domains.ru","ip":"198.27.126.95"}],"result":"success"}

 

domain/transfercode

The command is intended to return domain auth info. (also transfer password, transfer secret, epp auth info, etc...)

  • domain - Domain name with extension.
https://api.web-leader.net/?action=domain/transfercode&username=test@user.com&password=testpassword&domain=testdomain.com

Result

{"code":"USuV$AWY8r","result":"success"}

Result (error)

{"result":"error","code":27,"message":"REGISTRY_ERROR","error_text":"Feature not supported for testdomain.ru"}

 

domain/update/lock

Enable or disable the Registrar Lock for a specific domain

  • domain - Domain name with extension.
  • enable - on or 1 to enable lock, off or 0 to disable.
https://api.web-leader.net/?action=domain/update/lock&username=test@user.com&password=testpassword&domain=testdomain.com&enable=on

Result (success)

{"status":"Completed","result":"success"}

Result (success, queued)

{"status":"Queued","result":"success"}

 

domain/update/privatewhois

Enable or disable the Private Whois for a specific domain

  • domain - Domain name with extension.
  • enable - on or 1 to enable Private Whois, off or 0 to disable.
https://api.web-leader.net/?action=domain/update/privatewhois&username=test@user.com&password=testpassword&domain=testdomain.com&enable=on

Result (success)

{"status":"Completed","result":"success"}

Result (success, queued)

{"status":"Queued","result":"success"}

 

domain/update/nameservers

Enable or disable the Private Whois for a specific domain

  • domain - Domain name with extension.
  • nameservers - List of name servers, delimited by semicolon.
https://api.web-leader.net/?action=domain/update/nameservers&username=test@user.com&password=testpassword&domain=testdomain.com&nameservers=ns1.web-leader.net;ns2.web-leader.net

Result (success)

{"status":"Completed","result":"success"}

Result (success, queued)

{"status":"Queued","result":"success"}

 

domain/privatens/get

The command is intended to retrieve the list of hosts defined for a domain.

  • domain - Domain name with extension.

Result

{"nameservers":{"ns1":["198.245.60.140"],"ns2":["192.99.9.183"],"ns3":["2002:6bb5:bb5e::94","107.181.187.94"]},"result":"success"}

 

domain/privatens/add

The command is intended to create a host also known as name server or child host.

  • domain - Domain name with extension.
  • nameserver - The host to be created.
  • ip - List of IP addresses separated by comma for the host. The list can be composed by just one or multiple IPs.
https://api.web-leader.net/?action=domain/privatens/add&username=test@user.com&password=testpassword&domain=testdomain.com&nameserver=ns1&ip=198.245.60.140

 

domain/privatens/del

The command is intended to delete (remove) an unwanted host. Note if your host is currently used by one or more domains the operation will fail.

  • domain - Domain name with extension.
  • nameserver - The host to delete.
https://api.web-leader.net/?action=domain/privatens/del&username=test@user.com&password=testpassword&domain=testdomain.com&nameserver=ns1

 

domain/contacts/get

The command is intended to get all contacts of the domain name.

  • domain - Domain name with extension.

Result will be returned as JSON-array like:

  • Registrant:
    • postcode
    • state
    • city
    • address
    • phone
    • email
    • ...
  • Admin:
    • postcode
    • state
    • city
    • address
    • phone
    • email
    • ...
  • Technical:
    • postcode
    • state
    • city
    • address
    • phone
    • email
    • ...
  • Billing:
    • postcode
    • state
    • city
    • address
    • phone
    • email
    • ...

Parameters is the same with domain/register

 

domain/contacts/update

The command is intended to update all contacts of the domain name.

  • domain - Domain name with extension.
  • contacts - Array of contacts from domain/contacts/get.

 

Service related operations

 

vpn/create

Order new VPN account.

  • plan - Selected plan from account/prices.
https://api.web-leader.net/?action=vpn/create&username=test@user.com&password=testpassword&plan=805

Result

{"id":"17992","account":"1277-17992-5389","password":"62521","result":"success"}

 

vpn/suspend

Suspend (block) VPN account.

  • account - Selected VPN account.
https://api.web-leader.net/?action=vpn/suspend&username=test@user.com&password=testpassword&account=1894-17994-2244

Result

{"id":"17992","result":"success"}

 

vpn/unsuspend

Unsuspend (unblock) VPN account.

  • account - Selected VPN account.
https://api.web-leader.net/?action=vpn/unsuspend&username=test@user.com&password=testpassword&account=1894-17994-2244

Result

{"id":"17992","result":"success"}

 

vpn/cancel

Cancel (terminate) VPN account.

  • account - Selected VPN account.
https://api.web-leader.net/?action=vpn/cancel&username=test@user.com&password=testpassword&account=1894-17994-2244

Result

{"id":"17992","result":"success"}

 

vpn/details

Full details of VPN account.

  • account - Selected VPN account.
https://api.web-leader.net/?action=vpn/details&username=test@user.com&password=testpassword&account=1894-17994-2244

Result

{"id":"17994","account":"1894-17994-4344","password":"20802","psk":"Uhq3v3342o9ZL","order_date":"2021-11-16","ikev2":"...", "openvpn":"...", "servers":{"pptp":{...}, "l2tp":{...}, "ikev2":{...}}, "result":"success"}