SSE Streaming
Watch document processing in real-time using Server-Sent Events without polling.
Stream Deal Events
Instead of polling for deal status, use SSE streaming to receive real-time events as the pipeline processes documents. Events fire for each stage transition, progress update, and completion.
for await (const event of client.events.stream(12345)) {
switch (event.event) {
case "stage":
console.log(`Processing: ${event.data}`);
// "classifying" → "extracting" → "screening" → "scoring"
break;
case "progress":
const progress = event.json();
console.log(`Progress: ${progress.percent}%`);
break;
case "document_completed":
const docData = event.json();
console.log(`Document ${docData.document_id} completed`);
break;
case "complete":
console.log("Analysis complete!");
break;
case "error":
console.error(`Error: ${event.data}`);
break;
}
}for event in client.events.stream(12345):
if event.event == "stage":
print(f"Processing: {event.data}")
elif event.event == "progress":
progress = event.json()
print(f"Progress: {progress['percent']}%")
elif event.event == "complete":
print("Analysis complete!")
elif event.event == "error":
print(f"Error: {event.data}")Stream a Specific Document
for await (const event of client.events.stream(12345, { documentId: 67890 })) {
console.log(event.event, event.data);
}for event in client.events.stream(12345, document_id=67890):
print(event.event, event.data)Organization-Wide Stream
Monitor all events across your entire organization in a single connection. Useful for dashboards and real-time monitoring.
for await (const event of client.events.streamOrg()) {
const data = event.json();
console.log(`Org event: ${event.event}`, data);
}for event in client.events.stream_org():
data = event.json()
print(f"Org event: {event.event}", data)Batch Stream
for await (const event of client.events.streamBatch("batch_abc123")) {
console.log(event.event, event.json());
}for event in client.events.stream_batch("batch_abc123"):
print(event.event, event.json())Stream Event Types
| Event | Description |
|---|---|
stage | Pipeline stage transition (classifying, extracting, screening, scoring) |
progress | Percentage completion update with { percent: number } |
document_completed | A single document has finished processing |
complete | All processing is done — deal is ready |
error | An error occurred during processing |