Stream ID within the bucket.
Must match the stream’s content type. Required when the body is non-empty.
Set to true to close the stream after this append.
Conditional write — only succeed if the stream’s ETag matches.
Client-supplied sequence token for conflict detection.
Producer sequence number.
The bytes to append. Must not be empty unless Stream-Closed: true is set (close-only request).
Response
| Status | Meaning |
|---|
200 | Append successful. |
400 | Empty body without Stream-Closed: true, missing content type, or bad JSON. |
404 | Stream not found. |
409 | Stream is already closed, or sequence/producer conflict. |
412 | If-Match precondition failed. |
503 | Write backpressure — retry after the duration in Retry-After. |
Response headers include Stream-Next-Offset and ETag.
curl -X POST https://stream.tonbo.dev/ds/demo/hello \
-H 'Content-Type: application/octet-stream' \
--data-binary 'hello world'
Appends to JSON streams are validated and normalized. The server may coalesce multiple concurrent appends into a single batch for performance.