Ask (streaming)

Streaming variant: Server-Sent Events with live progress. Each SSE `data:` line is one JSON event. Order: `stage` (retrieval) → `sub_query` at the moment each search is issued (+ `sub_query_result` with the hit count when it completes, matched by `seq`) → `retrieval_done` → `sources` (full search-hit objects, render citation cards/player immediately) → `stage` (synthesis) → `answer_delta` tokens → `done` (final answer + cost/debug). `ping` events keep the connection alive during quiet stretches; a terminal `error` event replaces `done` on failure.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

OR
X-API-Keystring
API Key authentication via header

Request

This endpoint expects an object.
querystringRequired8-1000 characters
The question to research.
answerbooleanOptionalDefaults to false

Default returns the agent-curated evidence (sources) with answer: null in ~10-30s. Set true for a written, cited answer — adds ~15-25s.

include_quotesbooleanOptionalDefaults to false

Attach the verbatim transcript passage to each source as quote — the same grounding /insights/search offers. Adds ~1-2s.

Response

Server-Sent Events: stage, sub_query, sub_query_result, retrieval_done, sources, answer_delta, done, ping, error.

Errors

400
Bad Request Error
401
Unauthorized Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error