Skip to content

Search & saved views

Full-text card search runs over the title and description using Postgres' websearch grammar, across every board you can read. Add structured filters to narrow it, or scope to a single board.

Press / in the UI to search, or call the API. A query q that parses as a card key (TRK-42) resolves that exact card first.

Filters:

  • boardId — scope to one board (otherwise all readable boards)
  • labelIds, assigneeActorIds — comma-separated ids
  • priority — comma-separated (urgent, high, medium, low)
  • dueBefore / dueAfter — due-date range
  • completedtrue / false
  • fieldValues — a JSON-encoded array of { fieldId, value }, matched by JSONB containment (see Custom fields)

Results are slim rows (id, board, list, title, key, labels, priority, due) ranked by text relevance with a recency tiebreak; filter-only queries order by recency. Results page with a cursor.

bash
# Text search across your boards
curl -H "Authorization: Bearer $TOKEN" \
  "http://localhost:3000/api/search/cards?q=deploy&limit=20"

# Board-scoped with structured filters
curl -H "Authorization: Bearer $TOKEN" \
  "http://localhost:3000/api/search/cards?boardId=$BOARD_ID&priority=high,urgent&completed=false"

Over MCP this is board_read { method: "search", params: { q?, boardId?, filters?, limit?, cursor? } } (a nested filters object instead of flat params). Requires read access; a board:<id>-leashed token searching globally sees only its leashed board(s).

The text-search config is SEARCH_TSVECTOR_CONFIG (default english) — see Configuration.

Saved views

A saved view is a named bookmark of a filter set, per board. A view is either personal (visible only to its owner) or shared with the whole board (creating or toggling a shared view requires admin). Reorder your views to control their order in the board's view bar.

A view's filters is the same shape the search endpoint accepts, plus a free-text q. Shared-view changes append board.view_saved / board.view_updated / board.view_removed activity. Manage views under /api/boards/:id/views and /api/views/:id — see the OpenAPI reference.

Released under the AGPL-3.0 license.