Search (Metered)

Semantic search across user's context

Performs semantic search across the user's connected integrations and returns raw matches from messages, meetings, and calendar events.

Billing: This endpoint is metered. Each call consumes AI query credits.

Use this when you need:

  • Raw communication data without AI summarization
  • Full conversation threads plus matching meetings/events
  • To build your own UI or processing on top of search results

Response structure:

  • key_messages: Messages most relevant to the query
  • conversations: Conversation threads containing the key messages
  • key_meetings: Matched meetings (empty array when no meetings match)
  • key_events: Matched calendar events (empty array when no events match)
  • Every returned record includes external_id (partner-provided ID from ingest, or null)

Parameters:

  • query: The search query (semantic, not keyword-based)
  • integration_ids: Optional filter to specific integrations (opaque IDs like int_xxx)
  • conversation_ids: Optional filter to specific conversations (opaque IDs, e.g., "conv_xxx")
  • after_date: Optional date filter (YYYY-MM-DD)
  • before_date: Optional date filter (YYYY-MM-DD)
  • sender_domains: Optional filter by sender email domains (e.g., ["acme.com"])
  • entity_ids: Optional filter by entity IDs (UUIDs)
  • retrieval_mode: Optional retrieval strategy — "fast" (lowest latency, default), "auto" (adaptive), or "deep" (full pipeline)
  • expand: Optional comma-separated fields to include (e.g., "body_text,summary,description")

Expand parameter: By default, expandable detail fields are omitted to reduce payload size. Use expand=body_text for message content, expand=summary,short_summary,action_items,attendees,meeting_link for meetings, and expand=description,location,html_link,event_link,attendees for calendar events.

post/v1/users/{user_id}/search

Request

  • Base URL: http://0.0.0.0:3000
  • URL: http://0.0.0.0:3000/v1/users/{user_id}/search
  • Auth: none declared

Path parameters

user_idstring uuid required

Query parameters

expandstring

Comma-separated list of fields to include. Valid options: body_text, body_html, raw, headers, summary, short_summary, action_items, attendees, meeting_link, description, location, html_link, event_link, visibility, response_status

Request body

querystring required
conversation_idsstring[]

Filter to specific conversations by opaque ID (conv_xxx)

after_datestring date

Filter results after this date (YYYY-MM-DD)

before_datestring date

Filter results before this date (YYYY-MM-DD)

allow_bot_messagesboolean
sender_domainsstring[] nullable

Filter by sender email domains (e.g., ['acme.com'])

entity_idsstring[] nullable

Filter by entity IDs (UUIDs)

retrieval_mode'fast' | 'auto' | 'deep'

Optional retrieval strategy. Defaults to 'fast' for /search requests.

debug_retrieval_planboolean

When true, asks the retrieval backend to include extra planner diagnostics.

max_resultsinteger

Maximum number of chunks to return. Chunks beyond rerank_top_k are appended in score order up to this cap.

expandstring

Comma-separated list of fields to include (e.g., 'body_text,summary,action_items')

Response

Default Response

successtrue required

Changes

No recorded changes to this operation across all 1 revision of this API.