ManticScore uses newline-delimited JSON (NDJSON) to stream progress events for all long-running operations — market research, feature deep research, build graphs, Forge coding runs, briefs, and chat. Instead of polling for results, your client opens a persistent HTTP connection and receives events line by line as work progresses.Documentation Index
Fetch the complete documentation index at: https://docs.manticscore.com/llms.txt
Use this file to discover all available pages before exploring further.
Protocol basics
Every streaming endpoint returns:v field is the protocol version. The event field identifies the event type. The data object contains the payload for that event type.
Parse on the
event field and ignore unknown event types. New event types may be added to any stream, and forward-compatible clients should skip them silently.Cursor-based replay
Every streaming endpoint accepts acursor query parameter (default 0). Pass the seq number of the last event you received to resume a stream without re-reading events you have already processed.
cursor, then continues streaming live events. This means you can reconnect after a network drop without losing any events.
Common event types
These events appear across all streams:| Event | When it fires | Key data fields |
|---|---|---|
stream_start | First event on every stream | request_id, entity ID |
stage | A pipeline stage starts, completes, or fails | name, status, optional timing and counts |
progress | Human-readable status update during a stage | stage, message |
result | Final output when the job completes | full artifact payload |
error | A non-recoverable error occurred | message, code, retryable |
done | Stream is complete — close the connection | {} |
error event with "retryable": true means the job can be restarted with the same inputs.
Research events
interpret → search → judge → analyze → synthesize → persist
The judge stage is non-blocking. If it fails, the pipeline continues to analyze regardless.
Build graph events
node_created event per node. Assemble the tree client-side using the parent_id field included in full events.
Forge events
Chat events
message_delta.text value to build the full assistant message.
Code examples
Tracing
Every response includes anX-Request-ID header. Include this value when reporting issues — it maps directly to server-side logs.