Skip to content

Streams in Shared Signals Framework

An (event) stream serves as an abstract representation of the communication pathway for events between a Transmitter and a Receiver. The configuration of the stream, managed collaboratively by both the Transmitter and Receiver, contains details about the types of events the Transmitter will send and the method the Receiver will use to receive these events. Furthermore, the Event Stream maintains a record of the Subjects that the Receiver is interested in, ensuring that only events associated with these Subjects are transmitted through the stream.

Endpoints may vary

Note that the endpoints used here - such as /ssf/stream - are common, but different transmitters may use different endpoints. Always check /.well-known/ssf-configuration. See Transmitter Configuration Discovery

Create Stream for Pull-Based delivery

In theory, a variety of stream types can be supported. However, the OpenID SSF specification specifically mentions only two: "urn:ietf:rfc:8935" (push) and "urn:ietf:rfc:8936" (poll). The example provided here is configured for the latter, the poll method. While this method does have its limitations, it is simpler to test on this website.

Create Stream for Push-Based delivery

Instead of polling, this event Transmitter at scim.dev supports pushing events to a specified endpoint. For testing purposes, you could for example get an endpoint from https://webhook.site.

List Streams

Multiple streams can be established to cater to different needs. For instance, one stream could be set up for poll-based retrieval of all events, while another could be dedicated to push-based transmission of high-risk events.

To view all the configured streams, utilize this endpoint.

Get specific stream

Update stream

Once a stream has been created, its configuration can be updated as needed. This could involve modifying the list of event types or specifying a different endpoint, for instance.

Delete stream

If a stream is not needed anymore, delete it using the following request.