Skip to content
Tradr docs
Search
Ctrl
K
Cancel
GitHub
Select theme
Dark
Light
Auto
Start here
User guide
Getting started
Log and manage positions
Use the trade calculator
Customise the dashboard
Accounts & the multi-currency ledger
Review performance & P&L
Use the AI advisor
Options tools
Import your history
Accounting & tax
Metrics glossary
Plan limits
Run it yourself
Install with Docker Compose
Upgrade an instance
Back up and restore
Configure email, Stripe, and LLM keys
Bring your own Postgres / run behind a pooler
Put TLS in front of the stack
Environment variables
CLI reference (tradr)
API reference
Overview
Accounts
Create an account.
POST
Set the writable-account designation.
PUT
Update an account.
PUT
Admin
Platform statistics (admin only).
GET
Platform usage and revenue over a period (admin only).
GET
List users, cursor-paginated newest-first (admin only).
GET
Per-user admin detail (admin only).
GET
Toggle a user's admin flag (admin only).
PATCH
Advisor
List the authenticated user's conversations (cursor-paginated).
GET
Start a new conversation and stream the assistant reply (SSE).
POST
Proxy an advisor message image by index (ownership-scoped).
GET
Get a conversation plus its latest 50 messages.
GET
Delete a conversation (cascades to its messages).
DELETE
Rename a conversation.
PATCH
List a conversation's messages (newest-first, cursor-paginated).
GET
Stream an assistant reply for an existing conversation (SSE).
POST
Get the masked status of the authenticated user's Unusual Whales key.
GET
Save (or replace) the Unusual Whales market-data key.
PUT
Remove the Unusual Whales market-data key.
DELETE
List available models across the user's configured providers.
GET
Get the live options chain for a symbol from Unusual Whales.
GET
List built-in personas plus the user's own personas.
GET
Create a user-owned persona.
POST
Delete a user-owned persona.
DELETE
Update a user-owned persona.
PATCH
Set a persona as the user's default for new conversations.
POST
List the authenticated user's configured provider keys.
GET
Save (or replace) the BYOK key for a provider.
PUT
Remove the BYOK key for a provider.
DELETE
Change the default model for an existing provider key.
PATCH
Get the authenticated user's trade-data consent flag.
GET
Set the authenticated user's trade-data consent flag.
PUT
Auth
Sign in and start a session.
POST
End the current session.
POST
Get the signed-in user.
GET
Complete a password reset with an emailed token (consume → revoke → rewrite).
POST
Request a password-reset email (no-enumeration surface).
POST
Create an account and start a session.
POST
Verify an email address with an emailed token (gesture-consumed).
POST
Resend the verification email for the authenticated account.
POST
Billing
Get the authenticated user's wallet balance.
GET
Create a Stripe Checkout Session for a credit pack.
POST
Get billing availability, offered packs, the priced model list, and subscription purchasability.
GET
Create a Stripe Checkout Session for the Pro subscription.
POST
Create a Stripe Billing Portal session.
POST
Get the authenticated user's tier state (plan card / CTA / usage surface).
GET
List the authenticated user's wallet/usage history (cursor-paginated).
GET
Stripe webhook — idempotent, settled-only crediting (PUBLIC).
POST
Brokerages
List brokerages.
GET
Create a brokerage.
POST
Get one brokerage.
GET
Edit a brokerage or its fee schedule.
PUT
Delete a brokerage.
DELETE
Duplicate a brokerage.
POST
Count the positions booked against a brokerage.
GET
Calculator
Size a trade from a risk basis, with fee and buying-power modelling.
POST
Changelog
List published release notes with the viewer's last-viewed floor.
GET
Mark the changelog as viewed for the authenticated user.
POST
CSV Import
Commit a previewed CSV import (consumes the preview token).
POST
Preview a CSV trade import (mints a single-use commit token).
POST
Dashboard
Get the dashboard layout.
GET
Save the dashboard layout, the theme, or both.
PUT
Get the stored theme preference.
GET
Re-issue the theme cookie.
POST
Accounting
Get the combined balance across all accounts.
GET
List the user's exchange rates.
GET
Add or update an exchange rate.
POST
Preview what a rate change would do to the dashboard total.
POST
Delete an exchange rate.
DELETE
List an account's ledger entries.
GET
Get the display currency.
GET
Set the display currency.
PUT
Expenses
List trading expenses.
GET
Record an expense.
POST
Total the commissions paid in a year.
GET
Summarise a tax year.
GET
Delete an expense.
DELETE
Edit an expense.
PATCH
Get the tax jurisdiction.
GET
Set the tax jurisdiction.
PATCH
Platform
Liveness probe (DB connectivity) plus the deployed version.
GET
Performance
Aggregated P&L performance series, equity curve and statistics.
GET
Positions
Create a position (draft).
POST
Update a position.
PUT
Delete a position (any status).
DELETE
Add a fill to a position.
POST
Edit a fill.
PUT
Delete a fill.
DELETE
Reopen a same-day closed position.
POST
Symbols
Whether the delayed-quote provider is configured.
GET
Force a symbols reference-data sync from the SEC source (admin).
POST
Ranked ticker-prefix symbol autocomplete.
GET
Delayed spot last-price for a symbol.
GET
Build on it
Set up a local dev environment
Architecture overview
Database & migrations
Database schema
Security model
Contributing
Why it works this way
Hosted vs self-hosted: what's different
How the AI advisor reasons
Why journaling improves your trading
GitHub
Select theme
Dark
Light
Auto
Why journaling improves your trading
The product thesis: structured lifecycle logging beats spreadsheets.