Skip to main content
POST
Run Analysis

Body

application/json

Request body for starting new analysis

question
string
required

Analysis question

Required string length: 1 - 1000
request_id
string | null

Idempotency key; changed inputs conflict

Required string length: 8 - 128
project_id
string | null

Project UUID

options
AnalysisOptions · object | null

Analysis options

mode
string | null

Analysis mode: 'crowd' or 'auto'

search_mode
string | null
default:knowledge

Search mode: 'knowledge' (search stored KB + content_store, default), 'multi_source' (live web search), 'hybrid' (legacy alias), 'web_only', 'user_only', 'user_first'

platforms
string[] | null

Platforms to search: reddit, twitter (X), github, news

urls
string[] | null

URLs pasted by user for MCP content extraction

uploaded_content
string | null

Content from user-uploaded file (text, transcribed audio, etc.)

uploaded_file_name
string | null

Original filename of uploaded content

provided_sources
Provided Sources · object[] | null

Supplied originals or stored source IDs; stored bodies are reloaded under caller scope

Required array length: 1 - 2000 elements
entity_id
string | null

Entity UUID for scoped analysis (from frontend entity picker)

workspace_id
string | null

Workspace UUID for content isolation in shared workspaces

skill
string | null

Skill ID (e.g., 'crowd-research') to influence analysis methodology

depth
string | null
default:brief

Analysis depth: 'brief' (bounded discovery) or 'deep' (bounded discovery plus original text/comment extraction)

Response

Successful Response