Developers

API Center

Every route the API registers, with the access its middleware enforces.

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

Routes
142registered under /api
Public
40
Session
76JWT
Admin
26
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
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
curl "https://ribqa.com/api/v1/market/btc-macro"

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

Routes (142 of 142)

MethodPathAccessCategoryDescriptioncurl
GET/api/v1/market/btc-macropublicMarketBTC macro context: trend state, volatility and dominance.
GET/api/v1/market/majorspublicMarketRule-based trend state for BTC, ETH, SOL and XRP.
GET/api/v1/market/tickerpublicMarketMulti-pair ticker proxied from DataHub.
GET/api/public/market/btc-chart-readpublicMarketLatest scheduled BTC 1h and 4h chart reads.
GET/api/public/market/btc-chart-read/{id}/chart/{tf}publicMarketRendered PNG of one chart read at one timeframe.
GET/api/public/market/btc-chart-patternspublicMarketChart patterns the model reported, with their outcomes.
GET/api/public/market/btc-candle-patternspublicMarketCandlestick patterns detected by code, with their outcomes.
GET/api/public/market/newspublicMarketLatest news digest and the last day's items from five public feeds. Third-party reporting, not a measurement.
GET/api/public/market/btc-chart-readspublicMarketUTC days with BTC chart reads over the last 90 days, with the read count per day.
GET/api/public/market/btc-chart-reads/{date}publicMarketEvery BTC chart read of one UTC day (YYYY-MM-DD), with its grades once due.
GET/api/public/statspublicMLPublic summary counters from the ML outcome store, cached for 60 seconds.
GET/api/public/ml/statspublicMLAggregated ML outcome statistics; registered only when the ML service is wired.
GET/api/public/ml/outcomespublicMLRecorded ML outcomes; registered only when the ML service is wired.
GET/api/v1/ml/statssessionMLThe same aggregate as the public route, behind a session.
GET/api/v1/ml/outcomessessionMLThe same outcome list as the public route, behind a session.
GET/api/v1/ml/weightssessionMLCurrent ML feature weights.
POST/api/v1/advisor/asksessionAdvisorAnswers only from measured rows; the handler enforces the Gold tier itself and is registered only when the advisor is wired.
GET/api/v1/combospublicLedgerEngine combination ranking; returns zeros when no database pool is configured.
GET/api/v1/ledger/exportpublicLedgerIndependently auditable trade ledger export.
GET/api/v1/stats/verified-ledgersessionLedgerWin rate with its Wilson 95% interval and sample size; session-gated during beta.
POST/api/v1/auth/registerpublicAuthCreate an account; answers 503 when no database is configured.
POST/api/v1/auth/loginpublicAuthPassword sign-in; returns a token or a 2FA challenge.
POST/api/v1/auth/login/2fapublicAuthSecond step of a 2FA sign-in, with a TOTP or recovery code.
POST/api/v1/auth/refreshpublicAuthExchange a refresh token for a new access token.
POST/api/v1/auth/forgot-passwordpublicAuthStart a password reset and mail a single-use token.
POST/api/v1/auth/reset-passwordpublicAuthComplete a password reset with the mailed token.
GET/api/v1/auth/verify-emailpublicAuthConfirm an email address from the link token.
POST/api/v1/auth/dev-tokenpublicAuthIssues 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/sessionsessionAuthSign out of the current session.
DELETE/api/v1/auth/sessionssessionAuthSign out of every session on this account.
GET/api/v1/auth/mesessionAuthProfile and tier of the signed-in user.
PATCH/api/v1/auth/profilesessionAuthUpdate the signed-in user's profile fields.
POST/api/v1/auth/change-passwordsessionAuthChange the password of the signed-in user.
POST/api/v1/auth/2fa/setupsessionAuthStart TOTP enrolment and return the shared secret.
POST/api/v1/auth/2fa/enablesessionAuthConfirm enrolment and switch 2FA on.
POST/api/v1/auth/2fa/verifysessionAuthVerify a TOTP code for the signed-in user.
POST/api/v1/auth/2fa/disablesessionAuthSwitch 2FA off for the signed-in user.
POST/api/v1/auth/2fa/recovery-codes/regeneratesessionAuthIssue a fresh set of single-use recovery codes.
GET/api/v1/auth/2fa/recovery-codes/statussessionAuthHow many recovery codes remain unused.
POST/api/v1/analytics/page-viewpublicSystemRecord a page view; registered only when the admin handlers are wired.
POST/api/v1/webhooks/stripepublicneeds Stripe signatureBillingStripe webhook receiver; the handler verifies the Stripe signature.
POST/api/v1/billing/checkoutsessionBillingOpen a Stripe checkout session.
POST/api/v1/billing/portalsessionBillingOpen the Stripe customer portal.
GET/api/v1/billing/statussessionBillingSubscription and tier status of the signed-in user.
POST/api/v1/billing/trialsessionBillingStart the 7-day free trial.
GET/api/v1/billing/trialsessionBillingDays remaining on the free trial.
POST/api/v1/billing/bcn/checkoutsessionBillingOpen a BCN Global checkout; answers 503 when BCN is not configured.
GET/api/v1/billing/bcn/status/{paymentID}sessionBillingStatus of one BCN payment; answers 503 when BCN is not configured.
POST/api/v1/webhooks/bcnpublicneeds BCN Global signatureBillingBCN Global webhook receiver.
POST/api/v1/webhooks/bconpublicneeds BCN Global signatureBillingBCN Global webhook receiver under its alternate spelling.
POST/api/v1/billing/paypal/checkoutsessionBillingOpen a PayPal order; answers 503 when PayPal is not configured.
POST/api/v1/billing/paypal/capturesessionBillingCapture an approved PayPal order.
POST/api/v1/webhooks/paypalpublicneeds PayPal signatureBillingPayPal webhook receiver.
GET/api/public/signalspublicSignalsPublished signals visible without an account.
GET/api/public/signals/pendingpublicSignalsPublished signals that have not matured yet.
GET/api/public/signals/vetoedpublicSignalsSignals the guard cancelled, with the reason; registered only when the repository can list them.
GET/api/public/signals/{id}publicSignalsOne 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/recentpublicLedgerNewest published signals with their outcome and net result, up to 500.
GET/api/public/ledger/monthlypublicLedgerThe public book by Zurich month: published, TP, SL, break-even, veto closes, net after the cost model.
GET/api/v1/signalssessionSignalsFull signal list for the signed-in user.
GET/api/v1/signals/historysessionSignalsClosed signals with paging.
GET/api/v1/signals/statssessionSignalsWin rate, payoff and counts over the signal book.
GET/api/v1/signals/intelligencesessionSignalsOutcome 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}/outcomesessionSignalsRecord the outcome of one signal.
GET/api/v1/signals/{id}sessionSignalsOne signal by id.
GET/api/v1/scanner/signalssessionScannerScanner output with strategy filtering.
GET/api/v1/scanner/statussessionScannerScanner run state and counters.
GET/api/v1/scanner/enginessessionScannerRegistered scanner engines and their configuration.
GET/api/v1/confluence/snapshotsessionScannerConfluence snapshot across the watched symbols.
GET/api/v1/forecast/{symbol}sessionForecastKronos forecast for one symbol.
GET/api/v1/forecast/recentsessionForecastMost recent Kronos forecasts.
GET/api/v1/forecast/healthpublicForecastKronos sidecar health; reports disabled when the sidecar is not wired.
POST/api/v1/backtestsessionBacktestQueue a backtest run.
GET/api/v1/backtest/historysessionBacktestPrevious backtest runs.
GET/api/v1/backtest/{id}sessionBacktestResult of one backtest run.
GET/api/v1/arbitrage/opportunitiessessionArbitrageCross-exchange, carry and triangular opportunity feed.
GET/api/v1/arbitrage/statssessionArbitrageLifetime counters of the arbitrage monitor.
GET/api/v1/arbitrage/funding-ratessessionArbitragePerpetual funding snapshot from the arbitrage worker.
GET/api/v1/optagon/statesessionOptagonOptagon regime state for the signed-in user.
GET/api/v1/optagon/publicpublicOptagonReduced Optagon state served without a session.
POST/api/v1/strategiessessionStrategiesCreate a strategy; registered only when a database is configured.
GET/api/v1/strategiessessionStrategiesStrategies owned by the signed-in user.
GET/api/v1/strategies/{id}sessionStrategiesOne strategy by id.
PUT/api/v1/strategies/{id}sessionStrategiesReplace one strategy.
DELETE/api/v1/strategies/{id}sessionStrategiesDelete one strategy.
POST/api/v1/strategies/{id}/deploysessionStrategiesDeploy one strategy to the scanner.
GET/api/v1/preferencessessionPreferencesSaved preferences of the signed-in user.
PUT/api/v1/preferencessessionPreferencesReplace the saved preferences.
GET/api/v1/notifications/configsessionPreferencesNotification channels configured by the user.
POST/api/v1/notifications/configsessionPreferencesAdd a notification channel.
PUT/api/v1/notifications/config/{id}sessionPreferencesUpdate one notification channel.
DELETE/api/v1/notifications/config/{id}sessionPreferencesRemove one notification channel.
POST/api/v1/notifications/testsessionPreferencesSend a test notification to a configured channel.
GET/api/v1/admin/usersadminAdminList accounts with last seen time and online flag.
PUT/api/v1/admin/users/{id}/tieradminAdminChange one account's tier.
PUT/api/v1/admin/users/{id}/roleadminAdminChange one account's role.
PUT/api/v1/admin/users/{id}/suspendadminAdminSuspend or reinstate one account.
GET/api/v1/admin/statsadminAdminSystem-wide counters, plus signed-in users and visitors online in the last 5 min and users active in 24h / 7d.
POST/api/v1/admin/btc-chart-read/runadminAdminRun an out-of-schedule BTC chart read, which calls the paid model.
GET/api/v1/admin/btc-chart-read/{id}/rawadminAdminRequest text and raw model response of one chart read.
GET/api/v1/admin/opsadminAdminDependency probes for the database and the sidecars.
GET/api/v1/admin/billing/ledgeradminAdminPayment ledger across providers.
GET/api/v1/admin/analytics/pagesadminAdminPage-view totals per route.
GET/api/v1/admin/auditadminAdminAdmin audit log.
GET/api/v1/admin/backupsadminAdminList database backups.
POST/api/v1/admin/backupsadminAdminCreate a database backup.
GET/api/v1/admin/backups/{filename}adminAdminDownload one backup file.
GET/api/v1/admin/signalsadminAdminSignal book across all accounts.
GET/api/v1/admin/signals/intelligenceadminAdminFailure and veto breakdown over the whole book.
GET/api/v1/admin/signals/failuresadminAdminFailed signals grouped by cause.
GET/api/v1/admin/newsadminAdminNews collector runs, per-source item counts and digest status, error and cost.
GET/api/v1/admin/advisor/usageadminAdminAI Advisor questions, errors and cost per day and per user id, against the platform cap.
GET/api/v1/admin/botsadminAdminEvery bot with its market, status and delivery counters, by owner id.
GET/api/v1/admin/optagonadminAdminFull Optagon state; registered only when Optagon is wired.
GET/api/v1/admin/optagon/intelligenceadminAdminOptagon regime intelligence.
GET/api/v1/admin/optagon/evidenceadminAdminEvidence rows behind the current Optagon state.
GET/api/v1/admin/optagon/learning-healthadminAdminHealth of the Optagon learning loop.
POST/api/v1/admin/optagon/wake-up-neoadminAdminForce an Optagon recomputation.
POST/api/v1/admin/optagon/advisoryadminAdminTurn Optagon advisory activation on or off.
GET/api/v1/whale/alertssessionFlowLarge-trade alerts from the whale tracker.
GET/api/v1/whale/flowsessionFlowAggregated whale flow by side.
GET/api/v1/whale/topsessionFlowSymbols carrying the largest whale flow.
GET/api/v1/whale/metrics/{symbol}sessionFlowWhale metrics for one symbol.
GET/api/v1/liquidity/depth/{symbol}sessionFlowOrder-book depth for one symbol.
GET/api/v1/liquidity/heatmap/{symbol}sessionFlowLiquidity heatmap levels for one symbol.
GET/api/v1/liquidity/walls/{symbol}sessionFlowDetected order-book walls for one symbol.
GET/api/v1/liquidity/gaps/{symbol}sessionFlowLiquidity gaps for one symbol.
POST/api/v1/stream/ticketsessionStreamIssue a short-lived single-use ticket for the SSE stream.
GET/api/v1/streampublicneeds bearer token or stream ticketStreamSSE event stream; it carries no auth middleware, but the handler itself requires a bearer header or a stream ticket.
POST/api/v1/botssessionBotsCreate a paper bot.
GET/api/v1/botssessionBotsBots owned by the signed-in user.
GET/api/v1/bots/{id}sessionBotsOne bot by id.
POST/api/v1/bots/{id}/startsessionBotsStart one bot.
POST/api/v1/bots/{id}/stopsessionBotsStop one bot.
DELETE/api/v1/bots/{id}sessionBotsDelete one bot.
GET/api/v1/bots/{id}/streamsessionBotsEvent stream for one bot.
POST/api/v1/mcppublicneeds MCP API key for tools/callMCPMCP remote (Streamable HTTP, JSON-RPC 2.0). initialize, ping and tools/list are open; tools/call needs an MCP API key.
GET/api/v1/mcppublicMCPAnswers 405 with Allow: POST; the server opens no SSE stream.
GET/api/v1/mcp/wspublicneeds MCP API keyMCPPush-only WebSocket events channel (signals, BTC regime vetoes, BTC chart read changes); it carries no auth middleware, but the handler requires an MCP API key.
POST/api/v1/mcp/keyssessionMCPCreate an MCP API key (shown once); registered only when a database pool is configured.
GET/api/v1/mcp/keyssessionMCPList the signed-in user's working MCP API keys and the account's MCP access.
DELETE/api/v1/mcp/keys/{id}sessionMCPRevoke one MCP API key.
Offline