Endpoints
Search
Workspace-scoped operational search over the platform snapshot.
GET only. Search navigates; it does not enqueue Command jobs. Behavior:
Search and notifications.
| Path | Auth | Response |
|---|---|---|
/api/search | Session | { results } |
/api/v1/search | Any valid bearer API key | { results } (no v1 envelope) |
Query
| Param | Session | v1 |
|---|---|---|
q | Search string; default "" | Same |
workspaceId | Optional; default session ws | Ignored; always apiKey.workspaceId |
limit | Not read (always 20) | Optional. Default 20. <= 0 or NaN → 20. No max |
Empty usable tokens → { "results": [] } (200), not an error.
Session foreign workspace without membership: 403
Cannot access search results for another workspace. Owned/member workspace: 200.
v1 missing/invalid bearer: 401 Valid bearer API key is required. Personal and copilot keys
are accepted and still scoped to the key’s workspace.
Result object
| Field | Notes |
|---|---|
id | Resource id |
type | See feature page |
title / subtitle / preview | Display strings; dates in previews use America/New_York |
score | Integer hit score |
targetId | Navigation target (runs → workflow id) |
targetView | home | workflow | databases | docs | knowledge | schedules | logs | settings | notifications |
targetSettingsSection | Present for settings-type hits |
No cursor. No POST. Indexed fields include table cell values, chat message bodies, run logs, and masked credential/API-key material — not raw secrets.
Errors
| HTTP | Body |
|---|---|
| 401 | { "error": "Valid bearer API key is required" } |
| 403 | { "error": "Cannot access search results for another workspace." } |
Malformed q is not rejected. There is no 400 for limit.
Gaps
- v1
limitis unbounded above. - Session cannot pass
limit. - Tokens shorter than 2 characters never match.
- Result set is a full snapshot scan in process (not a search index).
