/v1/stream/ that implements the standard Durable Streams protocol with a flat path model. This is useful when you want a simpler path structure without explicit bucket management.
Path mapping
The v1 path is mapped to the bucket/stream model using the first/ as the separator:
| v1 path | Bucket | Stream |
|---|---|---|
/v1/stream/mystream | _default | mystream |
/v1/stream/workspace/mystream | workspace | mystream |
/v1/stream/a/b/c | a | b/c |
/ are placed in the _default bucket.
Routes
These routes accept the same headers, query parameters, and body formats as their/ds/{bucket}/{stream} equivalents:
| Method | Path | Equivalent |
|---|---|---|
PUT | /v1/stream/{path} | Create stream |
POST | /v1/stream/{path} | Append |
GET | /v1/stream/{path} | Read |
HEAD | /v1/stream/{path} | Head stream |
DELETE | /v1/stream/{path} | Delete stream |
Differences from /ds/ routes
- Buckets do not need to be created beforehand — streams are created without bucket-existence validation.
- No bucket-level operations (create/get/delete bucket, list streams) — use the
/ds/routes for those. - No snapshot or bootstrap routes — use the
/ds/equivalents. - Stream close uses the
Stream-Closed: trueheader on POST, not a path suffix.

