BM25 full-text search over retrieval_events + agent_discourse_events text
GET
/api/canvas/telemetry-search
const url = 'https://example.com/api/canvas/telemetry-search?q=example&source=all&days=30&limit=20';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/api/canvas/telemetry-search?q=example&source=all&days=30&limit=20' \ --header 'Authorization: Bearer <token>'Return BM25-ranked telemetry rows matching q.
Empty / no-match / dark warehouse → {"results": [], ...}. The service
validates/coerces source (unknown → ‘all’) and clamps days/limit.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ” q
required
Q
Search query.
string
Search query.
source
Source
Text source: ‘retrieval’, ‘agent_discourse’, or ‘all’ (default).
string
Text source: ‘retrieval’, ‘agent_discourse’, or ‘all’ (default).
days
Days
Lookback window in days (1-365, default 30).
integer
Lookback window in days (1-365, default 30).
limit
Limit
Max ranked results (1-100, default 20).
integer
Max ranked results (1-100, default 20).
Responses
Section titled “ Responses ”Successful Response
Media type application/json
Response Search Telemetry Api Canvas Telemetry Search Get
object
key
additional properties
any
Example generated
{}Validation Error
Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}