Intel Feed API
Auto-generated from
openapi-snapshot.json. Do not edit by hand — changes are overwritten byscripts/docs/generate_api_reference.py.
2 endpoints in this group.
GET /api/intel/insider-buying
Get Insider Buying
Insider purchase transactions (transactionCode=‘P’) from Finnhub.
Cache strategy: results are stored in insider_transactions with a 6-hour TTL.
On cache miss, fetches live from Finnhub for all requested symbols.
If no symbols are provided, defaults to symbols currently held in the portfolio.
Error policy: this endpoint is wrapped end-to-end in try/except. ANY failure (DB, Finnhub, cache, schema drift, auth-downstream) returns an empty-result degraded payload rather than a 500. Empty-state beats blanking the page.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
min_value_usd | query | number | optional | |
days | query | integer | optional | |
symbols | query | — | optional | Comma-separated symbol list; defaults to portfolio symbols |
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /api/intel/volume-leaders
Get Volume Leaders
Top symbols by cumulative volume in the last window_minutes from market_data_1s.
Algorithm
- Window aggregation: SUM(volume), SUM(close*volume), VWAP for each symbol over the last window_minutes.
- Price change: first vs last close within the window.
- Relative-volume z-score: compare today’s window volume against the 5-day rolling mean/stddev for the same wall-clock window (same hour offsets).
- Sort by cumulative volume descending, return top
limit.
Returns market_status field so the UI can display a “market closed” banner and still show the last-session snapshot.
P0-8: limit capped at 100.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
window_minutes | query | integer | optional | |
limit | query | integer | optional | Page size (max 100). |
cursor | query | — | optional | Opaque pagination cursor from a previous page’s next_cursor. |
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |