Skip to main content
POST
Search

Body

application/json
q
string
required
Required string length: 1 - 1000
Example:

"pricing discussions with enterprise customers"

date_from
string | null

Inclusive lower bound on evidence timestamp. Accepts RFC 3339 datetime (2026-01-15T00:00:00Z) or YYYY-MM-DD (treated as start-of-day UTC).

date_to
string | null

Inclusive upper bound on evidence timestamp. YYYY-MM-DD treated as end-of-day UTC.

evidence_sources
string[] | null

Filter by specific connector instances/sources (e.g. ["google.email", "slack.messages"]). Max 20 items.

filter
EvidenceFilter · object | null
group_by
enum<string> | null

Group results by document (default, deduplicates chunks) or chunk (raw chunk-level results).

Available options:
document,
chunk
include_evidence
boolean
default:false

Include the full typed evidence object for each result. Requires a database round-trip.

limit
integer | null
default:10
Required range: 1 <= x <= 20
metadata
Metadata · object | null

Restrict results to evidence whose metadata contains ALL the given key/value pairs. Shorthand for a filter whose must lists each pair; combines with filter when both are set. Max 20 keys; string values only.

mode
enum<string> | null

Matching strategy: hybrid (default), semantic, or keyword.

Available options:
semantic,
keyword,
hybrid
sources
string[] | null

Filter by source types (e.g. ["email", "calendar_event"]). Max 20 items.

Response

Successful Response

count
integer
required

Number of results returned in this response.

Required range: x >= 0
results
SearchResultItem · object[]
required