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 ofmsg
in the response. -
Some responses can have additional
pagination info wrapped in the
meta
-
An msg object will contain a
type
field and atext
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 |