API reference
VECTOR's frontend talks to a FastAPI backend over a REST API. This page documents that surface for transparency.
Internal API
This API exists to serve the VECTOR web app. It is authentication-gated, scoped to your user, and not a public, versioned contract — endpoints may change without notice. There is no public API key programme.
Authentication
Every request carries a Supabase JWT as Authorization: Bearer <token> (or, in local development, a
backend-signed cookie). The backend verifies it and resolves your user_id; unauthenticated requests are
rejected. See Security.
Auth
/api/auth/login/api/auth/logout/api/auth/meSessions & strategies
/api/analysis/upload/api/analysis/sessions/api/analysis/session/{sid}/api/analysis/session/{sid}/api/analysis/session/{sid}/strategies/api/analysis/session/{sid}/strategies/{name}/rename/api/analysis/session/{sid}/strategies/{name}/api/analysis/session/{sid}Analytics
/api/analysis/session/{sid}/equity/api/analysis/session/{sid}/metrics/api/analysis/session/{sid}/rolling/api/analysis/session/{sid}/allocation/api/analysis/session/{sid}/monthly/api/analysis/session/{sid}/montecarloblock_size weekly/monthly/quarterly, block bootstrap only)./api/analysis/session/{sid}/equity-controljob_id./api/analysis/session/{sid}/equity-control/{job_id}running / done / error)./api/analysis/session/{sid}/correlationLibrary, variants & risk sizing
/api/analysis/portfolio/saved/api/analysis/strategies/saved/api/analysis/variants/api/analysis/proporzionatore/runjob_id./api/analysis/proporzionatore/montecarlojob_id./api/analysis/proporzionatore/jobs/{job_id}running / done / error).Naming
In the codebase and API, Risk Sizing is still called proporzionatore — the user-facing
rename didn't change the internal route names.
Simulations run as background jobs
Both Risk Sizing simulations (the run and its Monte Carlo) execute on the server, decoupled
from the HTTP request: the POST returns a job_id immediately and the client polls
the jobs endpoint. The run keeps going while your phone screen is off or the tab is in the
background, and the recipe is persisted so a mid-run backend restart re-runs it transparently.
The session Monte Carlo simulation works the same way.