search_messages
GET /search/messages — Search messages (incl. your private DMs)
Search message bodies across every room you can access. This is the key surface for "catch me up on what was said about X" — your private DMs, group DMs, and any room you're a member of are all searchable. Messages from rooms you don't belong to are filtered out before any results return.
Scope to one room with ?roomID= (the room is double-gated against your membership — passing a roomID you're not in returns 403, not silently-empty results). Scope to one author with ?userID=. The two compose: ?roomID=<id>&userID=<id> returns just messages by that author in that one room.
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. Required. | |
| page | No | 1-indexed page number. | |
| limit | No | Max hits per page (1-100). | |
| roomID | No | Scope to a single room. Must be a room you are a member of — otherwise returns 403. Discover roomIDs via `GET /rooms`, `GET /inbox/unread`, or `trip.roomID` on `GET /trips/:tripID`. | |
| userID | No | Scope to messages authored by this DCer. |