Endpoints
GET /record
The graded track record
The full audit trail and the clean era (entry-integrity, net of modeled execution costs), each with Wilson 95% intervals on rates and a bootstrap interval on expectancy. This is the number the rest of the product stands on.
| field | type | |
|---|
| full · clean | object | record blocks: n, wins, losses, win_rate, win_rate_ci, expectancy_pct, expectancy_ci, avg_win_pct, avg_loss_pct, profit_factor |
| clean_era_start | string | ISO timestamp of the clean-era boundary |
| methodology | string | how pnl_pct is computed, in plain language |
curl -H "X-API-Key: sk_sapere_…" https://app.sapere.one/v1/record
GET /calls
Graded and open calls
Every major call, newest first, in the same projection the public permalinks render. Observer-tier keys receive nothing newer than 24 hours.
| parameter | type | |
|---|
| limit | int ≤ 100 | page size, default 50 |
| offset | int | pagination offset, default 0 |
| field | type | |
|---|
| id | uuid | stable call id; permalink is app.sapere.one/call/{id} |
| symbol · direction · leverage | string · string · number | the call itself |
| entry · stop · target | number | published levels, immutable once opened |
| status · pnl_pct · close_reason | string · number|null · string|null | outcome; pnl_pct is null while open, net of costs when closed |
| pnl_pct_gross · fees_pct · funding_pct · slippage_pct | number|null | the execution-cost breakdown behind the net figure |
| regime_tag · composite_score | string|null · number|null | market regime and signal composite at open |
| committee_action · book_status · synthesis_conviction | string · string · number|null | the dual ledger on every call: the committee's direction, whether the book sized the ask in full or trimmed it to cap headroom (sized | sized_trimmed), and the desk's blended conviction at open (null for calls before the synthesis era) |
curl -H "X-API-Key: sk_sapere_…" "https://app.sapere.one/v1/calls?limit=20"
GET /calls/{id}
One call by id
A single major or prediction call, resolved by the same rules as the public permalink. Predictions carry the side, stated confidence, market-implied entry, and settled alpha versus the market.
| field | type | |
|---|
| kind | "major" | "prediction" | which projection the payload carries |
| question · side · confidence | string · YES|NO · int | prediction calls only |
| implied_entry · alpha_vs_market | number · number|null | the market's price at call time, and the settled Brier edge against it |
curl -H "X-API-Key: sk_sapere_…" https://app.sapere.one/v1/calls/<uuid>
GET /intelligence/{symbol}
The latest signal card
The current quantitative read for one covered major: composite score, direction, and the trend, momentum, volatility and volume legs behind it.
| field | type | |
|---|
| composite_score · direction | number · string | the headline signal |
| trend_score · momentum_score · volatility_score · volume_score | number | the component legs |
| key_signals · atr_value · fng_value | object · number · number | named drivers, ATR, and the fear-and-greed read |
| computed_at | string | signal freshness — cycles run continuously |
| data_primary | string | the venue serving this market's spot OHLCV, and so the substrate under every score above. "coinbase" for most majors; markets Coinbase does not list name their own venue |
curl -H "X-API-Key: sk_sapere_…" https://app.sapere.one/v1/intelligence/BTC
GET /radar
Emergence radar — the WATCH list
New-listing WATCH candidates the radar has detected, verified for safety, and scored — highest score first. Display-only intelligence: every row is `sized: false` and outside the majors universe. Analyst tier and above only (observer keys receive 403); analyst gets the headline, desk and up also receive the audit trail.
| parameter | type | |
|---|
| limit | int ≤ 100 | page size, default 50 |
| offset | int | pagination offset, default 0 |
| field | type | |
|---|
| symbol · score · band | string · number · string | the candidate, its 0–1 emergence score, and the band (watch | probe | promotion) |
| catalyst_tags | string[] | why it surfaced: listing venue, event type, perp build, ranked |
| sized · in_universe | false · false | always false — radar is intelligence, never a trade, and never a major |
| audit_flags · coingecko_id · components | string[] · string · object | the audit trail (desk tier and up): verification caveats (e.g. volume_unverified), the canonical id, and the score component breakdown |
curl -H "X-API-Key: sk_sapere_…" "https://app.sapere.one/v1/radar?limit=20"