Request schema
{
"type": "object",
"description": "The body of POST /v1/brief. The other routes take JSON bodies too: /v1/verticals and /v1/overview take {} (overview also horizon); /v1/signals takes source_id, horizon, sort, direction, min_confidence and limit; /v1/signal and /v1/explain take series_id (e.g. fred:CPIAUCSL); /v1/catalog takes q; /v1/inflation/adjust takes amount and from, with an optional to (YYYY-MM).",
"properties": {
"vertical": {
"type": "string",
"enum": [
"macro-regime",
"inflation",
"labor",
"rates",
"credit-stress",
"commodities",
"global-compare",
"housing",
"consumer",
"country-risk",
"health-systems",
"education",
"yield-curve",
"bank-health",
"global-rates-fx",
"treasury-demand",
"energy-supply",
"trade-flows",
"business-formation",
"pokt-network-health",
"crypto-liquidity",
"supply-chain-pressure",
"food-inflation",
"state-labor",
"imf-outlook",
"economic-calendar",
"leading-indicators"
],
"description": "Which brief to score."
},
"horizon": {
"type": "string",
"enum": [
"7d",
"30d",
"90d",
"365d"
],
"description": "The window the trend is measured over."
},
"countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Countries to compare, for the cross-country verticals."
}
},
"required": [
"vertical"
]
}
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 } }`."
}