bezant-server 0.3.0

HTTP sidecar exposing the bezant IBKR CPAPI client over REST
Documentation

bezant-server

HTTP sidecar exposing the IBKR Client Portal Web API over REST.

Runs next to the IBKR Client Portal Gateway (in the same Docker network, pod, or host) and gives any language — Node, Python, Go, shell — a clean REST/JSON surface to talk to IBKR, without needing to link Rust.

┌──────────────┐  HTTP/JSON  ┌────────────────┐  HTTPS+cookie  ┌─────────┐
│  your bot    │───────────► │ bezant-server  │───────────────►│ IBKR    │
│ (any lang)   │             │  (this binary) │                │ Gateway │
└──────────────┘             └────────────────┘                └─────────┘

Endpoints (v0.1)

Method Path Upstream CPAPI
GET /health POST /iserver/auth/status
GET /accounts GET /portfolio/accounts
GET /accounts/:id/summary GET /portfolio/{id}/summary
GET /accounts/:id/positions?page=N GET /portfolio/{id}/positions/{N}
GET /accounts/:id/ledger GET /portfolio/{id}/ledger
GET /contracts/search?symbol=X POST /iserver/secdef/search
GET /market/snapshot?conids=A,B&fields=… GET /iserver/marketdata/snapshot?…

All upstream responses are returned verbatim (JSON body + original status). Auth errors map to 401 not_authenticated / 503 no_session.

Running

cargo run -p bezant-server -- \
  --gateway-url https://localhost:5000/v1/api \
  --bind 0.0.0.0:8080

Or via env vars: IBKR_GATEWAY_URL, BEZANT_BIND, BEZANT_KEEPALIVE_SECS.

License

Dual-licensed under MIT or Apache-2.0 at your option.