Learn the ins and outs of our API.

Get started with our API right away using our detailed, straightforward guides.

Intro

With our API you can control the entire infrastructure via a standardized programmatic interface. You can using API do just about anything you can do via your dashboard.

Our API is a RESTful API based on HTTPS requests and JSON responses. If you are registered, you can obtain your API key from 'My Account' page. Go to My account.

Audience for APIs

Most peoples manage their settings in the web dashboard, built using these APIs. Virtually anything you can do in the customer dashboard may be done via API.

We offers public APIs with three audiences in mind.

  • Partners
  • Customers
  • Developers

The API documentation will start with a general overview about the design and technology that has been implemented, followed by reference information about specific endpoints.

Endpoints

The API is accessed by making HTTPS requests to a specific version endpoint URL, in which GET, POST, PUT, PATCH,HEAD and DELETE methods dictate how your interact with the information available. Every endpoint is accessed only via the HTTPS protocol.

Everything (methods, parameters, etc.) is fixed to a version number, and every call must contain one.

The endpoint of each API is listed at the beginning of the documentation

Requests

Any tool that is fluent in HTTP can communicate with the API simply by requesting the correct URI. Requests should be made using the HTTPS protocol so that traffic is encrypted. The interface responds to different methods depending on the action required.

Method Usage
GET

For simple retrieval of information about your something you should use the GET method. The information you request will be returned to you as a JSON object.

The attributes defined by the JSON object can be used to form additional requests. Any request using the GET method is read-only and will not affect any of the objects you are querying.

POST

To create a new object, your request should specify the POST method.

The POST request includes all of the attributes necessary to create a new object. When you wish to create a new object, send a POST request to the target endpoint.

DELETE

To destroy a resource and remove it from your account and environment, the DELETE method should be used. This will remove the specified object if it is found. If it is not found, the operation will return a response indicating that the object was not found.

This idempotency means that you do not have to check for a resource's availability prior to issuing a delete command, the final state will be the same regardless of its existence.

PUT

To update the information about a resource in your account, the PUT method is available.

Like the DELETE Method, the PUT method is idempotent. It sets the state of the target using the provided values, regardless of their current values. Requests using the PUT method do not need to check the current attributes of the object.

PATCH

To update a portion of the information about a resource in your account, the PATCH method is available.

Like the PUT Method, the PATCH method is idempotent.

HEAD

Finally, to retrieve metadata information, you should use the HEAD method to get the headers. This returns only the header of what would be returned with an associated GET request.

Response headers contain some useful information about your API access and the results that are available for your request.

For instance, the headers contain your current rate-limit value and the amount of time available until the limit resets. It also contains metrics about the total number of objects found, pagination information, and the total content length.

Responses

Each response is a JSON object.

  • The data requested is wrapped in the result tag.
  • If you have a response, it will always be within the result field.
  • We also include a ok flag and an array of msg in the response.
  • Some responses can have additional pagination info wrapped in the meta
  • An msg object will contain a type field and a text

Success Response example

{ "ok": true, "result": { "abc": 123, "def": 456 } "msg": [ { "type": "info", "text": "How are you!" } ] }

Error Response example

{ "ok": false, "msg": [ { "type": "error", "text": "A verification code was sended to user" } ] }

HTTP response codes

The status of a response can be determined from the HTTP status code.

Code Status Description
200 OK request successful
304 Not Modified request successful
400 Bad Request request was invalid
401 Unauthorized user does not have permission
403 Forbidden request not authenticated
404 Not Found Invalid url
429 Too many requests client is rate limited
405 Method Not Allowed incorrect HTTP method provided
415 Unsupported Media Type response is not valid JSON