Search entities, people, and news

View as Markdown

Runs the canonical entity, person, and news search engines sequentially and returns their typed result pages with per-scope strategy provenance. Supports only auto and keyword modes; unsupported modes are rejected before any scope runs. Page and size apply to every scope; cross-domain sort is not supported.

Authentication

AuthorizationBearer

User bearer token: Supabase or Clerk session JWT, Clerk OAuth access token, or Clerk personal API key

OR
X-API-Keystring

Admin API key for system-to-system write operations

OR
X-Client-Secretstring

Client secret for read-only service-to-service access (no writes)

Query parameters

pageintegerOptional>=0Defaults to 0

Zero-based page index (0..N)

sizeintegerOptional>=1Defaults to 20
The size of the page to be returned
sortlist of stringsOptional

Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

Request

This endpoint expects an object.
querystringRequired>=1 character

Plain-English search request.

modeenumOptional

Search strategy to run. Accepted values narrow per surface: entity and person natural-search take every value (exact is entity-only); news and federated search accept only auto and keyword; content search accepts only auto. Defaults to auto, which keeps the server-chosen pipeline; any other value forces exactly that strategy.

modelstring or nullOptional

Optional chat model for planning; null uses the configured natural-search default. CLIENT_SECRET callers may only choose client-secret-eligible models; admin keys are unrestricted.

Response

OK
entityobject

Canonical entity natural-search result.

newsobject
Canonical news page returned by the keyword list engine.
personobject

Canonical person natural-search result.

provenanceobject
Requested and executed strategy for each search scope.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
406
Not Acceptable Error
409
Conflict Error
415
Unsupported Media Type Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error