Skip to main content
GET
/
ds
/
{bucket}
/
{stream}
/
bootstrap
curl 'https://stream.tonbo.dev/ds/demo/hello/bootstrap'
Returns the stream’s latest snapshot (if any) plus all retained updates after the snapshot offset, packed as a multipart/mixed response. This is the recommended way to initialize a client that needs the complete current state of a stream.
bucket
string
required
Bucket ID.
stream
string
required
Stream ID within the bucket.

Response

StatusMeaning
200Bootstrap response with snapshot and updates.
400Invalid query parameters.
404Stream not found or expired.
410Requested offset has been trimmed.
Response headers include:
HeaderDescription
Content-Typemultipart/mixed; boundary=...
Stream-Next-OffsetThe offset after the last included update.
Stream-Snapshot-OffsetThe snapshot offset (or none if no snapshot exists).
Stream-Up-To-Datetrue if the response includes all data up to the tail.
Stream-ClosedPresent and true if the stream is closed and fully caught up.

Response body

The body is a multipart/mixed message:
1

Snapshot part

The first part is the snapshot blob (or an empty part if no snapshot exists).
2

Update parts

Subsequent parts are individual update messages appended after the snapshot offset. For JSON streams, each update is a separate application/json part.
curl 'https://stream.tonbo.dev/ds/demo/hello/bootstrap'
After bootstrapping, switch to SSE reads with live=sse starting from the Stream-Next-Offset to receive real-time updates.
See bootstrap and snapshots for the conceptual model.