@@ -61,6 +61,12 @@ contributor:
6161 contribution : |
6262 Steve defined the format field of Complex Subjects
6363
64+ -
65+ ins : A. Deshpande
66+ name : Apoorva Deshpande
67+ org : Okta
68+ email : apoorva.deshpande@okta.com
69+
6470normative :
6571 CLIENTCRED :
6672 author :
@@ -848,9 +854,9 @@ following properties:
848854
849855stream_id
850856
851- > **Transmitter-Supplied**, A string that uniquely identifies the stream. Stream
852- IDs MUST be unique per Reciever. This value is generated by the Transmitter
853- when the stream is created .
857+ > **Transmitter-Supplied**, A string that uniquely identifies the stream. A
858+ transmitter MUST generate a unique ID for each of its non-deleted streams
859+ at the time of stream creation .
854860
855861iss
856862
@@ -879,13 +885,15 @@ events_requested
879885> **Receiver-Supplied**, An array of URIs identifying the set of events that
880886 the Receiver requested. A Receiver SHOULD request only the events that it
881887 understands and it can act on. This is configurable by the Receiver. A
882- Transmitter MUST ignore any array values that it does not understand.
888+ Transmitter MUST ignore any array values that it does not understand. This
889+ array SHOULD NOT be empty.
883890
884891events_delivered
885892
886- > **Transmitter-Supplied**, An array of URIs which is the intersection of
887- " events_supported" and "events_requested". These events MAY be delivered over
888- the Event Stream. A Receiver MUST rely on the values received in this field
893+ > **Transmitter-Supplied**, An array of URIs identifying the set of events that
894+ the Transmitter MUST include in the stream. This is a subset (not necessarily
895+ a proper subset) of the intersection of "events_supported" and
896+ " events_requested" . A Receiver MUST rely on the values received in this field
889897 to understand which event types it can expect from the Transmitter.
890898
891899delivery
@@ -930,6 +938,13 @@ an HTTP POST request to the Configuration Endpoint. On receiving a valid request
930938the Event Transmitter responds with a "201 Created" response containing a
931939[JSON][RFC7159] representation of the stream’s configuration in the body.
932940
941+ If a stream already exists, and the Transmitter allows multiple streams with the
942+ same Receiver, the Event Transmitter MUST respond with a new stream ID. If the
943+ Transmitter does not allow multiple streams with the same Receiver, it MUST respond
944+ respond with HTTP status code "409 Conflict". The Receiver MAY then GET the
945+ existing stream configuration and, if desired, use PATCH or PUT to update or
946+ replace the existing stream configuration.
947+
933948The HTTP POST request MAY contain the Receiver-Supplied values of the Stream
934949Configuration ({{stream-config}}) object :
935950
@@ -1006,6 +1021,7 @@ Errors are signaled with HTTP status codes as follows:
10061021| 400 | if the request cannot be parsed |
10071022| 401 | if authorization failed or it is missing |
10081023| 403 | if the Event Receiver is not allowed to create a stream |
1024+ | 409 | if the transmitter does not support multiple streams per receiver |
10091025{: title="Create Stream Errors" # tablecreatestream}
10101026
10111027
@@ -1213,7 +1229,8 @@ configuration in the body.
12131229The stream_id property MUST be present in the request. Other properties
12141230MAY be present in the request. Any Receiver-Supplied property present in the
12151231request MUST be updated by the Transmitter. Any properties missing in the
1216- request MUST NOT be changed by the Transmitter.
1232+ request MUST NOT be changed by the Transmitter. If `events_requested` property is
1233+ included in the request, it SHOULD NOT be an empty array.
12171234
12181235Transmitter-Supplied properties beside the stream_id MAY be present,
12191236but they MUST match the expected value. Missing Transmitter-Supplied
@@ -1299,7 +1316,8 @@ The stream_id and the full set of Receiver-Supplied properties MUST be present
12991316in the PUT body, not only the ones that are specifically intended to be changed.
13001317Missing Receiver-Supplied properties MUST be interpreted as requested to be
13011318deleted. Event Receivers MAY read the configuration first, modify the JSON
1302- {{RFC7159}} representation, then make a replacement request.
1319+ {{RFC7159}} representation, then make a replacement request. If `events_requested`
1320+ property is included in the request, it SHOULD NOT be an empty array.
13031321
13041322Transmitter-Supplied properties besides the stream_id MAY be present,
13051323but they MUST match the expected value. Missing Transmitter-Supplied
0 commit comments