Recommended reading order
Streaming responses
Start here. Defines the SSE format, every public message type, the typical
order of events in a request, and a canonical Python handler the rest of the
docs build on.
Read it
Grounding and citations
How
GROUNDING references attribute spans of the answer to their source
documents, the critical buffering rule for offset math, and a worked example
that turns a streamed response into a Markdown answer with inline citations.
Read itError handling
The difference between HTTP-level errors and in-stream errors, what each of
ERROR, TOOL_ERROR, and LLM_RETRY means, and a retry/backoff pattern for
429 and 5xx responses.
Read itConversation continuity
Resuming Research Agent conversations with
chat_id and checkpoints, the
persistence_mode switch, the "INITIAL" reset sentinel, and resuming
Workflows by execution_id.
Read itWhat each page covers
| Page | You will learn |
|---|---|
| Streaming responses | The 11 public message types (purpose, key fields, when each is emitted) and a complete Python handler that dispatches on type. |
| Grounding and citations | The structure of a GroundingReference, the cumulative-answer buffering rule, AUDIT linkage, and how to render Markdown footnote-style citations. |
| Error handling | HTTP error codes, in-stream ERROR vs. TOOL_ERROR vs. LLM_RETRY, an error-aware handler, and a retry/backoff helper. |
| Conversation continuity | chat_id, execution_id, from_checkpoint_id, checkpoint_id, persistence_mode, the "INITIAL" sentinel, and multi-turn / branching examples. |
Next steps
Once you are comfortable with the concepts, move on to the service-specific quickstarts and how-to guides.Research Agent quickstart
Send your first Research Agent request end-to-end.
Workflows quickstart
Define and execute your first workflow, inline or by template id.
Non-streaming pattern
Consume the stream end-to-end and print the complete answer in one go.
Workflow templates
Anatomy of a workflow template, input placeholders, content filters, and research plans.