Документация API

Аутентификация

Создайте токен в панели → раздел «API». Передавайте его в заголовке:

Authorization: Bearer API_TOKEN

Токен показывается один раз при создании. Храните его в секрете — он хранится у нас только в виде хэша.

Базовый URL и лимиты

Базовый URL: https://nodex-go.com

Лимит: 60 запросов в минуту на токен. При превышении — 429 Too Many Requests.

Эндпоинты

GET/api/v1/balanceБаланс аккаунта
GET/api/v1/locationsЛокации (id → locationId)
GET/api/v1/plansТарифы с ценой по вашей скидке; ?locationId= — по стране (id → planId, osTemplates[].id → osTemplateId)
GET/api/v1/osШаблоны ОС (точный список для тарифа — в osTemplates тарифа)
GET/api/v1/serversСписок всех серверов
GET/api/v1/servers/:idСервер по ID
GET/api/v1/servers/by-ip/:ipСервер по IP
POST/api/v1/serversСоздать сервер (name, locationId, osTemplateId, planId, months: 1/3/6/12)
GET/api/v1/servers/:id/vncКонсоль: wss-адрес и пароль для noVNC (если площадка отдаёт консоль)
POST/api/v1/servers/:id/startВключить
POST/api/v1/servers/:id/stopОстановить
POST/api/v1/servers/:id/rebootПерезагрузить
POST/api/v1/servers/:id/reinstallПереустановить ОС (osTemplateId, password)
POST/api/v1/servers/:id/change-passwordСменить root-пароль (password)
POST/api/v1/servers/:id/renewПродлить (months: 1/3/6/12, по умолчанию 1)
POST/api/v1/servers/:id/upgradeПовысить тариф (planId)
DELETE/api/v1/servers/:idУдалить сервер

Примеры

Список серверов:

curl https://nodex-go.com/api/v1/servers \
  -H "Authorization: Bearer ndx_xxxxxxxxxxxxxxxxxxxxxxxx"

Справочники перед созданием:

curl https://nodex-go.com/api/v1/locations -H "Authorization: Bearer ndx_..."
curl "https://nodex-go.com/api/v1/plans?locationId=39" -H "Authorization: Bearer ndx_..."

Создание сервера:

curl -X POST https://nodex-go.com/api/v1/servers \
  -H "Authorization: Bearer ndx_..." \
  -H "Content-Type: application/json" \
  -d '{"name":"my-server","locationId":39,"osTemplateId":109,"planId":274,"months":1}'

Пример ответа:

{
  "server": {
    "id": 12,
    "name": "my-server",
    "status": "provisioning",
    "ipAddress": "185.10.20.30",
    "plan": { "id": 274, "name": "Start", "cpu": 1, "ram": 1024 }
  },
  "rootPassword": "xK9...p2Q"
}

rootPassword возвращается в ответе на создание и в карточке сервера. Статус нового сервера сначала provisioning — опрашивайте GET /api/v1/servers/:id, пока не станет active (обычно 1–3 минуты).

Ошибки

  • 401 — отсутствует или недействителен токен
  • 402 — недостаточно средств (при создании сервера)
  • 400 — ошибка валидации (поле message в ответе)
  • 404 — ресурс не найден
  • 429 — превышен лимит запросов

Мы используем файлы cookie: необходимые — для входа в аккаунт и языка интерфейса, аналитические — чтобы понимать, какими страницами пользуются. Сторонних рекламных систем у нас нет. Подробнее