Head stream

bucketpathstringrequired

Bucket ID.

streampathstringrequired

Stream ID within the bucket.

Stream-Incarnationheaderstring

Optional precondition: the stream's incarnation token, as a previous response's Stream-Incarnation header returned it. The HEAD answers 200 only if the stream is still that incarnation; otherwise 412, with the current token in Stream-Incarnation. Without the header, the request behaves exactly as described here. A malformed value answers 400. See Stream-Incarnation.

Response

StatusMeaning
200Stream found.
307In a cluster, this node could not answer as the stream's group leader. Location is the same request on the leader.
404Stream not found or expired.
412Stream-Incarnation did not match. The response's Stream-Incarnation is the current token.
503The group has no known leader, or the leader could not confirm its leadership in time. Retry after Retry-After.

HEAD is linearizable: the leader confirms with a majority of voters that it still leads before it answers, so the response reflects every append acknowledged before the request started. See Durability and consistency.

Response headers include:

HeaderDescription
Content-TypeThe stream's content type.
Stream-Next-OffsetThe stream's tail: the offset the next append starts at.
Stream-ClosedPresent and true if the stream is closed.
Stream-Retained-OffsetThe earliest offset still readable. Reads below it answer 410 Gone. Before any retention advance, it is the start of the stream.
Stream-Snapshot-OffsetThe offset of the latest snapshot. Absent when the stream has no snapshot. Read the snapshot with GET …/snapshot/{offset}.
Stream-Snapshot-DigestThe digest of the latest snapshot's content type and body, as its publish returned it. Present with Stream-Snapshot-Offset.
Stream-IncarnationAn opaque token for this incarnation of the stream. It changes when the stream is deleted and recreated at the same URL; compare it only for equality.
Stream-TTLThe configured TTL in seconds (if a TTL was set). This is the sliding window length, not the time remaining. HEAD does not renew it.
Stream-Expires-AtExpiration timestamp (if set).
Cache-Controlno-store.
Stream-Cold-Hot-Start-OffsetDiagnostic and unstable: may change or disappear in any release. Data below this offset has been flushed to cold storage.
curl -I http://127.0.0.1:4437/demo/hello