Generate Briefing
Generate a briefing on-demand from an ad-hoc prompt via Server-Sent Events streaming. The prompt (query) is run through the briefing engine (mode=briefing) — the same output family as your scheduled briefings (depth, formatting, citations). Stateless: send a fresh prompt each call.
query) is run through the briefing engine — the same engine behind your scheduled briefings — so the output matches your scheduled briefing’s depth, formatting, and citations. Send a fresh prompt on each call.
Request
query (required) is your briefing prompt. All other fields are optional:
tickers/stock_ids— securities to scope the briefing to.frequency—daily(default),weekly, ormonthly; sets the data window (last 1 / 7 / 30 days, anchored at “now”).timezone— IANA timezone (e.g.Asia/Shanghai) used for the window and timestamps. Defaults toUTC.language— output language; auto-detected from the prompt when omitted.previous_summary— the prior briefing’s content, to carry formatting/continuity across calls (optional).
Event Flow
status events stream while the briefing runs, followed by a single answer event carrying the full briefing markdown (with linked [N](url) citations), then status:finish. Read the content from the answer event’s answer_piece. The full content arrives once (not token-by-token), because inline citations are resolved only after the briefing completes.
On failure, a single status event with status: "error" (carrying a code) is emitted instead of answer.
This endpoint is stateless: each call generates a standalone briefing from the prompt you send.
Authentication
For platform API keys, passorganization_id, user_id, and user_email in the request body to select which user the briefing is generated for. Organization-bound keys resolve the user automatically.Authorizations
Body
The ad-hoc briefing prompt (used as the briefing topic), run through the briefing engine
Optional ticker symbols to scope the briefing
Optional internal stock ids to scope the briefing
Data window (last 1 / 7 / 30 days, anchored at now). Defaults to daily.
daily, weekly, monthly Output language; auto-detected from the prompt when omitted
IANA timezone (e.g. Asia/Shanghai) for the window and timestamps. Defaults to UTC.
Prior briefing content, to carry continuity across calls (optional)
Deprecated and ignored; this endpoint is stateless
Organization ID for platform API keys
User ID (customer_id) for platform API keys
User email for platform API keys
User name for platform API keys
Response
SSE stream of briefing events, each sent as data: {json}\n\n. Sequence: status → [status]* → answer → status:finish. A keepalive is sent as a status event roughly every 30s. On failure a single status event with status "error" (carrying a code) is emitted instead of answer. The answer arrives once (full content), not token-by-token, because inline citations are resolved only after the briefing completes.