Skip to main content
POST

Referencing Vault documents

To chat over documents you uploaded through the Vault endpoints, pass their rms_document_id (returned by Vault — Confirm Upload) in search_types.rms[].document_ids, and set source to "vault":
source: "vault" is required for Vault documents. If you omit it, the document is searched generically — it is not retrieved for direct file citation, the answer’s [N] markers won’t resolve, and GET /v2/analytics/conversations/{id}/references returns an empty list (the answer may still look complete, so this fails silently).
  • document_ids are rms_document_id values from confirm (poll Document Status until Synced first) — not the presign document_id.
  • workspace must match the workspace the document was uploaded into (the workspace sent to presigned_url / confirm).

Authorizations

X-API-KEY
string
header
required

Body

application/json
query
string
required

The analytics query to process.

Example:

"What are the latest insights on AAPL earnings?"

organization_id
string<uuid>

Organization ID

user_id
string<uuid>

User ID

user_email
string<email>

User email

user_name
string

User name

conversation_id
string | null

Existing conversation ID for multi-turn continuation. Omit or null for new conversation.

search_types
object | null

Structured source selection. Controls which document sources to query. Omitting a category means don't search it.

filters
object | null

Metadata filters. Hard filters exclude non-matching documents (AND between fields, OR within arrays). Soft filters boost relevance without excluding.

connectors
object[] | null

Customer MCP connectors to enable for this analytics request.

disabled_connectors
string[] | null

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.

Conversation event

event_name
enum<string>
required
Available options:
conversation
data
object
required

Event-specific data payload