Skip to main content
POST
Run investment thesis debate

Path Parameters

symbol
string
required

Query Parameters

timeframe
enum<string>
default:swing

Trading timeframe for context

Available options:
day,
swing,
position,
investment
risk_appetite
enum<string>
default:moderate

Risk appetite for position sizing guidance

Available options:
conservative,
moderate,
aggressive
include_historical
boolean
default:true

Include historical analog search from Qdrant

verbose
boolean
default:false

Include full agent narratives in response

model
string | null

LLM model override (e.g. 'gpt-5.2', 'grok-4-1-fast-reasoning'). None = default.

Response

Debate completed successfully

Complete debate response with all agent outputs.

symbol
string
required

Stock ticker symbol

request
DebateRequest · object
required

Original request parameters

bull_thesis
BullishThesis · object
required

Bull agent thesis

bear_thesis
BearishThesis · object
required

Bear agent counter-thesis

verdict
ArbiterVerdict · object
required

Arbiter final verdict

market_context
MarketDataContext · object
required

Market data context used in debate

timestamp
string<date-time>

When debate completed

debate_id
string | null

UUID of persisted debate run

total_duration_ms
integer | null

Total debate duration in milliseconds

total_tokens
integer | null

Total tokens consumed across all agents

validation_passed
boolean | null

Whether all critical validations passed

validation_blocked
boolean | null

True if debate was not persisted due to validation failure

quality_score
number | null

Overall quality score (0-100)

Required range: 0 <= x <= 100
validation_issues
Validation Issues · object[] | null

List of validation issues found

historical_analogs_status
enum<string> | null

Status of historical analog retrieval

Available options:
unavailable,
empty,
found
proposed_cards
ProposedActionCard · object[]
no_viable_plays
boolean
default:false
no_viable_plays_reason
string | null