live chat
24/7 Emergency Hotline USA

Reseller/Registrar Domain Name API

Introduction

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.

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.

When conceiving our API we were inspired by the REST (Representational State Transfer) approach (see http://en.wikipedia.org/wiki/Representational_State_Transfer) however we do not pretend to be fully RESTful or 100% compliant with REST.

As a consequence of adopting the REST approach we also call a command a resource and a resource a command without any distinction. In our context a REST resource is no more and no less than a command or what would be called a method using Java terminology.

Each submitted request, i.e. a command also called a resource, will return a set of values in TEXT format and optionally you can obtain the same result in JSON and XML format by just setting a parameter. Where as for reasons of simplicity in this document we show results using the TEXT format output we strongly recommend using JSON as output (see http://www.json.org/. Please dont get mislead by the meaning of JSON, you will enjoy JSON even if you have no clue at all about Javascript, JSON ...is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate...)

Whichever your background or the output you chose, as long as you are able to post data to a webpage and parsing the returned result you will have absolutely no problem in using our API.

Requirements

To access our API you need an account which you create for free using our website (https://internet.bs/newaccount.html), however if you are reading this document you most probably already have an account.

You will then need to request an API key providing the IP from where you will access the API. Please login to your account, under the menu 'My Account' click on 'Get my API key'. 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. For testing purposes we have set a test server accepting connections from any IP and you can use the test API Key and password provided below without the need to contact us.

We will then supply you with a personal API key and a password. The API key will be linked to your account.
In the case where an operation using the API is subject to a cost the payment for that operation will be settled directly through your prepaid account and you will be able to select, from the API itself, which balance and currency shall be used. You will also be able to check your balance/s and change your payment preferences (balance and currency).

Using the API simply consists in programmatically sending commands or more technically speaking, posting data to a web page and parsing the result. Theoretically you could execute simple commands such as checking the availability of a domain by entering an URL in your preferred web browser without having to write a single line of code.

Here is a simple example to check if the domain example.com is available:
https://testapi.internet.bs/Domain/Check??Domain=example.com&ApiKey=testapi&Password=testpass

where:

/Domain/Check is the command you are executing, also called a resource using REST terminology.

and

?Domain=example.com&ApiKey=testapi&Password=testpass are the parameter name and values you are passing to the command /Domain/Check

NOTE: Parameter names and commands are NOT case sensitive. However parameter values are case sensitive. During the beta test period Commands could be case sensitive, so please use the same case as in the documentation.

Consequently:

https://testapi.internet.bs/Domain/Check?Domain=example.com&ApiKey=testapi&Password=testpass

and

https://testapi.internet.bs/DoMAIn/chECk?DoMaIN=example.com&aPikeY=testapi&pAsSwOrd=testpass

are perfectly equivalent.

The following sections are describing each call to the API, the parameters required and the returned results.

In order to experiment with our API you can use the following credentials without requesting any prior authorization:
Submitting url: https://testapi.internet.bs/
ApiKey=testapi
Password=testpass


Implementations

To ensure data security and confidentiality our API is designed to use the SSL protocol. This means you will have to use https://api.internet.bs in order to access the API and, consequently, requests to http://api.internet.bs 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.

Our API is stateless, meaning that each request is independent and there is no relation between two subsequent requests. As a consequence and for security reasons you have to provide the API key and the corresponding password for each request you make to the API.
The sections describing the operations you can use are structured the following way:

A short description

  1. List of parameters; note that some parameters are optional and you can ignore them unless specifically required by you.
  2. List of retuned elements/values.
  3. An example of a request and response. For the sake of simplicity the parameters are passed using HTTPS GET (query string), however the same parameters can be passed as a HTTPS POST as well.

Please note all HTTPS GET requests have to be URL Encoded (please refer to http://en.wikipedia.org/wiki/Query_string#URL_encoding for more details about URL encoding).