Analytics V2
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_idanduser_id: Optional (required only for platform API keys)
Event Flow
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
Retrieving References
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.
Referencing Vault documents
To chat over documents you uploaded through the Vault endpoints, pass theirrms_document_id (returned by Vault — Confirm Upload) in search_types.rms[].document_ids, and set source to "vault":
document_idsarerms_document_idvalues fromconfirm(poll Document Status untilSyncedfirst) — not the presigndocument_id.workspacemust match the workspace the document was uploaded into (theworkspacesent topresigned_url/confirm).
Authorizations
Body
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.
Customer MCP connectors to enable for this analytics request.
Connector names to disable for this analytics request.
Response
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.