Agentic analytics with structured source selection, hard/soft filters, and identity fields.
search_types: Choose sources — rms (internal docs), external (transcripts, filings), structuredfilters.rms.hard_filters / soft_filters: Hard = exclude non-matching (AND between fields, OR within arrays). Soft = boost relevance only.organization_id and user_id: Optional (required only for platform API keys)conversation ← conversation_id
message ← echo of user query
status: start ← stream begins
+-- AGENTIC LOOP (repeats) ---------+
| tool_use_block (x1-3) |
| tool_result_block (x1-3) |
| keepalive (~15s) |
| think (xN) |
+------------------------------------+
answer ← full answer with [1][2] citations
status: finish ← stream ends
After the stream finishes, use conversation_id to get citation sources:
GET /v2/analytics/conversations/{conversation_id}/references
Returns normalized references with enriched metadata. See Analytics V2 References for details.
The analytics query to process.
"What are the latest insights on AAPL earnings?"
Organization ID
User ID
User email
User name
Existing conversation ID for multi-turn continuation. Omit or null for new conversation.
Structured source selection. Controls which document sources to query. Omitting a category means don't search it.
Metadata filters. Hard filters exclude non-matching documents (AND between fields, OR within arrays). Soft filters boost relevance without excluding.
SSE stream of analytics events. Each event is sent as data: {json}\n\n. Events follow the sequence: conversation → message → status:start → [agentic loop] → answer → status:finish. status:keep_alive and keepalive events are sent periodically during long tool execution gaps.