search
GET /search — Cross-resource omni-search
Cross-resource search across profiles, rooms, messages (incl. private DMs + group DMs you're in), events, and chapters in one round trip. Returns the top-N matches per resource, grouped by resource.
Use this when you don't yet know which resource carries the answer — agents typically call this first, then drill into a specific GET /search/<resource> for more depth on a single bucket. There's no page param: when you hit the per-resource limit and want more, switch to the per-resource endpoint for that one.
The events slice has a baked-in forward-looking default (events ending in the last 30 days or later, and currently enabled) — this matches the in-app "Search across DC" surface. Use GET /search/events directly to look further back in time.
Query syntax (q=): plain words match with prefix + typo tolerance. Wrap a phrase in double quotes to require an exact ordered match — e.g. q="remote work". AND/OR/NOT/parentheses are NOT parsed in q= — use the structured filter params below for boolean composition.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search text (1-500 chars). Required. | |
| limit | No | Per-resource hits cap (1-25). The same cap applies to each resource — so `limit=5` returns up to 5 profiles + 5 rooms + 5 messages + 5 events + 5 chapters. | |
| userID | No | Scope each resource to this DCer's content — their profile, messages they authored, rooms they created, events they host, chapters they belong to. The @-mention pattern from the in-app search. |