[ reference · api ]
REST API reference
All NVTrader REST endpoints in one place. Grouped by resource. Verbs follow the convention: GET = read, POST = write/run, DELETE = unlink/cancel. Examples assume the demo host at http://127.0.0.1:8015.
Auth
Most endpoints require a JWT bearer token from POST /api/auth/login. The token is also set as a cookie automatically by the login page.
| Verb | Path | Purpose |
| POST | /api/auth/register | First user becomes admin. |
| POST | /api/auth/login | Returns {access_token, role}. |
| POST | /api/auth/logout | Invalidate session. |
Health
| Verb | Path | Purpose |
| GET | /api/health | {ok: true} if app is up. ~3 ms p50. |
| GET | /api/health/deep | Also pokes each linked provider; ~1 s. |
Portfolio
| Verb | Path | Purpose |
| GET | /api/portfolio/state | Equity, day Δ, buying power, positions. |
| GET | /api/portfolio/equity | Cumulative-return series. |
| GET | /api/portfolio/risk_return | Per-holding vol+return scatter. |
| POST | /api/portfolio/rebalance | Run plan + compliance verdict. |
| POST | /api/portfolio/decision | Approve / Override / Reject. |
Broker & orders
| Verb | Path | Purpose |
| GET | /api/broker/active | Active broker id. |
| POST | /api/broker/switch | Atomic swap. |
| GET | /api/broker/orders | Orders. Query: status, since. |
| POST | /api/broker/place | One-shot order. |
| DELETE | /api/broker/orders/{id} | Cancel. |
Data
| Verb | Path | Purpose |
| GET | /api/data/providers | Per-endpoint health. |
| GET | /api/data/bars | OHLCV. |
| GET | /api/data/news | Recent news. |
| GET | /api/data/filings | EDGAR filings. |
Research
| Verb | Path | Purpose |
| GET | /api/research/symbol/{sym} | Bars + stats + peers. |
| POST | /api/research/vlm | Nano Omni chart read. |
| POST | /api/research/deep | AIQ DeepResearch. |
Backtest
| Verb | Path | Purpose |
| POST | /api/backtest/run | Walk-forward. |
| POST | /api/backtest/solve_once | Single cuFOLIO solve. |
| POST | /api/backtest/autoresearch | Parameter sweep. |
| GET | /api/backtest/history | Past runs. |
| POST | /api/backtest/save_strategy | Persist as sleeve. |
Models · RL · preferences
| Verb | Path | Purpose |
| GET | /api/rl/status | Active RL run. |
| POST | /api/rl/train | Start a run. |
| GET | /api/rl/curve/{run_id} | Training curve. |
| GET | /api/preferences/status | DPO readiness. |
| POST | /api/preferences/extract | Refresh DPO dataset. |
| GET | /api/preferences/fingerprint | Style fingerprint. |
| GET | /api/scheduler/jobs | Scheduler state. |
| POST | /api/scheduler/run_now/{job_id} | Manual fire. |
Chat
| Verb | Path | Purpose |
| POST | /api/chat | One turn. |
| POST | /api/chat/stream | Streaming SSE. |
| GET | /api/chat/tools | Registered tools. |
Bus & observability
| Verb | Path | Purpose |
| GET | /api/bus/agents | Registry topology. |
| GET | /api/bus/events | Event ring buffer. |
| POST | /api/bus/trigger | Fire an event. |
| GET | /api/observability/traces | OTel spans. |
| GET | /api/observability/stats | Latency aggs. |
| GET | /api/observability/llm | LLM utilization rows. |
Compliance & audit
| Verb | Path | Purpose |
| POST | /api/compliance/check | Verdict for a plan. |
| GET | /api/compliance/config | Effective rules. |
| GET | /api/audit/decisions | Rebalance decision ledger. |
Setup & account
| Verb | Path | Purpose |
| GET | /api/setup/providers | Provider catalog + status. |
| GET | /api/setup/guide/{cat}/{prov} | Playbook md. |
| POST | /api/setup/link | Store a key. |
| POST | /api/setup/test | Smoke a provider. |
| GET | /api/account/me | Profile. |
| GET | /api/account/keys | Linked providers. |
| GET | /api/account/tenant | Theme. |
| POST | /api/account/tenant | Update theme (admin). |