Request schema
{
"type": "object",
"description": "The body of POST /v1/brief. The other routes take JSON bodies too: /v1/verticals takes {}; /v1/overview takes entity_id and horizon; /v1/signals takes source_id, horizon, sort, direction, min_confidence and limit; /v1/signal and /v1/explain take series_id; /v1/catalog takes entity_id and q; /v1/events takes entity_id, event_type, severity, since and limit.",
"properties": {
"vertical": {
"type": "string",
"enum": [
"fundamentals",
"filing-risk",
"insider-activity",
"balance-sheet",
"peer-ranking",
"public-attention",
"earnings-quality",
"shareholder-returns",
"interest-coverage",
"investment-cycle",
"settlement-fails",
"institutional-ownership"
],
"description": "Which brief to score."
},
"entity_id": {
"type": "string",
"enum": [
"aapl",
"msft",
"nvda",
"amzn",
"wmt",
"jpm",
"bac",
"xom",
"pfe",
"lly",
"jnj",
"unh",
"nflx",
"dis"
],
"description": "The company, by lowercase ticker."
},
"horizon": {
"type": "string",
"enum": [
"7d",
"30d",
"90d",
"365d"
],
"description": "The window the trend is measured over."
}
},
"required": [
"vertical",
"entity_id"
]
}
Response schema
{
"type": "object",
"description": "For POST /v1/brief, a JSON object with vertical, title, status, score (0-100), label, trend, summary, drivers, risk_flags, confidence, inputs, watch and citations. Bad input answers 400 with `{ error: { code, message } }`."
}