Info
Welcome to the VPNresellers API version 3.0. Visit the API access page to get the access token.
Accounts
Check an username
Before account creating this method can check that username is able to be used and it does not exist in our database.
Example request:
curl -X GET -G "https://api.vpnresellers.com/v3/accounts/check_username" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"
const url = new URL("https://api.vpnresellers.com/v3/accounts/check_username");
let params = {
"username": "deleniti",
};
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get("https://api.vpnresellers.com/v3/accounts/check_username", [
'headers' => [
"Authorization" => "Bearer {token}",
"Accept" => "application/json",
],
'query' => [
"username" => "deleniti",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (200):
{
"data": {
"message": "The username is not taken."
}
}
Example response (400):
{
"message": "Bad Request."
}
Example response (401):
{
"message": "Unauthorized."
}
Example response (405):
{
"message": "Method Not Allowed."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"username": [
"The username has already been taken."
]
}
}
HTTP Request
GET v3/accounts/check_username
Query Parameters
Parameter | Status | Description |
---|---|---|
username | required | A checked username |
List accounts
The response contains the following information:
- data: Array. List of accounts' objects. See Retrieve an account to get info about account's object.
- links: Object of links for getting the first, last, next and previous pages.
- meta: Object. Metadata of the current page:
- current_page: the number of the current page.
- from: the number of the first item in data.
- last_page: the number of the last page.
- path: the path of the current page.
- per_page: max number of items in data.
- to: the number of the last item in data.
- total: the number of items in data.
Example request:
curl -X GET -G "https://api.vpnresellers.com/v3/accounts" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"
const url = new URL("https://api.vpnresellers.com/v3/accounts");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get("https://api.vpnresellers.com/v3/accounts", [
'headers' => [
"Authorization" => "Bearer {token}",
"Accept" => "application/json",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (200):
{
"data": [
{
"id": 9,
"username": "plmkojnhbgv",
"status": "Active",
"updated": "2017-03-28 17:44:21",
"created": "2017-03-24 19:26:24"
},
{
"id": 10,
"username": "wokreiru",
"status": "Active",
"updated": "2017-04-23 09:06:45",
"created": "2017-03-27 17:22:45"
}
],
"links": {
"first": "https://api.vpnresellers.com/v3/accounts?page=1",
"last": "https://api.vpnresellers.com/v3/accounts?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://api.vpnresellers.com/v3/accounts",
"per_page": 15,
"to": 2,
"total": 2
}
}
Example response (400):
{
"message": "Bad Request."
}
Example response (401):
{
"message": "Unauthorized."
}
Example response (405):
{
"message": "Method Not Allowed."
}
HTTP Request
GET v3/accounts
Query Parameters
Parameter | Status | Description |
---|---|---|
page | optional | A number of page |
Create an account
This method requires following parameters:
- username: the field under validation may have alpha-numeric characters, as well as dashes and underscores. Also username must be at least 3 characters and may not be greater than 50 characters.
- password: the field must be at least 3 characters and may not be greater than 50 characters.
Example request:
curl -X POST "https://api.vpnresellers.com/v3/accounts" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"username":"eius","password":"nemo"}'
const url = new URL("https://api.vpnresellers.com/v3/accounts");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
let body = {
"username": "eius",
"password": "nemo"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post("https://api.vpnresellers.com/v3/accounts", [
'headers' => [
"Authorization" => "Bearer {token}",
"Accept" => "application/json",
"Content-Type" => "application/json",
],
'json' => [
"username" => "eius",
"password" => "nemo",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (201):
{
"data": {
"id": 9,
"username": "plmkojnhbgv",
"status": "Active",
"updated": "2017-03-28 17:44:21",
"created": "2017-03-24 19:26:24"
}
}
Example response (400):
{
"message": "Bad Request."
}
Example response (401):
{
"message": "Unauthorized."
}
Example response (402):
{
"message": "Insufficient Balance."
}
Example response (405):
{
"message": "Method Not Allowed."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"username": [
"The username has already been taken."
]
}
}
HTTP Request
POST v3/accounts
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
username | string | required | Username |
password | string | required | Password |
Retrieve an account
The response contains the following information:
- data: Object of account contains following data:
- id: integer. Unique ID of account.
- username: string. Username
- status: string. Available following statuses:
- Active: an account is enabled.
- Disabled: an account is disabled.
- updated: string. The date and time when an account was updated.
- created: string. The date and time when an account was created.
Example request:
curl -X GET -G "https://api.vpnresellers.com/v3/accounts/1" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"
const url = new URL("https://api.vpnresellers.com/v3/accounts/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get("https://api.vpnresellers.com/v3/accounts/1", [
'headers' => [
"Authorization" => "Bearer {token}",
"Accept" => "application/json",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (200):
{
"data": {
"id": 9,
"username": "plmkojnhbgv",
"status": "Active",
"updated": "2017-03-28 17:44:21",
"created": "2017-03-24 19:26:24"
}
}
Example response (400):
{
"message": "Bad Request."
}
Example response (401):
{
"message": "Unauthorized."
}
Example response (403):
{
"message": "Forbidden."
}
Example response (404):
{
"message": "Not Found."
}
Example response (405):
{
"message": "Method Not Allowed."
}
HTTP Request
GET v3/accounts/{account}
Delete an account
This method will delete an account from our database.
Example request:
curl -X DELETE "https://api.vpnresellers.com/v3/accounts/1" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"
const url = new URL("https://api.vpnresellers.com/v3/accounts/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->delete("https://api.vpnresellers.com/v3/accounts/1", [
'headers' => [
"Authorization" => "Bearer {token}",
"Accept" => "application/json",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (200):
{
"data": null
}
Example response (400):
{
"message": "Bad Request."
}
Example response (401):
{
"message": "Unauthorized."
}
Example response (403):
{
"message": "Forbidden."
}
Example response (404):
{
"message": "Not Found."
}
Example response (405):
{
"message": "Method Not Allowed."
}
HTTP Request
DELETE v3/accounts/{account}
Enable an account
This method enables the account which was disabled using Disable an account method.
Example request:
curl -X PUT "https://api.vpnresellers.com/v3/accounts/1/enable" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"
const url = new URL("https://api.vpnresellers.com/v3/accounts/1/enable");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "PUT",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->put("https://api.vpnresellers.com/v3/accounts/1/enable", [
'headers' => [
"Authorization" => "Bearer {token}",
"Accept" => "application/json",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (200):
{
"data": {
"id": 9,
"username": "plmkojnhbgv",
"status": "Active",
"updated": "2017-03-28 17:44:21",
"created": "2017-03-24 19:26:24"
}
}
Example response (400):
{
"message": "Bad Request."
}
Example response (401):
{
"message": "Unauthorized."
}
Example response (403):
{
"message": "Forbidden."
}
Example response (404):
{
"message": "Not Found."
}
Example response (405):
{
"message": "Method Not Allowed."
}
HTTP Request
PUT v3/accounts/{account}/enable
Disable an account
This method can be used for disabling VPN service for this account without deleting it from our database.
Example request:
curl -X PUT "https://api.vpnresellers.com/v3/accounts/1/disable" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"
const url = new URL("https://api.vpnresellers.com/v3/accounts/1/disable");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "PUT",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->put("https://api.vpnresellers.com/v3/accounts/1/disable", [
'headers' => [
"Authorization" => "Bearer {token}",
"Accept" => "application/json",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (200):
{
"data": {
"id": 9,
"username": "plmkojnhbgv",
"status": "Disabled",
"updated": "2017-03-28 17:44:21",
"created": "2017-03-24 19:26:24"
}
}
Example response (400):
{
"message": "Bad Request."
}
Example response (401):
{
"message": "Unauthorized."
}
Example response (403):
{
"message": "Forbidden."
}
Example response (404):
{
"message": "Not Found."
}
Example response (405):
{
"message": "Method Not Allowed."
}
HTTP Request
PUT v3/accounts/{account}/disable
Change password
This method requires following parameter:
- password: the field must be at least 3 characters and may not be greater than 50 characters.
Example request:
curl -X PUT "https://api.vpnresellers.com/v3/accounts/1/change_password" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"password":"reprehenderit"}'
const url = new URL("https://api.vpnresellers.com/v3/accounts/1/change_password");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
let body = {
"password": "reprehenderit"
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->put("https://api.vpnresellers.com/v3/accounts/1/change_password", [
'headers' => [
"Authorization" => "Bearer {token}",
"Accept" => "application/json",
"Content-Type" => "application/json",
],
'json' => [
"password" => "reprehenderit",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (200):
{
"data": {
"id": 9,
"username": "plmkojnhbgv",
"status": "Active",
"updated": "2017-03-28 17:44:21",
"created": "2017-03-24 19:26:24"
}
}
Example response (400):
{
"message": "Bad Request."
}
Example response (401):
{
"message": "Unauthorized."
}
Example response (403):
{
"message": "Forbidden."
}
Example response (404):
{
"message": "Not Found."
}
Example response (405):
{
"message": "Method Not Allowed."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"password": [
"The password must be at least 6 characters."
]
}
}
HTTP Request
PUT v3/accounts/{account}/change_password
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
password | string | required | Password |
Configuration
List ports
This method is used for retrieving list of all ports which are using in Get configuration and Download a configuration methods.
Example request:
curl -X GET -G "https://api.vpnresellers.com/v3/ports" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"
const url = new URL("https://api.vpnresellers.com/v3/ports");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get("https://api.vpnresellers.com/v3/ports", [
'headers' => [
"Authorization" => "Bearer {token}",
"Accept" => "application/json",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (200):
{
"data": [
{
"id": 1,
"protocol": "udp",
"number": 1194,
"default": 1
},
{
"id": 2,
"protocol": "udp",
"number": 118,
"default": 0
},
{
"id": 3,
"protocol": "udp",
"number": 123,
"default": 0
}
]
}
Example response (400):
{
"message": "Bad Request."
}
Example response (401):
{
"message": "Unauthorized."
}
Example response (405):
{
"message": "Method Not Allowed."
}
HTTP Request
GET v3/ports
Get a configuration
This method is used for a retrieving configuration file to access to VPN server. server_id and port_id parameters can be got in List servers and List ports methods.
Example request:
curl -X GET -G "https://api.vpnresellers.com/v3/configuration" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"
const url = new URL("https://api.vpnresellers.com/v3/configuration");
let params = {
"server_id": "quis",
"port_id": "corrupti",
};
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get("https://api.vpnresellers.com/v3/configuration", [
'headers' => [
"Authorization" => "Bearer {token}",
"Accept" => "application/json",
],
'query' => [
"server_id" => "quis",
"port_id" => "corrupti",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (200):
{
"data": {
"download_url": "https:\/\/api.vpnresellers.com\/v3\/configuration\/download?server_id=3&port_id=3",
"file_body": "client\ndev tun\nremote bkk-s02.321inter.net\nport 123\nproto udp\npersist-key\npersist-tun\ncomp-lzo\nauth-user-pass\nnobind\nca ca.crt\nauth SHA256\ncipher AES-256-CBC\nkeysize 256\nfloat\ntun-mtu 48000\nfragment 0\nmssfix 0\n\n<ca>\n -----BEGIN CERTIFICATE-----\n MIIE3zCCA8egAwIBAgIJAKJYeXSXJzkNMA0GCSqGSIb3DQEBCwUAMIGlMQswCQYD\n VQQGEwJVUzELMAkGA1UECBMCVVMxEDAOBgNVBAcTB1ZQTkFzaXYxEDAOBgNVBAoT\n B1ZQTkFzaWExHTAbBgNVBAsTFE15T3JnYW5pemF0aW9uYWxVbml0MREwDwYDVQQD\n EwhjaGFuZ2VtZTEQMA4GA1UEKRMHRWFzeVJTQTEhMB8GCSqGSIb3DQEJARYSbWVA\n bXlob3N0Lm15ZG9tYWluMB4XDTE2MDIxNTIwMzIzNVoXDTI2MDIxMjIwMzIzNVow\n gaUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVUzEQMA4GA1UEBxMHVlBOQXNpdjEQ\n MA4GA1UEChMHVlBOQXNpYTEdMBsGA1UECxMUTXlPcmdhbml6YXRpb25hbFVuaXQx\n ETAPBgNVBAMTCGNoYW5nZW1lMRAwDgYDVQQpEwdFYXN5UlNBMSEwHwYJKoZIhvcN\n AQkBFhJtZUBteWhvc3QubXlkb21haW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw\n ggEKAoIBAQC3Qjh2JiLulXZkyjB9xb136o\/hy3UbHA0lnIovO1RI320TeOIbgfNr\n 3ZWcnNc1Fh4+SZbD4nZwe5Zk8PHdrm6dFM16CYU+vxaAnao8dbLRKnJq076zLzHr\n Wb12BI+yBr605cFqIFVYNtnPvzKYVd2vPGkA7BrZ7qUPMMPqaopQFUOfNh0QRTqp\n gcrAgexvkn3ia3IbEfd3OeFzU333buSu7\/+O55yS1\/lybfJyXQsxIDIPKe\/ZcIoL\n M9oK2x1uIHDcNa2uCsbphXVuuhtNgKDDU3AIga4MO\/5KpApFJfRLkCv7J+sAzVj1\n UwCcuqqNoY3CgKKsHwWlWgpN++KVGvLbAgMBAAGjggEOMIIBCjAdBgNVHQ4EFgQU\n QN6oOLM0U3kbaL\/y8Z2ZTZOJ7W4wgdoGA1UdIwSB0jCBz4AUQN6oOLM0U3kbaL\/y\n 8Z2ZTZOJ7W6hgaukgagwgaUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVUzEQMA4G\n A1UEBxMHVlBOQXNpdjEQMA4GA1UEChMHVlBOQXNpYTEdMBsGA1UECxMUTXlPcmdh\n bml6YXRpb25hbFVuaXQxETAPBgNVBAMTCGNoYW5nZW1lMRAwDgYDVQQpEwdFYXN5\n UlNBMSEwHwYJKoZIhvcNAQkBFhJtZUBteWhvc3QubXlkb21haW6CCQCiWHl0lyc5\n DTAMBgNVHRMEBTADAQH\/MA0GCSqGSIb3DQEBCwUAA4IBAQCFE5WZ5M0yid0ow\/7Z\n \/X4UIGvgvLwMK8JXkomcleRpVCXz2s55C6Huo0\/v\/UyOjP\/VU+MhKQrAgNmDPHwL\n 2Q+b6m3hxLiQ96C3j7nhqnRNsuU3Dm8KEOXC45QPFJZx5tCeqTCBPb874RdY\/vWg\n ZafdHFiCYxjiMnLk00I2DInVG5GDnwjQt6hqAN\/t+i\/q+Gl9fZXOP5CLIp7pxAmQ\n 5IAQSz4jnNHBtggS3h0055coNSMfGPS3z4jX8MMdEkXCGuLQW01mTZ+KuluWCo\/4\n PUuYbrMZW\/gQ\/T4hVgxYgraL0scjXidJhEJSgj4k3niJHcF\/j0mjZAYInv+d5UCv\n FjHt\n -----END CERTIFICATE-----\n\n<\/ca>",
"file_name": "TH-123.ovpn"
}
}
Example response (400):
{
"message": "Bad Request."
}
Example response (401):
{
"message": "Unauthorized."
}
Example response (405):
{
"message": "Method Not Allowed."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"server_id": [
"The server id field is required."
],
"port_id": [
"The selected port id is invalid."
]
}
}
HTTP Request
GET v3/configuration
Query Parameters
Parameter | Status | Description |
---|---|---|
server_id | required | Server ID |
port_id | optional | optional Port ID |
Download a configuration
This method uses for a retrieving configuration file for access to VPN server. server_id and port_id parameters can be got in List servers and List ports methods.
Example request:
curl -X GET -G "https://api.vpnresellers.com/v3/configuration/download" \
-H "Authorization: Bearer {token}" \
-H "Accept: text/html; charset=UTF-8"
const url = new URL("https://api.vpnresellers.com/v3/configuration/download");
let params = {
"server_id": "voluptas",
"port_id": "sint",
};
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Authorization": "Bearer {token}",
"Accept": "text/html; charset=UTF-8",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get("https://api.vpnresellers.com/v3/configuration/download", [
'headers' => [
"Authorization" => "Bearer {token}",
"Accept" => "text/html; charset=UTF-8",
],
'query' => [
"server_id" => "voluptas",
"port_id" => "sint",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (200):
File output
Example response (400):
{
"message": "Bad Request."
}
Example response (401):
{
"message": "Unauthorized."
}
Example response (405):
{
"message": "Method Not Allowed."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"server_id": [
"The server id field is required."
],
"port_id": [
"The selected port id is invalid."
]
}
}
HTTP Request
GET v3/configuration/download
Query Parameters
Parameter | Status | Description |
---|---|---|
server_id | required | Server ID |
port_id | optional | optional Port ID |
Geo Location
Get geo info
Example request:
curl -X GET -G "https://api.vpnresellers.com/v3/geoip" \
-H "Accept: application/json"
const url = new URL("https://api.vpnresellers.com/v3/geoip");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get("https://api.vpnresellers.com/v3/geoip", [
'headers' => [
"Accept" => "application/json",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (200):
{
"data": {
"ip": "127.0.0.0",
"country": "United States",
"iso_code": "US",
"city": "New Haven",
"lat": 41.31,
"lon": -72.92,
"continent": "NA"
}
}
Example response (400):
{
"message": "Bad Request."
}
Example response (405):
{
"message": "Method Not Allowed."
}
HTTP Request
GET v3/geoip
Servers
List servers
This method is used for retrieving list of all servers which are used in Get configuration and Download a configuration methods.
Example request:
curl -X GET -G "https://api.vpnresellers.com/v3/servers" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"
const url = new URL("https://api.vpnresellers.com/v3/servers");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get("https://api.vpnresellers.com/v3/servers", [
'headers' => [
"Authorization" => "Bearer {token}",
"Accept" => "application/json",
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (200):
{
"data": [
{
"id": 1,
"name": "ams-s02.321inter.net",
"ip": "46.249.36.188",
"country_code": "NL",
"city": "Amsterdam",
"capacity": 0
},
{
"id": 2,
"name": "rtm-s01.321inter.net",
"ip": "213.163.64.39",
"country_code": "NL",
"city": "Rotterdam",
"capacity": 0
},
{
"id": 3,
"name": "bkk-s02.321inter.net",
"ip": "45.64.186.109",
"country_code": "TH",
"city": "Bangkok",
"capacity": 0
},
{
"id": 4,
"name": "yvr-s01.321inter.net",
"ip": "71.19.251.107",
"country_code": "CA",
"city": "Vancouver",
"capacity": 0
}
]
}
Example response (400):
{
"message": "Bad Request."
}
Example response (401):
{
"message": "Unauthorized."
}
Example response (405):
{
"message": "Method Not Allowed."
}
HTTP Request
GET v3/servers