メインコンテンツまでスキップ

API 概要

すべての NMMiner デバイスは ポート 80 で HTTP サーバーを実行し、完全な REST スタイルの API を公開しています。この API は以下によって使用されます:

  • 内蔵の NM Monitor ブラウザ UI。
  • Swarm アグリゲーター。
  • ユーザー、ダッシュボード、Grafana プラグイン、Python スクリプトなど、ステータスの読み取りや設定の送信を行いたいすべての人。

✅ このページは 公開契約 を文書化します:パス、メソッド、リクエストボディ、レスポンスボディ、ステータスコード。 ❌ 実装については文書化 しません。デバイスは HTTP 経由で到達可能なブラックボックスとして扱ってください。

ベース URL​

http://<miner-ip>/

またはホスト名(ほとんどのホームルーターは解決できます):

http://<miner-hostname>/

IP / ホスト名は、デバイス画面の Miner ページ、または NM Monitor の System セクションで確認できます。

CORS​

すべてのエンドポイントは以下で応答します:

Access-Control-Allow-Origin: *

これにより、プロキシなしで任意のブラウザページから API を呼び出せます。

認証​

現時点では 認証はありません。API は信頼できる LAN 内から使用することを前提としています。独自のゲートウェイなしで公共のインターネットに公開しないでください。

コンテンツタイプ​

  • リクエストボディは application/json を使用します。
  • レスポンスボディは application/json または text/plain です。
  • すべてのエンドポイントは CORS プリフライト OPTIONS リクエストを受け入れ、応答します。

カテゴリ​

カテゴリエンドポイント
DiscoveryGET /probe, GET /alive
SystemGET /api/system/info, POST /api/system/restart
Network settingsGET/POST /api/setting/network
Mining settingsGET/POST /api/setting/mining
Time settingsGET/POST /api/setting/time
Preference settingsGET/POST /api/setting/preference
Market settingsGET/POST /api/setting/market, GET /api/market/pairs
Weather settingsGET/POST /api/setting/weather, POST /api/weather/refresh
Swarm findPOST /api/swarm/find
Screensaver uploadGET /api/update/screensaver/preflight, POST /api/update/screensaver
ExamplescURL / Python / JavaScript

バージョニング​

契約は マイナーファームウェアバージョン間で安定しています(例:v2.0.x)。破壊的変更は GitHub リリースログ で明示されます。

ステータスコード​

コード意味
200OK — レスポンスボディがドキュメント化されたスキーマと一致。
204OK — CORS プリフライトに使用。
400不正なリクエスト — 通常は無効な JSON または範囲外の値。
404そのようなエンドポイントはありません。
413ペイロードが大きすぎる(スクリーンセーバーアップロードのみ)。
429レート制限 — 現在 /api/weather/refresh で使用。
500デバイスエラー(例:アップロード中のファイルシステム書き込み失敗)。

ディスカバラビリティ​

http://<miner-ip>/api-doc にアクセスすると、マイナー自身が配信するライブ HTML リファレンスを確認できます。実際の API がこの Wiki と異なる場合、デバイスのライブ /api-doc が常に優先されます。