Использование API

Некоторые функции сайта доступны через API. Для запросов требуется API_KEY, который можно получить в личном кабинете после регистрации.

Для авторизации GET к запросу добавляется параметр `?apikey=[API_KEY]`.
Для POST-запросов параметр `apikey` добавляется в POST.

Ответы API

В случае успешного завершения возвращается ответ в JSON. В случае ошибок в параметрах запроса, описание ошибки будет возвращено в поле `error`.

Код HTTP Описание
200 Ответ получен
403 Нет доступа: не указан `API_KEY` или недостаточно прав для функции которую вы запросили.
5xx Ошибка сервера. Что-то пошло не так, мы уведомлены об ошибке и скоро ее исправим.

Выделенные серверы

Лимиты трафика

URL: /api/ds/34-[order_id]/traffic_used.json
Метод запроса: GET
Параметры URL:

  • order_id - номер заказа

Пример запроса:
import requests

requests.get("https://fornex.com/api/ds/34-1234/traffic_used.json", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/ds/34-1234/traffic_used.json" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "range_end": "2015-11-21", 
  "range_start": "2015-10-21", 
  "used": 3508146044885.079, 
  "used_rate": 0.24543386468220252, 
  "limit": 14293651161088.0, 
  "order": "34-1234 DS XeonNeon (example.net)"
}

Трафик

URL: /api/ds/34-[order_id]/traffic.json
Метод запроса: GET
Параметры URL:

  • order_id - номер заказа

Параметры запроса:

  • period - период для отображения статистики [`month`|`year`], по умолчанию - `month`
  • port - порядковый номер порта, по умолчанию - `0`

Пример запроса:
import requests

requests.get("https://fornex.com/api/ds/34-1234/traffic.json", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/ds/34-1234/traffic.json" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "data": [
    [
      "2015-11-11", 
      {
        "input": 41348840999.42331, 
        "output": 969929788001.3163
      }
    ], 
    [
      "2015-11-12", 
      {
        "input": 44384423647.10196, 
        "output": 1019910108491.1565
      }
    ]
  ], 
  "order": "34-1234 DS HyperXeon (example.net)", 
  "period": "month"
}
Дополнительно:

В ответе: `input`, `output` - трафик в байтах.

Тикеты

Настроить webhook

На указанный URL будет отправлен POST-запрос

ContentType: 'application/json'
{text: 'К тикету добавлен новый комментарий...'}

По умолчанию работает со Slack, но вы можете указать собственный webhook и обработать уведомление самостоятельно.

URL: /api/tickets/webhook_set/
Метод запроса: POST
Параметры запроса:

  • url - URL на который будет отправлен запрос, для отключения - укажите пустую строку

Пример запроса:
$ curl "https://fornex.com/api/tickets/webhook_set/" \
  --data "url=https%3A%2F%2Fhooks.slack.com%2Fservices%2FT00000000%2FB00000000%2FXXXXXXXXXXXXXXXXXXXXXXXX&apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "ok": true
}

Статус webhook

URL: /api/tickets/webhook_info/
Метод запроса: GET
Пример запроса:
import requests

requests.get("https://fornex.com/api/tickets/webhook_info/", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/tickets/webhook_info/" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX", 
  "last_error_message": null, 
  "last_error_date": null
}

Аккаунт

Баланс

URL: /api/account/balance
Метод запроса: GET
Пример запроса:
import requests

requests.get("https://fornex.com/api/account/balance", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/account/balance" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "currency": "EUR", 
  "balance": 91.0
}

Информация

URL: /api/account/info
Метод запроса: GET
Пример запроса:
import requests

requests.get("https://fornex.com/api/account/info", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/account/info" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "email": "example@fornex.com", 
  "name": "Example Account"
}

Счета

URL: /api/account/invoices
Метод запроса: GET
Пример запроса:
import requests

requests.get("https://fornex.com/api/account/invoices", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/account/invoices" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "currency": "EUR", 
  "unpaid_invoices_amount": 100, 
  "unpaid_invoices_count": 1
}

Тарифы

VPN

URL: /api/plans/vpn
Метод запроса: GET
Пример запроса:
import requests

requests.get("https://fornex.com/api/plans/vpn", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/plans/vpn" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
[
  {
    "price": 10.0, 
    "available_locations": [
      "DE", 
      "NL", 
      "US", 
      "RU"
    ], 
    "type": "dedicated", 
    "id": 1
  }
]

Бэкапы

URL: /api/plans/backups
Метод запроса: GET
Пример запроса:
import requests

requests.get("https://fornex.com/api/plans/backups", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/plans/backups" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
[
  {
    "units": "Gb", 
    "price": 3.0, 
    "space": 100
  }, 
  {
    "units": "Gb", 
    "price": 4.5, 
    "space": 150
  }, 
  {
    "units": "Gb", 
    "price": 6.0, 
    "space": 200
  }
]

Виртуальные сервера

URL: /api/plans/vps
Метод запроса: GET
Пример запроса:
import requests

requests.get("https://fornex.com/api/plans/vps", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/plans/vps" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
[
  {
    "ram": "16 ГБ", 
    "name": "DS XeonSAS", 
    "price": 198.0, 
    "cpu_count": 1, 
    "bandwidth": "1 Гбит/сек", 
    "disk": "4 × 300 ГБ SAS 15k", 
    "id": 101
  }
]

Выделенные сервера

URL: /api/plans/dedicated
Метод запроса: GET
Пример запроса:
import requests

requests.get("https://fornex.com/api/plans/dedicated", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/plans/dedicated" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
[
  {
    "bandwidth": "1 Гбит/сек", 
    "disk": "4 × 300 ГБ SAS 15k", 
    "name": "DS XeonSAS", 
    "price": 198.0, 
    "cpu_count": 1, 
    "ram": "16 ГБ", 
    "cpu_model": "Intel Xeon E3-1270 (4×3.4Ghz)", 
    "id": 101
  }
]

Хостинг

URL: /api/plans/hosting
Метод запроса: GET
Пример запроса:
import requests

requests.get("https://fornex.com/api/plans/hosting", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/plans/hosting" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
[
  {
    "sites": 2, 
    "mail_domains": "2", 
    "name": "VH-SSD-2", 
    "hdd_space": 1000, 
    "databases": "2", 
    "price": 1.0, 
    "available_locations": [
      "DE", 
      "RU"
    ], 
    "mailboxes": "20", 
    "cpu_cores": 1, 
    "id": 33
  }
]

VPS

Hard reset

URL: /api/vps/hard_reset/[order_id]/
Метод запроса: POST
Параметры URL:

  • order_id - номер заказа

Пример запроса:
import requests

requests.post("https://fornex.com/api/vps/hard_reset/34-177054/", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/vps/hard_reset/34-177054/" \
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "ok": "True"
}
Дополнительно:

Поле `ok` ответа содержит статус выполнения команды.

Включить

URL: /api/vps/start/[order_id]/
Метод запроса: POST
Параметры URL:

  • order_id - номер заказа

Пример запроса:
import requests

requests.post("https://fornex.com/api/vps/start/34-177054/", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/vps/start/34-177054/" \
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "ok": "True"
}
Дополнительно:

Поле `ok` ответа содержит статус выполнения команды.

Выключить

URL: /api/vps/stop/[order_id]/
Метод запроса: POST
Параметры URL:

  • order_id - номер заказа

Пример запроса:
import requests

requests.post("https://fornex.com/api/vps/stop/34-177054/", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/vps/stop/34-177054/" \
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "ok": "True"
}
Дополнительно:

Поле `ok` ответа содержит статус выполнения команды.

Перезагрузить

URL: /api/vps/restart/[order_id]/
Метод запроса: POST
Параметры URL:

  • order_id - номер заказа

Пример запроса:
import requests

requests.post("https://fornex.com/api/vps/restart/34-177054/", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/vps/restart/34-177054/" \
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "ok": "True"
}
Дополнительно:

Поле `ok` ответа содержит статус выполнения команды.

Сбросить пароль root

URL: /api/vps/passwd_reset/[order_id]/
Метод запроса: GET
Параметры URL:

  • order_id - номер заказа

Пример запроса:
import requests

requests.get("https://fornex.com/api/vps/passwd_reset/34-177054/", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/vps/passwd_reset/34-177054/" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "passwd": "newstrongpassword", 
  "ok": true
}
Дополнительно:

Поле `passwd` ответа содержит ваш новый пароль.

Статистика

URL: /api/vps_stat/[order_id]/[field]/[start]--[end].json
Метод запроса: GET
Параметры URL:

  • order_id - номер заказа
  • field - поле статистики [`cpu`|`memory`|`traffic`|`disk`|`inodes`|`io`]
  • start - дата начала
  • end - дата конца

Пример запроса:
import requests

requests.get("https://fornex.com/api/vps_stat/34-177054/traffic/2015-11-16--2015-11-17.json", {  
  "apikey": "PERSONAL_API_KEY"
})
Пример ответа:
{
  "series": [
    {
      "name": "Входящий", 
      "color": "#60B5FF", 
      "pointInterval": 300000, 
      "pointStart": 1447687200000, 
      "pointEnd": 1447773600000, 
      "data": [
        61410.9215552, 
        65379.49276, 
        67115.7455904
      ]
    }, 
    {
      "name": "Исходящий", 
      "color": "#61D561", 
      "type": "areaspline", 
      "pointInterval": 300000, 
      "pointStart": 1447687200000, 
      "pointEnd": 1447773600000, 
      "data": [
        4585.92634648, 
        4575.14841552, 
        4636.41519648
      ]
    }
  ], 
  "subtitle": "16 ноября 2015, 17:18 - 17 ноября 2015, 17:18 (Europe/Moscow)"
}
Дополнительно:

Поле `series` ответа структурированно в формате для Highcharts, параметры `pointStart`, `pointEnd`, указывают начало и конец в формате `unixtime * 1000`, `pointInterval` - интервал между значениями в поле data.

Статус

URL: /api/vps/status/[order_id]/
Метод запроса: GET
Параметры URL:

  • order_id - номер заказа

Пример запроса:
import requests

requests.get("https://fornex.com/api/vps/status/34-177054/", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/vps/status/34-177054/" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "status": "off"
}
Дополнительно:

Поле `status` ответа содержит статус VPS.

SSH

Добавить ключ

URL: /api/ssh_keys/add/
Метод запроса: POST
Параметры запроса:

  • title - название ключа
  • key - ключ

Пример запроса:
import requests

requests.post("https://fornex.com/api/ssh_keys/add/", {  
  "apikey": "PERSONAL_API_KEY", 
  "key": "ssh-rsa tt3BPrBTUCasdasdGXsCXmiF03LD/f9 test@test", 
  "title": "test key"
})
$ curl "https://fornex.com/api/ssh_keys/add/" \
  --data "apikey=PERSONAL_API_KEY&key=ssh-rsa+tt3BPrBTUCasdasdGXsCXmiF03LD%2Ff9+test%40test&title=test+key"
Пример ответа:
[
  {
    "date": "19 декабря 2017 г.", 
    "id": 67, 
    "key": "ssh-rsa tt3BPrBTUCGXsCXmiF03LD/f9 test@test", 
    "title": "test@test"
  }
]

Добавить ключ к заказу

URL: /api/ssh_keys/[order_id]/add/
Метод запроса: POST
Параметры URL:

  • order_id - номер заказа

Параметры запроса:

  • key_pk - id ключа

Пример запроса:
import requests

requests.post("https://fornex.com/api/ssh_keys/34-177054/add/", {  
  "apikey": "PERSONAL_API_KEY", 
  "key_pk": "99"
})
$ curl "https://fornex.com/api/ssh_keys/34-177054/add/" \
  --data "apikey=PERSONAL_API_KEY&key_pk=99"
Пример ответа:
{
  "ok": true
}

Список ключей заказа

URL: /api/ssh_keys/[order_id]/
Метод запроса: GET
Параметры URL:

  • order_id - номер заказа

Пример запроса:
import requests

requests.get("https://fornex.com/api/ssh_keys/34-177054/", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/ssh_keys/34-177054/" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
[
  {
    "date": "19 декабря 2017 г.", 
    "id": 67, 
    "key": "ssh-rsa tt3BPrBTUCGXsCXmiF03LD/f9 test@test", 
    "title": "test@test"
  }
]

Список ключей пользователя

URL: /api/ssh_keys/
Метод запроса: GET
Пример запроса:
import requests

requests.get("https://fornex.com/api/ssh_keys/", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/ssh_keys/" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
[
  {
    "date": "19 декабря 2017 г.", 
    "id": 67, 
    "key": "ssh-rsa tt3BPrBTUCGXsCXmiF03LD/f9 test@test", 
    "title": "test@test"
  }
]

Удалить ключ

URL: /api/ssh_keys/delete/
Метод запроса: POST
Параметры запроса:

  • key_pk - id ключа

Пример запроса:
import requests

requests.post("https://fornex.com/api/ssh_keys/delete/", {  
  "apikey": "PERSONAL_API_KEY", 
  "key_pk": "74"
})
$ curl "https://fornex.com/api/ssh_keys/delete/" \
  --data "apikey=PERSONAL_API_KEY&key_pk=74"
Пример ответа:
{
  "ok": true
}

Удалить ключ заказа

URL: /api/ssh_keys/[order_id]/delete/
Метод запроса: POST
Параметры URL:

  • order_id - номер заказа

Параметры запроса:

  • key_pk - id ключа

Пример запроса:
import requests

requests.post("https://fornex.com/api/ssh_keys/34-177054/delete/", {  
  "apikey": "PERSONAL_API_KEY", 
  "key_pk": "74"
})
$ curl "https://fornex.com/api/ssh_keys/34-177054/delete/" \
  --data "apikey=PERSONAL_API_KEY&key_pk=74"
Пример ответа:
{
  "ok": true
}

DNS

Добавить домен

Защищенный метод

Для использования этого метода обратитесь в техподдержку и запросите права на редактирование DNS.

URL: /api/dns/v0.1/add_domain/
Метод запроса: POST
Параметры запроса:

  • name - Доменное имя
  • ip - IP адрес

Пример запроса:
import requests

requests.post("https://fornex.com/api/dns/v0.1/add_domain/", {  
  "ip": "127.0.0.1", 
  "apikey": "PERSONAL_API_KEY", 
  "name": "example.com"
})
$ curl "https://fornex.com/api/dns/v0.1/add_domain/" \
  --data "ip=127.0.0.1&apikey=PERSONAL_API_KEY&name=example.com"
Пример ответа:
{
  "ok": true, 
  "name": "example.com"
}

Добавить запись

URL: /api/dns/v0.1/[name]/entry_set/add/
Метод запроса: POST
Параметры URL:

  • name - домен

Параметры запроса:

  • host - Хостнейм записи: `@, *, subdomain`
  • type - Тип записи: `A, AAAA, TXT, CNAME, NS, MX, SRV`
  • value - Значение записи, в соответствии с типом, например IP для A-записей
  • prio - Приоритет, используется только для SRV и MX

Пример запроса:
import requests

requests.post("https://fornex.com/api/dns/v0.1/example.com/entry_set/add/", {  
  "host": "example", 
  "apikey": "PERSONAL_API_KEY", 
  "type": "A", 
  "value": "1.2.3.4", 
  "prio": "5"
})
$ curl "https://fornex.com/api/dns/v0.1/example.com/entry_set/add/" \
  --data "host=example&apikey=PERSONAL_API_KEY&type=A&value=1.2.3.4&prio=5"
Пример ответа:
{
  "pk": 123, 
  "ok": true
}

Записи домена

URL: /api/dns/v0.1/[name]/entry_set.json
Метод запроса: GET
Параметры URL:

  • name - домен

Параметры запроса:

  • q - фильтр записей

Пример запроса:
import requests

requests.get("https://fornex.com/api/dns/v0.1/example.com/entry_set.json", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/dns/v0.1/example.com/entry_set.json" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "entry_set": [
    {
      "value": "127.0.0.1", 
      "host": "", 
      "type": "A", 
      "id": 12344, 
      "prio": null
    }, 
    {
      "value": "aspmx.l.google.com", 
      "host": "", 
      "type": "MX", 
      "id": 12345, 
      "prio": 1
    }
  ]
}

Обновить запись

URL: /api/dns/v0.1/[name]/entry_set/[pk]/
Метод запроса: POST
Параметры URL:

  • name - домен
  • pk - ID записи

Параметры запроса:

  • host - Хостнейм записи: `@, *, subdomain`
  • type - Тип записи: `A, AAAA, TXT, CNAME, NS, MX, SRV`
  • value - Значение записи, в соответствии с типом, например IP для A-записей
  • prio - Приоритет, используется только для SRV и MX

Пример запроса:
import requests

requests.post("https://fornex.com/api/dns/v0.1/example.com/entry_set/366182/", {  
  "host": "example", 
  "apikey": "PERSONAL_API_KEY", 
  "type": "A", 
  "value": "1.2.3.4", 
  "prio": "5"
})
$ curl "https://fornex.com/api/dns/v0.1/example.com/entry_set/366182/" \
  --data "host=example&apikey=PERSONAL_API_KEY&type=A&value=1.2.3.4&prio=5"
Пример ответа:
{
  "ok": true
}

Список доменов

URL: /api/dns/v0.1/domain_list.json
Метод запроса: GET
Параметры запроса:

  • q - поиск по названию или ip
  • tag - фильтрация по тегу

Пример запроса:
import requests

requests.get("https://fornex.com/api/dns/v0.1/domain_list.json", {  
  "q": "10.10.10.18", 
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/dns/v0.1/domain_list.json" --get\
  --data "q=10.10.10.18&apikey=PERSONAL_API_KEY"
Пример ответа:
[
  {
    "updated": "2017-02-05T21:41:25", 
    "tags": [], 
    "entry_set": [
      {
        "host": "", 
        "type": "A", 
        "id": 366182, 
        "value": "10.10.10.18"
      }
    ], 
    "name": "test.com", 
    "created": "2013-04-16T19:07:10"
  }
]

Удалить домен

Защищенный метод

Для использования этого метода обратитесь в техподдержку и запросите права на редактирование DNS.

URL: /api/dns/v0.1/[name]/delete_domain/
Метод запроса: POST
Параметры URL:

  • name - домен

Пример запроса:
import requests

requests.post("https://fornex.com/api/dns/v0.1/example.com/delete_domain/", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/dns/v0.1/example.com/delete_domain/" \
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
{
  "ok": true
}

Удалить запись

URL: /api/dns/v0.1/[name]/entry_set/[pk]/delete/
Метод запроса: POST
Параметры URL:

  • name - домен
  • pk - ID записи

Пример запроса:
import requests

requests.post("https://fornex.com/api/dns/v0.1/example.com/entry_set/366182/delete/", {  
  "apikey": "PERSONAL_API_KEY"
})
Пример ответа:
{
  "ok": true
}

Файл зоны

URL: /api/dns/v0.1/[name]/zone_file/
Метод запроса: GET
Параметры URL:

  • name - домен

Пример запроса:
import requests

requests.get("https://fornex.com/api/dns/v0.1/example.com/zone_file/", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/dns/v0.1/example.com/zone_file/" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
$TTL 21600
@	IN	SOA	ns1.fornex.com. hostmaster.fornex.com. (
...

Домены

Изменить NS

URL: /change_ns/[order_id]/
Метод запроса: POST
Параметры URL:

  • order_id - номер заказа

Параметры запроса:

  • nss - список NS, разделенных запятой

Пример запроса:
import requests

requests.post("https://fornex.com/change_ns/375-13/", {  
  "apikey": "PERSONAL_API_KEY", 
  "nss": "ns1.company.com,ns2.company.com"
})
$ curl "https://fornex.com/change_ns/375-13/" \
  --data "apikey=PERSONAL_API_KEY&nss=ns1.company.com%2Cns2.company.com"
Пример ответа:
[
  {
    "ok": true
  }
]

VPN

Скачать конфиг

URL: /api/vpn/[order]/config-[proto].ovpn
Метод запроса: GET
Параметры URL:

  • order - номер заказа
  • proto - протокол [`tcp`|`udp`]

Пример запроса:
import requests

requests.get("https://fornex.com/api/vpn/301-12312/config-udp.ovpn", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/vpn/301-12312/config-udp.ovpn" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
 client
 dev tun
 <connection>
    remote 209.222.104.210 443 udp
 </connection>
 ...
 

Заказы

Список заказов

URL: /api/orders/list
Метод запроса: GET
Пример запроса:
import requests

requests.get("https://fornex.com/api/orders/list", {  
  "apikey": "PERSONAL_API_KEY"
})
$ curl "https://fornex.com/api/orders/list" --get\
  --data "apikey=PERSONAL_API_KEY"
Пример ответа:
[
  {
    "status": "active", 
    "cost_month": 148.0, 
    "name": "user-defined-name", 
    "type": "vps", 
    "expiration_date": "2015-12-18T17:21:46", 
    "hostname": "srv-123.fornex.org", 
    "tariff": "VPS Master", 
    "id": "34-1234", 
    "ipaddress_set": [
      "123.123.123.123"
    ]
  }
]