Документация 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— превышен лимит запросов