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

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

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

Authorization: Bearer API_TOKEN

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

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

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

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

Эндпоинты

GET/api/v1/balanceБаланс аккаунта
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)
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Продлить на 30 дней
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 -X POST https://nodex-go.com/api/v1/servers \
  -H "Authorization: Bearer ndx_..." \
  -H "Content-Type: application/json" \
  -d '{"name":"my-server","locationId":1,"osTemplateId":1,"planId":2}'

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

{
  "server": {
    "id": 12,
    "name": "my-server",
    "status": "active",
    "ipAddress": "185.10.20.30",
    "plan": { "name": "VPS Basic", "cpu": 2, "ram": 4096 }
  },
  "rootPassword": "shown-once"
}

Ошибки

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