Developers

API Center

Every route a member, a bot or a visitor can call, with the access its middleware enforces.

https://ribqa.com · probe /api/v1/market/btc-macro · refresh 30s

Routes
118callable under /api
Public
44
Session
74JWT
Health
Checking

Checking backend reachability

The catalog stays readable while the backend is down; no endpoint response is invented here.

Quick start

# 1. Sign in with your own credentials (no account yet: https://ribqa.com/register, free)
curl -X POST "https://ribqa.com/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"email":"<your-email>","password":"<your-password>"}'

# 2. Put the access_token from that response in your shell
export TOKEN="<access_token>"

# 3. Call a session route
curl "https://ribqa.com/api/v1/signals" -H "Authorization: Bearer $TOKEN"

# 4. Public routes need no header (120 requests a minute per IP)
curl "https://ribqa.com/api/v1/market/btc-macro"

# 5. Your API key (Account, API keys) lifts that to 600 a minute
curl "https://ribqa.com/api/v1/market/btc-macro" -H "Authorization: Bearer $SENTINEL_KEY"

Placeholders only. No credential of yours or anyone else's is stored on this page.

Routes (118 of 118)

MethodPathAccessCategoryDescriptioncurl
GET/api/v1/market/btc-macropublicMarket

BTC macro context: trend state, volatility and dominance.

GET/api/v1/market/majorspublicMarket

Rule-based trend state for BTC, ETH, SOL and XRP.

GET/api/v1/market/tickerpublicMarket

Multi-pair ticker proxied from DataHub.

GET/api/v1/market/candles/historysessionMarket

Historical klines (spot or futures; 1m, 5m, 15m, 1h, 4h, 1d; up to 9000 candles) proxied from DataHub.

GET/api/v1/chart/smcsessionMarket

SMC structure for any USDT pair (order blocks, fair value gaps, breakers, latest MSB / CHoCH / sweep, untaken liquidity pools, premium/discount range and each engine's vote) from the platform's SMC engines on closed DataHub candles. Query: symbol, market=spot|futures, interval=1m|5m|15m|1h|4h|1d. Cached until the next candle closes, at most 5 minutes.

GET/api/v1/market/funding-ratessessionMarket

Funding rate, mark and index price for every Binance USDT-M perpetual, proxied from DataHub (rate in percent per interval, cached 60 seconds).

GET/api/v1/market/depth/{symbol}sessionMarket

USD depth within 1% of mid on each side of a Binance book, with spread and imbalance, proxied from DataHub (cached 15 seconds). Query: market=futures (USDT-M, the default) or spot.

GET/api/public/market/btc-candlespublicMarket

BTCUSDT spot candles (5m, 15m, 1h, 4h or 1d; up to 1000) proxied from DataHub, cached 15 seconds. Feeds the dashboard BTC chart.

GET/api/public/listingspublicMarket

New and upcoming coin listings from the exchanges' own announcement channels (Binance, OKX, Bybit, Kraken pair list, Upbit), with source links and, where DataHub has candles, the measured price move after listing. Query: status=upcoming|recent, exchange, asset_kind.

GET/api/public/news/impactpublicMarket

What BTC did 1h, 4h and 24h after past news of each type, against same-hour random baselines, over a 90-day window. Measured history, not a forecast; types under 30 stories show as measuring.

GET/api/public/edge/before-you-tradepublicMarket

The Aleph Edge "Before you trade" page payload: BTC trend state, ATR and funding, the chart read with its hit record, which bot templates are proven, news impact and new listings, each with its time. Cached 5 minutes.

GET/api/public/market/btc-chart-readpublicMarket

Latest scheduled BTC chart reads: an experimental AI read and a rule read, with hit rates beside their no-skill references and the veto bar verdict.

GET/api/public/market/btc-chart-read/{id}/chart/{tf}publicMarket

Rendered PNG of one chart read at one timeframe.

GET/api/public/market/btc-chart-patternspublicMarket

Chart patterns the model reported, with their outcomes.

GET/api/public/market/btc-candle-patternspublicMarket

Candlestick patterns detected by code, with their outcomes.

GET/api/public/market/newspublicMarket

Latest news digest and the last day's items from five public feeds. Third-party reporting, not a measurement.

GET/api/public/market/btc-chart-readspublicMarket

UTC days with BTC chart reads over the last 90 days, with the read count per day.

GET/api/public/market/btc-chart-reads/{date}publicMarket

Every BTC chart read of one UTC day (YYYY-MM-DD), with its grades once due.

GET/api/public/market/btc-streampublicMarket

Newest streaming BTC regime reading: Kalman slope and HMM bull / bear / sideways probabilities, updated every 5 minutes. A measurement; no signal uses it.

GET/api/public/statspublicML

Public summary counters from the ML outcome store, cached for 60 seconds.

GET/api/public/ml/statspublicML

Aggregated ML outcome statistics; registered only when the ML service is wired.

GET/api/public/ml/outcomespublicML

Recorded ML outcomes; registered only when the ML service is wired.

GET/api/v1/ml/statssessionML

The same aggregate as the public route, behind a session.

GET/api/v1/ml/outcomessessionML

The same outcome list as the public route, behind a session.

GET/api/v1/ml/weightssessionML

Current ML feature weights.

POST/api/v1/advisor/asksessionAdvisor

Answers from Sentinel's ledger, DataHub market and exchange data, stored news and trending searches; the handler enforces the plan and the daily question limit itself and is registered only when the advisor is wired.

GET/api/v1/advisor/statussessionAdvisor

Whether this account may ask the advisor, and how many of today's questions are used.

GET/api/v1/combospublicLedger

Engine combination ranking; returns zeros when no database pool is configured.

GET/api/v1/ledger/exportpublicLedger

Independently auditable trade ledger export.

GET/api/v1/stats/verified-ledgersessionLedger

Win rate with its Wilson 95% interval and sample size; session-gated during beta.

POST/api/v1/auth/registerpublicAuth

Create an account; answers 503 when no database is configured.

POST/api/v1/auth/loginpublicAuth

Password sign-in; returns a token or a 2FA challenge.

POST/api/v1/auth/login/2fapublicAuth

Second step of a 2FA sign-in, with a TOTP or recovery code.

POST/api/v1/auth/refreshpublicAuth

Exchange a refresh token for a new access token.

POST/api/v1/auth/forgot-passwordpublicAuth

Start a password reset and mail a single-use token.

POST/api/v1/auth/reset-passwordpublicAuth

Complete a password reset with the mailed token.

GET/api/v1/auth/verify-emailpublicAuth

Confirm an email address from the link token.

POST/api/v1/auth/dev-tokenpublicAuth

Issues a development token only when the server runs in dev mode; it is registered in production too, where it answers 403.

DELETE/api/v1/auth/sessionsessionAuth

Sign out of the current session.

DELETE/api/v1/auth/sessionssessionAuth

Sign out of every session on this account.

GET/api/v1/auth/mesessionAuth

Profile and tier of the signed-in user.

PATCH/api/v1/auth/profilesessionAuth

Update the signed-in user's profile fields.

POST/api/v1/auth/change-passwordsessionAuth

Change the password of the signed-in user.

POST/api/v1/auth/2fa/setupsessionAuth

Start TOTP enrolment and return the shared secret.

POST/api/v1/auth/2fa/enablesessionAuth

Confirm enrolment and switch 2FA on.

POST/api/v1/auth/2fa/verifysessionAuth

Verify a TOTP code for the signed-in user.

POST/api/v1/auth/2fa/disablesessionAuth

Switch 2FA off for the signed-in user.

POST/api/v1/auth/2fa/recovery-codes/regeneratesessionAuth

Issue a fresh set of single-use recovery codes.

GET/api/v1/auth/2fa/recovery-codes/statussessionAuth

How many recovery codes remain unused.

POST/api/v1/analytics/page-viewpublicSystem

Record a page view; registered only when the admin handlers are wired.

POST/api/v1/webhooks/stripepublicneeds Stripe signatureBilling

Stripe webhook receiver; the handler verifies the Stripe signature.

POST/api/v1/billing/checkoutsessionBilling

Open a Stripe checkout session.

POST/api/v1/billing/portalsessionBilling

Open the Stripe customer portal.

GET/api/v1/billing/statussessionBilling

Subscription and tier status of the signed-in user.

POST/api/v1/billing/trialsessionBilling

Start the 7-day free trial.

GET/api/v1/billing/trialsessionBilling

Days remaining on the free trial.

POST/api/v1/billing/bcn/checkoutsessionBilling

Open a BCN Global checkout; answers 503 when BCN is not configured.

GET/api/v1/billing/bcn/status/{paymentID}sessionBilling

Status of one BCN payment; answers 503 when BCN is not configured.

POST/api/v1/webhooks/bcnpublicneeds BCN Global signatureBilling

BCN Global webhook receiver.

POST/api/v1/webhooks/bconpublicneeds BCN Global signatureBilling

BCN Global webhook receiver under its alternate spelling.

POST/api/v1/billing/paypal/checkoutsessionBilling

Open a PayPal order; answers 503 when PayPal is not configured.

POST/api/v1/billing/paypal/capturesessionBilling

Capture an approved PayPal order.

POST/api/v1/webhooks/paypalpublicneeds PayPal signatureBilling

PayPal webhook receiver.

GET/api/public/signalspublicSignals

Published signals visible without an account.

GET/api/public/signals/pendingpublicSignals

Published signals that have not matured yet. Optional symbol filters to one pair.

GET/api/public/signals/vetoedpublicSignals

Signals the guard cancelled, with the reason; registered only when the repository can list them.

GET/api/public/signals/{id}publicSignals

One published signal: levels, engines, combo, plan, veto context, outcome net of the cost model, and headlines naming its coin within 24 h.

GET/api/public/ledger/recentpublicLedger

Newest published signals with their outcome and net result, up to 500.

GET/api/public/ledger/monthlypublicLedger

The public book by Zurich month: published, TP, SL, break-even, veto closes, net after the cost model.

GET/api/v1/signalssessionSignals

Full signal list for the signed-in user.

GET/api/v1/signals/historysessionSignals

Closed signals with paging.

GET/api/v1/signals/statssessionSignals

Win rate, payoff and counts over the signal book.

GET/api/v1/signals/intelligencesessionSignals

Outcome counts plus engine, combo and SMC rule win rates over signals at least 96h old (matured_win_rate with matured_closed as n; omitted below n=20).

POST/api/v1/signals/{id}/outcomesessionSignals

Record the outcome of one signal.

GET/api/v1/signals/{id}sessionSignals

One signal by id.

GET/api/v1/scanner/signalssessionScanner

Scanner output with strategy filtering.

GET/api/v1/scanner/statussessionScanner

Scanner run state and counters.

GET/api/v1/scanner/enginessessionScanner

Registered scanner engines and their configuration.

GET/api/v1/confluence/snapshotsessionScanner

Confluence snapshot across the watched symbols.

POST/api/v1/backtestsessionBacktest

Queue a backtest run.

GET/api/v1/backtest/historysessionBacktest

Previous backtest runs.

GET/api/v1/backtest/{id}sessionBacktest

Result of one backtest run.

GET/api/v1/arbitrage/opportunitiessessionArbitrage

Cross-exchange, carry and triangular opportunity feed.

GET/api/v1/arbitrage/statssessionArbitrage

Lifetime counters of the arbitrage monitor.

GET/api/v1/arbitrage/funding-ratessessionArbitrage

Perpetual funding snapshot from the arbitrage worker.

GET/api/v1/optagon/statesessionOptagon

Optagon regime state for the signed-in user.

GET/api/v1/optagon/publicpublicOptagon

Reduced Optagon state served without a session.

POST/api/v1/strategiessessionStrategies

Create a strategy; registered only when a database is configured.

GET/api/v1/strategiessessionStrategies

Strategies owned by the signed-in user.

GET/api/v1/strategies/{id}sessionStrategies

One strategy by id.

PUT/api/v1/strategies/{id}sessionStrategies

Replace one strategy.

DELETE/api/v1/strategies/{id}sessionStrategies

Delete one strategy.

POST/api/v1/strategies/{id}/deploysessionStrategies

Deploy one strategy to the scanner.

GET/api/v1/preferencessessionPreferences

Saved preferences of the signed-in user.

PUT/api/v1/preferencessessionPreferences

Replace the saved preferences.

GET/api/v1/whale/alertssessionFlow

Large-trade alerts from the whale tracker.

GET/api/v1/whale/flowsessionFlow

Aggregated whale flow by side.

GET/api/v1/whale/topsessionFlow

Symbols carrying the largest whale flow.

GET/api/v1/whale/metrics/{symbol}sessionFlow

Whale metrics for one symbol.

GET/api/v1/liquidity/depth/{symbol}sessionFlow

Order-book depth for one symbol.

GET/api/v1/liquidity/heatmap/{symbol}sessionFlow

Liquidity heatmap levels for one symbol.

GET/api/v1/liquidity/walls/{symbol}sessionFlow

Detected order-book walls for one symbol.

GET/api/v1/liquidity/gaps/{symbol}sessionFlow

Liquidity gaps for one symbol.

POST/api/v1/stream/ticketsessionStream

Issue a short-lived single-use ticket for the SSE stream.

GET/api/v1/streampublicneeds bearer token or stream ticketStream

SSE event stream; it carries no auth middleware, but the handler itself requires a bearer header or a stream ticket.

POST/api/v1/botssessionBots

Create a paper bot.

GET/api/v1/botssessionBots

Bots owned by the signed-in user.

GET/api/v1/bots/{id}sessionBots

One bot by id.

POST/api/v1/bots/{id}/startsessionBots

Start one bot.

POST/api/v1/bots/{id}/stopsessionBots

Stop one bot.

DELETE/api/v1/bots/{id}sessionBots

Delete one bot.

GET/api/v1/bots/{id}/streamsessionBots

Event stream for one bot.

POST/api/v1/mcppublicneeds MCP API key for account tools and run_backtestMCP

MCP remote (Streamable HTTP, JSON-RPC 2.0). initialize, ping, tools/list and the public read tools (signals, ledger, market, BTC chart read, news, get_before_you_trade) are open; get_my_bots, get_my_strategies, get_strategy, create/update/delete_strategy, run_backtest, get_my_backtests and get_backtest need an MCP API key.

GET/api/v1/mcppublicMCP

Answers 405 with Allow: POST; the server opens no SSE stream.

GET/api/v1/mcp/wspublicneeds MCP API keyMCP

Push-only WebSocket events channel (signals, BTC regime vetoes, entries, stops moved to entry, closes, BTC chart read changes); it carries no auth middleware, but the handler requires an MCP API key, sent as Authorization: Bearer or, from a browser, as the subprotocols sentinel.mcp plus the key (only sentinel.mcp is echoed). A foreign Origin gets 403.

POST/api/v1/mcp/keyssessionMCP

Create an MCP API key (shown once); registered only when a database pool is configured.

GET/api/v1/mcp/keyssessionMCP

List the signed-in user's working MCP API keys and the account's MCP access.

DELETE/api/v1/mcp/keys/{id}sessionMCP

Revoke one MCP API key.

Offline