/api/v1/signals/featured
The featured trade signal
The signal Quotient is currently featuring: an operator pin when set, else a deterministic pick over active, live-priced, unflagged signals with a recent forecast update (volume and expiry floors; freshest publish day, then conviction, then upside to Q). Pinned rows must also pass the caution, warning, and divergence filters. Returns signal: null when nothing clears the floors.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| window | query | integer | Latest-forecast update lookback in hours for the auto pick. Default: 24 Default: 24; Minimum: 1; Maximum: 168 |
Responses
200: The featured signal, or null when nothing qualifies
| Field | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| signal required | TradeSignalItem | null | A Quotient trade signal with separate publication, forecast-freshness, and lifecycle context. Entry values are frozen at publish; forecast_status, conviction, pricing against Q, and capacity are derived live. All *_cents values are Q-side cents: the cost/value of the share on the signal's side.signal fields
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| featured_by required | "pin" | "auto" | null | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| message | string | Present when signal is null |
401: Unauthorized
| Field | Type | Description |
|---|---|---|
| error required | string | Error code |
| message required | string | Human-readable message |
| retry_after | integer | Seconds to wait (only on 429) |
| retryAfter | integer | Seconds to wait for owner-scoped forecast-request quota errors. |
| limit_scope | string | Quota scope that rejected the request, such as standard or x_research. |
| quotaScope | string | Stable forecast-request quota scope, such as venue_market_daily. |
| limit | integer | Configured bound for the forecast-request quota that was exceeded. |
402: Payment Required
| Field | Type | Description |
|---|---|---|
| error required | string | Error code |
| message required | string | Human-readable message |
| retry_after | integer | Seconds to wait (only on 429) |
| retryAfter | integer | Seconds to wait for owner-scoped forecast-request quota errors. |
| limit_scope | string | Quota scope that rejected the request, such as standard or x_research. |
| quotaScope | string | Stable forecast-request quota scope, such as venue_market_daily. |
| limit | integer | Configured bound for the forecast-request quota that was exceeded. |
403: Insufficient credits for the requested route
| Field | Type | Description |
|---|---|---|
| error required | string | Error code |
| message required | string | Human-readable message |
| retry_after | integer | Seconds to wait (only on 429) |
| retryAfter | integer | Seconds to wait for owner-scoped forecast-request quota errors. |
| limit_scope | string | Quota scope that rejected the request, such as standard or x_research. |
| quotaScope | string | Stable forecast-request quota scope, such as venue_market_daily. |
| limit | integer | Configured bound for the forecast-request quota that was exceeded. |
422: Invalid request parameters
| Field | Type | Description |
|---|---|---|
| error required | string | Error code |
| message required | string | Human-readable message |
| retry_after | integer | Seconds to wait (only on 429) |
| retryAfter | integer | Seconds to wait for owner-scoped forecast-request quota errors. |
| limit_scope | string | Quota scope that rejected the request, such as standard or x_research. |
| quotaScope | string | Stable forecast-request quota scope, such as venue_market_daily. |
| limit | integer | Configured bound for the forecast-request quota that was exceeded. |
429: The caller exceeded a per-second, per-minute, daily, or concurrency limit. No credits are debited and no x402 payment is settled for this response.
| Field | Type | Description |
|---|---|---|
| error required | string | Error code |
| message required | string | Human-readable message |
| retry_after | integer | Seconds to wait (only on 429) |
| retryAfter | integer | Seconds to wait for owner-scoped forecast-request quota errors. |
| limit_scope | string | Quota scope that rejected the request, such as standard or x_research. |
| quotaScope | string | Stable forecast-request quota scope, such as venue_market_daily. |
| limit | integer | Configured bound for the forecast-request quota that was exceeded. |
Set QUOTIENT_API_KEY in your shell and replace example identifiers with returned IDs before running a request.
curl --request GET \
--header "x-quotient-api-key: $QUOTIENT_API_KEY" \
'https://quotient-api-gateway.onrender.com/api/v1/signals/featured'{
"signal": {
"id": "example",
"created_at": "2027-01-01T00:00:00Z",
"published_at": "2027-01-01T00:00:00Z",
"forecast_updated_at": "2027-01-01T00:00:00Z",
"is_new_today": false,
"is_fresh": false,
"is_active": false,
"side": "YES",
"entry_q": 0,
"entry_pm": 0,
"entry_spread_pp": 0,
"window_days": 0,
"resolves_in_window": false,
"forecast_status": {
"state": "warning",
"cents": 0,
"adverse_move_pct": 0,
"basis": "since_publish",
"price_source": "live"
},
"retired_reason": "resolved",
"conviction_tier": 0,
"conviction": "high",
"has_band": false,
"latest_q": 0,
"thesis": "example",
"q_side": "YES",
"q_value_cents": 0,
"entry_cost_cents": 0,
"current_cost_cents": 0,
"distance_to_convergence_cents": 0,
"converge_upside_pct": 0,
"max_roi_pct": 0,
"live_priced": false,
"priced_at": "2027-01-01T00:00:00Z",
"capacity_usd_at_2c": 0,
"capacity_available": false,
"capacity_basis": "depth-2c",
"capacity_as_of": "2027-01-01T00:00:00Z",
"drawdown_risk_elevated": false,
"crash_risk_elevated": false,
"venue_quote": {
"schema_version": "1",
"venue": "polymarket",
"market_id": "example",
"yes_bid": 0,
"yes_ask": 0,
"yes_last": 0,
"selected_probability": 0,
"quote_method": "example",
"venue_timestamp": "2027-01-01T00:00:00Z",
"observed_at": "2027-01-01T00:00:00Z",
"freshness": "verified"
},
"resolution_reference": {
"schema_version": "1",
"basis_id": "example",
"settlement_spec_id": "example",
"forecast_target_key": "example",
"observable_id": "example",
"provider": "example",
"instrument_id": "example",
"symbol": "example",
"contract_month": "example",
"roll_rule": "example",
"unit": "example",
"currency": "example",
"price_field": "example",
"candle_interval": "example",
"session": "example",
"window": "example",
"timezone": "example",
"rounding": "example",
"value": 0,
"value_kind": "observed",
"estimate": {
"provider": "example",
"method": "example",
"ci_low": 0,
"ci_high": 0,
"inputs_at": "2027-01-01T00:00:00Z",
"estimate_version": "example"
},
"provider_timestamp": "2027-01-01T00:00:00Z",
"source_timestamp": "2027-01-01T00:00:00Z",
"observed_at": "2027-01-01T00:00:00Z",
"freshness": "verified",
"collection_transport": "example",
"strike": 0,
"comparator": "example",
"fixing_window_start": "example",
"fixing_window_end": "example",
"barrier_window_start": "example",
"barrier_window_end": "example",
"payout_semantics": "example",
"rules_url": "example",
"rules_hash": "example",
"rules_version": "example",
"mapping_provenance": "example",
"mapping_status": "verified"
},
"execution_reference": {
"schema_version": "1",
"basis_id": "example",
"settlement_spec_id": "example",
"forecast_target_key": "example",
"observable_id": "example",
"provider": "example",
"instrument_id": "example",
"symbol": "example",
"contract_month": "example",
"roll_rule": "example",
"unit": "example",
"currency": "example",
"price_field": "example",
"candle_interval": "example",
"session": "example",
"window": "example",
"timezone": "example",
"rounding": "example",
"value": 0,
"value_kind": "observed",
"estimate": {
"provider": "example",
"method": "example",
"ci_low": 0,
"ci_high": 0,
"inputs_at": "2027-01-01T00:00:00Z",
"estimate_version": "example"
},
"provider_timestamp": "2027-01-01T00:00:00Z",
"source_timestamp": "2027-01-01T00:00:00Z",
"observed_at": "2027-01-01T00:00:00Z",
"freshness": "verified",
"collection_transport": "example",
"strike": 0,
"comparator": "example",
"fixing_window_start": "example",
"fixing_window_end": "example",
"barrier_window_start": "example",
"barrier_window_end": "example",
"payout_semantics": "example",
"rules_url": "example",
"rules_hash": "example",
"rules_version": "example",
"mapping_provenance": "example",
"mapping_status": "verified"
},
"basis_status": "verified",
"grounding_status": "actionable",
"suppression_reason": "example",
"market": {
"venue": "polymarket",
"nativeMarketId": "example",
"nativeEventId": "example",
"seriesTicker": "example",
"marketKey": "example",
"quotientMarketId": "example",
"slug": "example",
"marketUrl": "example",
"sourceUrl": "example",
"broker_channels": [
"robinhood"
],
"robinhood_category": "example",
"robinhood_url": "example",
"question": "example",
"condition_id": "example",
"end_date": "2027-01-01T00:00:00Z",
"market_odds": 0,
"volume_24h": 0,
"quotientUrl": "example",
"polymarketUrl": "example",
"relationships": {
"assets": [
{
"relationship": null,
"direction": null,
"via": null,
"id": null,
"assetKey": null,
"name": null,
"ticker": null,
"asset_type": null
}
],
"markets": [
{
"relationship": null,
"direction": null,
"via": null,
"marketKey": null,
"venue": null,
"nativeMarketId": null,
"question": null
}
],
"signals": [
{
"relationship": null,
"direction": null,
"via": null,
"id": null,
"signal_type": null,
"canonical_endpoint": null,
"side": null,
"published_at": null
}
],
"truncated": {
"assets": false,
"markets": false,
"signals": false
}
}
},
"relationships": {
"assets": [
{
"relationship": "HAS_MARKET",
"direction": "incoming",
"via": "direct",
"id": "example",
"assetKey": "example",
"name": "example",
"ticker": "example",
"asset_type": "example"
}
],
"markets": [
{
"relationship": "HAS_MARKET",
"direction": "incoming",
"via": "direct",
"marketKey": "example",
"venue": "polymarket",
"nativeMarketId": "example",
"question": "example"
}
],
"signals": [
{
"relationship": "HAS_MARKET",
"direction": "incoming",
"via": "direct",
"id": "example",
"signal_type": "prediction_market",
"canonical_endpoint": "/api/v1/signals",
"side": "example",
"published_at": "example"
}
],
"truncated": {
"assets": false,
"markets": false,
"signals": false
}
}
},
"featured_by": "pin",
"message": "example"
}