GET request with Accept: text/event-stream and Lark pushes data changes to you as they happen.
Starting a stream
-N flag disables curl’s output buffering so events appear immediately.
Event format
Events follow the SSE specification. Each event has a type and a JSON data payload:Event types
| Event | Description |
|---|---|
put | Data at the path was replaced. The initial event is always a put with the full value at the subscribed path. |
patch | Data was partially updated. Only the changed fields are included. |
keep-alive | Sent periodically to keep the connection open. No data payload. |
cancel | The stream was terminated — typically because security rules revoked read access. |
auth_revoked | The auth token expired or was invalidated. |
Initial data
The first event on any stream is aput containing the complete current value at the path:
put and patch events as data changes.
Path semantics
Thepath field in each event is relative to the path you subscribed to. If you stream /players:
{"path":"/","data":{...}}— The entire/playerssubtree changed.{"path":"/alice/score","data":300}— Only/players/alice/scorechanged.{"path":"/carol","data":{"name":"Carol","score":0}}— A new child/players/carolwas added.
Using SSE in code
Browser (EventSource)
Node.js
Use any SSE client library, or read the stream manually:When to use streaming
SSE streaming is useful when you need real-time updates but can’t use a WebSocket-based SDK:- Server-side listeners — Watch for changes from a backend service.
- Monitoring and logging — Stream events to a log pipeline.
- Simple web clients —
EventSourceis built into every browser with no dependencies.

