AI
SF-12 AI-grounded research question (PR1 dry-run substrate)
POST /api/ai/research-question — SF-12 PR1 substrate.
Request body (JSON): { "question": "<user question>", "ticker": "AAPL", "mode": "literacy"|"interpretation"|"comparative"|"transcript_compare", "dry_run": true # PR1: must be true }
PR1 behavior:
- dry_run=True (the only allowed value): build retrieval candidates via A2 RAG, return them as Citation entries with answer="[DRY RUN — PR1 substrate]", cost_usd=0.0, model_used="dry-run". No LLM call. dry_run suppresses the LLM, not the retrieval: the question is embedded by Voyage AI (US) on this path too. See the module header.
- dry_run=False: return 501 with {"detail": "live LLM ships in PR2"}. Explicit refusal — never silently 200 with an empty body.
- Advisory-shaped questions (per _is_advisory() — the COUNSEL F7 BLOCKING denylist shared with /api/ai/ask) are refused with 400 before any retrieval. The refusal payload echoes the advisory-refusal contract used by the existing Ask-AI surface.
post/api/ai/research-question
Request
- Base URL: https://www.oxfordledge.com (the document declares no server; this is the origin it was published from)
- URL: https://www.oxfordledge.com/api/ai/research-question
- Auth: none declared
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.