Regarding the /streams endpoint: is the sequence / lastEventId common to all or individual to each Type?
Specifically I’m consuming both notifications and protocol states, so I need to know if I need to keep track of one Id for each or there is a unified Id across all?
sealed class ClientStreamPackage
data class ClientHeartbeat(val tick: Long) : ClientStreamPackage()
data class ClientClear(val boolean: Boolean) : ClientStreamPackage()
data class ClientMessage(val message: String) : ClientStreamPackage()
data class ClientStreamProtocolState(
val sequence: Long,
val commandId: UUID,
val payload: ClientProtocolState,
) : ClientStreamPackage()
data class ClientStreamNotification(
val sequence: Long,
val payload: ClientNotification,
) : ClientStreamPackage()
data class ClientStreamCommand(
val sequence: Long,
val payload: ClientCommand,
) : ClientStreamPackage()
data class ClientStreamPrototype(
val sequence: Long,
val prototype: ClientPrototype,
) : ClientStreamPackage()
I think I’ve answered my own question - all the ids are independent (see the redacted stream output below).
But this gives rise to another more important question - given that you can only pass one Last-Event-ID to the /streams (all) endpoint how does that affect things? (Regardless of the answer it seems like this is a bug to me - but I can test this too, so I’ll post another comment)
id:10
event:command
id:20
event:state
event:tick
data:{"payloadType":"tick","tick":1734697044769}
id:11
event:command
id:12
event:command
id:21
event:state
id:22
event:state
id:23
event:state
id:3
event:notify
id:4
event:notify
event:tick
data:{"payloadType":"tick","tick":1734697045772}
id:13
event:command
From my testing it seems like it affects every stream 
Yes, both of observations are true: the streams/all is an aggregation of the other streams.
I agree with you, using the lastEventId does not really make sense for the streams/all endpoint. (not sure how one could fix that though: only by removing the input for this particular endpoint.) … 
Yip, either remove the Last-Event-Id param for all streams or add one for all the stream types.
Taking my specific scenario into account here’s why I needed to think about it:
I wasn’t sure if I needed 2 listeners, one for notifications and one for states, or just one would suffice, for all. Turns out I need 2.
Hope that helps anyone facing this question in the future 