v4
latestOpenAPI 3.1.02026-08-0453110161.5 KBList Messages
List messages for a conversation with block downgrade for client capabilities.
Why Accept-Nodes is a required header (not optional, not a query param):
- Required: forces clients to declare capabilities; no silent degraded experiences.
- Header: content negotiation is a header concern (HTTP Accept-* convention); no URL encoding issues; FastAPI parses comma-separated values natively.
- Same semantics as POST /rpc initialize acceptNodes — different encoding per call site.
Blocks are returned already hydrated — the streaming markdown parser populates all snapshot fields at parse time. The REST endpoint applies only the block downgrade step (no artifact fetching).
Path parameters
Query parameters
Headers
Required. Comma-separated list of supported node types and versions in type:version format. e.g. 'plain_text:1, map:1'. Mirrors the capabilities declaration sent on POST /rpc initialize. Server downgrades nodes to the highest mutually supported version; nodes with no fallback are omitted. Using a required header follows HTTP content negotiation conventions (Accept, Accept-Language) — this is what Accept-* headers exist for.
Required. Comma-separated list of supported node types and versions in type:version format. e.g. 'plain_text:1, map:1'. Mirrors the capabilities declaration sent on POST /rpc initialize. Server downgrades nodes to the highest mutually supported version; nodes with no fallback are omitted. Using a required header follows HTTP content negotiation conventions (Accept, Accept-Language) — this is what Accept-* headers exist for.
Response
Successful Response