Returns a bounded, cursor-paginated page of authorized Project, Task,
Document, Comment, or active Person matches from exactly one Workspace. Exact
identifiers and titles take precedence, followed by title prefixes,
weighted lexical relevance, typo tolerance, and recency. The opaque
cursor preserves that deterministic ordering. Plain-text snippets are
bounded and stripped of control characters; results never expose a raw
engine score or exact total. Archived resources are excluded unless
explicitly included; trashed, purged, and deleted resources remain excluded.
Work is rate-limited and query-time bounded; overload returns a
retryable 503 search_unavailable with Retry-After.
Native bearer access is limited to title and identifier matches for an
explicit resource_type of project or task, excludes archived resources,
and returns empty snippets. Other types and omitted/duplicate type filters
return 400 for native callers. Browser search retains its full corpus.
Path Parameters
workspace_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001
Query Parameters
qRequired
string·min 2·max 200
Terms or quoted phrases. Leading and trailing whitespace is ignored.
project_id
string <uuid>
Restrict matches to this Project. An inaccessible Project produces no results rather than confirming it exists.
Example0198ac5e-f9b7-7000-8000-000000000001
resource_type
string
Restrict matches to one indexed resource type.
Values
projecttaskdocumentcommentperson
include_archived
boolean·default false
Include archived resources. Resolved Tasks are included regardless because resolution is not archival.
cursor
string·min 1·max 2048
Opaque continuation cursor returned by the preceding page.
limit
integer·min 1·max 50·default 20
Responses
result_version
string
Opaque version of the first 20 unfiltered non-archived work results, scoped to query and current member. Absent for other filters/page sizes/cursors. Does not include People or prove exhaustive coverage. Discuss rechecks this version on explicit Send.
itemsRequired
object[]
next_cursor
string·min 1·max 2048
Opaque, endpoint-specific pagination cursor.
has_moreRequired
boolean
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
Retry-After
integer·min 1
Seconds until the client may retry.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Retry-After
integer·min 0
Delay in seconds before retrying, when an expected maintenance end is known.
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.