Документация
Обзор API и соглашения
Базовые URL, заголовки авторизации, форматы ответов, доступность и правила безопасности API RustMinerSystem.
Обзор API и соглашения
Этот раздел составлен по фактическим запросам нового frontend RustMinerSystem. Он охватывает администрирование mining proxy, режим Observer, групповое управление, WebSocket и встроенные административные endpoints PoolNode.
Текущий статус
Внешний API спроектирован без входа в UI: каждый запрос будет передавать отдельный custom authentication header. Этот механизм еще не реализован, поэтому:
- внешний API client не вызывает endpoints входа и не получает backend login TOKEN;
- endpoints входа сохранены только как перечень внутренних вызовов frontend, а не как предварительный этап API;
- после реализации custom header нужно описать создание ключа, scopes, отзыв, срок действия, ограничения источника и rate limit;
- фактические поля и ответы зависят от версии backend.
Базовый URL
В адрес входит URL панели RustMinerSystem и ее safe route:
https://host:web-port/{safe-route}/api/...
Если панель открывается по https://miner.example.com/rms-admin/, список портов находится по адресу:
https://miner.example.com/rms-admin/api/ports
Без safe route API находится в корне сайта. Reverse proxy должен сохранять safe route и custom API header.
Заголовок авторизации API
API не требует входа. После реализации каждый запрос будет отправлять:
<имя custom header>: <API credential>
Content-Type: application/json
Официальное имя header и формат credential будут добавлены после реализации backend. Сторонний client не должен использовать Authorization: Bearer <login token> панели как замену.
Read-only запросы Observer используют отдельный credential:
X-OB-TOKEN: <Observer token>
Interceptor встроенного frontend также записывает нестандартный ContentType. Это внутренняя деталь UI; сторонние клиенты должны использовать стандартный Content-Type.
Ответы и ошибки
Endpoints mining proxy обычно возвращают объект, массив, строку или число непосредственно в body. Часть административных endpoints PoolNode использует envelope:
{
"status": 0,
"error": null,
"data": {}
}
| Состояние | Значение |
|---|---|
200 |
HTTP-запрос успешен; дополнительно проверьте результат операции или PoolNode status. |
401 / 403 |
API credential отсутствует, неверен или имеет недостаточно прав; итоговое поведение будет определено после реализации custom header. |
423 |
Внутренняя UI-операция требует TOTP; поведение внешнего API еще не определено. |
PoolNode status: 4 |
Проект PoolNode еще не активирован. |
Причина ошибки может находиться в message, error или бизнес-поле status. HTTP 200 не всегда означает успешную бизнес-операцию.
Охват
Новый frontend определяет 146 идентификаторов API и реально использует 140. Документация разделена на:
- API headers, permissions и границу внутренних UI sessions;
- dashboard, версии и системные настройки;
- proxy ports и fee wallets;
- workers, статистику кошельков, графики и логи;
- web security, сертификаты и firewall;
- read-only Observer;
- fleet forwarding;
- проекты, сайт, доход и subaccounts PoolNode;
- WebSocket и обработку ошибок.
Рекомендации по безопасности
- Публикуйте API только через HTTPS.
- Не помещайте API, Observer или fleet credentials в URL, логи и снимки экрана.
- Создайте backup перед изменением портов, кошельков, allowlist, сертификатов и safe route.
- Используйте connect/read/total timeout и ограниченный exponential backoff.
- До появления custom API headers не рекомендуется публиковать внутренние административные endpoints напрямую в Интернет.
