Quantitative products, agents, platforms, and Connect APIs are open for approved institutional partners.
QSentia Connect API.
A compact, versioned API for approved brokers, family offices, and allocator platforms to ingest QSentia agent outputs and evidence packages.
Authentication
Keys are issued from the QSentia admin console after customer approval and agent entitlement assignment.
Authorization: Bearer qs_sandbox_...
Controls
Webhook signing
Delivery requests are signed with HMAC-SHA256 over timestamp and raw JSON body.
signed_payload = timestamp + "." + raw_body expected = hmac_sha256(signing_secret, signed_payload)
Worker operations
Scheduled jobs call internal endpoints with a worker secret. They can be manually dispatched from GitHub Actions during partner setup or incident review.
QSENTIA_CONNECT_WORKER_SECRETShared secret used by GitHub Actions and internal worker endpoints.
QSENTIA_CONNECT_WEBHOOKS_ENABLEDSet true when outbound webhook delivery should actively send queued events.
QSENTIA_CONNECT_WEBHOOK_SECRET_KEYServer-side encryption key for stored webhook signing secrets.
QSENTIA_CONNECT_RATE_LIMIT_PER_KEY_PER_MINUTEOptional per-key minute request limit. Defaults to 60.
QSENTIA_CONNECT_RATE_LIMIT_PER_KEY_PER_DAYOptional per-key daily request limit. Defaults to 5,000.
QSENTIA_CONNECT_RATE_LIMIT_PER_CUSTOMER_DAYOptional customer-level daily backstop across all keys. Defaults to 50,000.
QSENTIA_CONNECT_BILLING_SYNC_MODErecord_only, mark_reported, or external_webhook for usage billing handling.
QSENTIA_CONNECT_BILLING_WEBHOOK_URLOptional external billing collector used before native Stripe metering is turned on.
Endpoints
/api/connect/v1/modelsList agents entitled to the API key.
/api/connect/v1/models/{model_id}/latest-signalFetch the latest evidence-linked signal for one entitled agent.
/api/connect/v1/custom-modelsList approved Risk Studio custom candidates entitled to the API key.
/api/connect/v1/custom-models/{candidate_id}Fetch one approved custom candidate summary without exposing private artifacts.
/api/connect/v1/custom-models/{candidate_id}/backtestFetch the approved custom candidate risk-layer backtest, curve, and evidence summary.
/api/connect/v1/custom-models/{candidate_id}/latest-signalFetch a normalized custom candidate signal package for integration testing.
/api/connect/v1/webhooksList webhook endpoints and recent deliveries.
/api/connect/v1/webhooksRegister an HTTPS webhook endpoint.
/api/connect/v1/webhooks/testQueue and optionally dispatch test webhook deliveries.
/api/connect/applicationsSubmit a partner onboarding application for approval.
/api/connect/internal/scheduledRun webhook delivery and billing sync together from the scheduled worker.
Normalized signal schema
Every latest-signal response exposes these stable top-level fields. Agent-specific details remain available in raw_payload for teams that need deeper evidence.
model_idStable QSentia agent id returned for the requested agent.
signal_timeTimestamp of the agent output, broker event, or latest telemetry evidence.
actionNormalized action such as buy, sell, hold, rebalance, or pending.
assetTicker, contract, symbol, or primary asset referenced by the signal.
target_weightOptional portfolio target weight when the agent publishes sizing.
confidenceOptional agent confidence or probability score.
risk_stateCurrent risk state when available from the agent payload.
broker_statusLatest broker connectivity status visible to QSentia.
evidenceRun id, output id, producer, account, order, and trade evidence links when available.
raw_payloadThe unmodified agent payload for deeper customer-side inspection.
{
"model_id": "brppo_crypto",
"signal_time": "2026-08-06T18:30:00.000Z",
"action": "hold",
"asset": "BTC/USD",
"target_weight": 0.25,
"confidence": 0.72,
"risk_state": "normal",
"broker_status": "online",
"evidence": { "run_id": "run_...", "orders": 0, "trades": 0 },
"raw_payload": { "...": "agent-specific evidence" }
}Custom candidate access
Risk Studio candidates are private by default. Once a mandate run is complete and QSentia approves the candidate, the customer receives a candidate-level Connect entitlement and can consume the custom result through the same bearer-key API used for base agents.
curl -H "Authorization: Bearer qs_sandbox_..." \
https://www.qsentia.com/api/connect/v1/custom-models
curl -H "Authorization: Bearer qs_sandbox_..." \
https://www.qsentia.com/api/connect/v1/custom-models/{candidate_id}/backtestRate-limit headers
X-QSentia-RateLimit-LimitX-QSentia-RateLimit-RemainingX-QSentia-RateLimit-Minute-RemainingX-QSentia-RateLimit-Day-RemainingX-QSentia-RateLimit-ResetWebhook headers
X-QSentia-Event-IdX-QSentia-Event-TypeX-QSentia-TimestampX-QSentia-SignaturePartner production flow
Family offices can use the user guide as the operating checklist for approvals, key handling, API tests, webhook validation, and usage review.
Submit organization, integration type, agent scope, and expected usage.
QSentia reviews the workflow and creates a customer record.
Admin assigns agent entitlements, API key, request limits, and webhooks.
API usage, webhooks, billing rows, and audit events are monitored in the portal.
Common errors
401Missing, revoked, expired, IP-blocked, or unauthorized API key.
403The key is valid, but the customer does not have entitlement to that agent/environment.
429The key or entitlement exceeded the configured minute/day/month request budget.
400Webhook registration or onboarding payload did not pass validation.
Commercial readiness
Support: inquiries@qsentia.com
