#### [Abblix\.SharedSignals](https://www.abblix.com/en/docs/api/abblix-sharedsignals 'index')
### [Abblix\.SharedSignals\.Receiver\.SecurityEvent](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Receiver.SecurityEvent 'Abblix\.SharedSignals\.Receiver\.SecurityEvent')

## StreamManagementClient Class

The receiver's side of the Event Stream Management API of one transmitter
\(SSF 1\.0 Section 8\.1\): stream lifecycle, status, subjects and verification, each method
speaking to the endpoint the transmitter's configuration metadata advertises\.

```csharp
public sealed class StreamManagementClient
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → StreamManagementClient

### Remarks

Outcomes the specification gives the receiver a distinct reaction to are answers, not
exceptions: a create that hits an existing stream (409), an update the transmitter accepted
but has not processed (202), a verification or subject call the transmitter throttled (429).
Everything else - authorization, unknown streams on writes, malformed requests - surfaces as
the [System\.Net\.Http\.HttpRequestException](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httprequestexception 'System\.Net\.Http\.HttpRequestException') the transport already speaks.

Every configuration document read back is checked to assert the transmitter's own issuer, as
Sections 8.1.1.1 through 8.1.1.4 require of the receiver. Authentication is the
[System\.Net\.Http\.HttpClient](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient 'System\.Net\.Http\.HttpClient')'s configuration, not this type's concern.
### Constructors

## StreamManagementClient\(HttpClient, TransmitterConfiguration\) Constructor {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.StreamManagementClient(System.Net.Http.HttpClient,Abblix.SharedSignals.Model.TransmitterConfiguration)}

The receiver's side of the Event Stream Management API of one transmitter
\(SSF 1\.0 Section 8\.1\): stream lifecycle, status, subjects and verification, each method
speaking to the endpoint the transmitter's configuration metadata advertises\.

```csharp
public StreamManagementClient(System.Net.Http.HttpClient httpClient, Abblix.SharedSignals.Model.TransmitterConfiguration transmitter);
```
#### Parameters

###### `httpClient` [System\.Net\.Http\.HttpClient](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient 'System\.Net\.Http\.HttpClient') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.StreamManagementClient(System.Net.Http.HttpClient,Abblix.SharedSignals.Model.TransmitterConfiguration).httpClient}

The client the API is spoken through\.

###### `transmitter` [TransmitterConfiguration](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.TransmitterConfiguration 'Abblix\.SharedSignals\.Model\.TransmitterConfiguration') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.StreamManagementClient(System.Net.Http.HttpClient,Abblix.SharedSignals.Model.TransmitterConfiguration).transmitter}

The transmitter's configuration metadata: the endpoints and the issuer identity every
response is held to\.

### Remarks

Outcomes the specification gives the receiver a distinct reaction to are answers, not
exceptions: a create that hits an existing stream (409), an update the transmitter accepted
but has not processed (202), a verification or subject call the transmitter throttled (429).
Everything else - authorization, unknown streams on writes, malformed requests - surfaces as
the [System\.Net\.Http\.HttpRequestException](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httprequestexception 'System\.Net\.Http\.HttpRequestException') the transport already speaks.

Every configuration document read back is checked to assert the transmitter's own issuer, as
Sections 8.1.1.1 through 8.1.1.4 require of the receiver. Authentication is the
[System\.Net\.Http\.HttpClient](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient 'System\.Net\.Http\.HttpClient')'s configuration, not this type's concern.
### Methods

## StreamManagementClient\.AddSubjectAsync\(AddSubjectRequest, CancellationToken\) Method {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.AddSubjectAsync(Abblix.SharedSignals.Model.AddSubjectRequest,System.Threading.CancellationToken)}

Adds a subject to a stream \(SSF 1\.0 Section 8\.1\.3\.2\)\.

```csharp
public System.Threading.Tasks.Task<bool> AddSubjectAsync(Abblix.SharedSignals.Model.AddSubjectRequest request, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `request` [AddSubjectRequest](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.AddSubjectRequest 'Abblix\.SharedSignals\.Model\.AddSubjectRequest') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.AddSubjectAsync(Abblix.SharedSignals.Model.AddSubjectRequest,System.Threading.CancellationToken).request}

The stream, the subject, and optionally whether it is verified\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.AddSubjectAsync(Abblix.SharedSignals.Model.AddSubjectRequest,System.Threading.CancellationToken).cancellationToken}

Cancels the call\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
True when the transmitter answered success \- which deliberately proves nothing about the
subject being known or added, so the response cannot be used to probe who the
transmitter knows \(SSF 1\.0 Section 9\.1\); false when it throttled the request \(429\)\.

## StreamManagementClient\.CreateAsync\(CreateStreamRequest, CancellationToken\) Method {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.CreateAsync(Abblix.SharedSignals.Model.CreateStreamRequest,System.Threading.CancellationToken)}

Creates an Event Stream \(SSF 1\.0 Section 8\.1\.1\.1\)\.

```csharp
public System.Threading.Tasks.Task<Abblix.SharedSignals.Model.StreamConfiguration?> CreateAsync(Abblix.SharedSignals.Model.CreateStreamRequest request, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `request` [CreateStreamRequest](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.CreateStreamRequest 'Abblix\.SharedSignals\.Model\.CreateStreamRequest') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.CreateAsync(Abblix.SharedSignals.Model.CreateStreamRequest,System.Threading.CancellationToken).request}

The receiver\-supplied half of the configuration\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.CreateAsync(Abblix.SharedSignals.Model.CreateStreamRequest,System.Threading.CancellationToken).cancellationToken}

Cancels the call\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[StreamConfiguration](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.StreamConfiguration 'Abblix\.SharedSignals\.Model\.StreamConfiguration')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
The stream's configuration as the transmitter created it, or null on "409 Conflict" \-
the transmitter allows one stream per receiver and it already exists, so the receiver's
move is to read it and update or replace what differs\.

## StreamManagementClient\.DeleteAsync\(string, CancellationToken\) Method {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.DeleteAsync(string,System.Threading.CancellationToken)}

Deletes a stream \(SSF 1\.0 Section 8\.1\.1\.5\)\.

```csharp
public System.Threading.Tasks.Task DeleteAsync(string streamId, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `streamId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.DeleteAsync(string,System.Threading.CancellationToken).streamId}

The stream to delete\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.DeleteAsync(string,System.Threading.CancellationToken).cancellationToken}

Cancels the call\.

#### Returns
[System\.Threading\.Tasks\.Task](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task 'System\.Threading\.Tasks\.Task')

## StreamManagementClient\.GetAsync\(string, CancellationToken\) Method {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.GetAsync(string,System.Threading.CancellationToken)}

Reads one stream's configuration \(SSF 1\.0 Section 8\.1\.1\.2\)\.

```csharp
public System.Threading.Tasks.Task<Abblix.SharedSignals.Model.StreamConfiguration?> GetAsync(string streamId, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `streamId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.GetAsync(string,System.Threading.CancellationToken).streamId}

The stream to read\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.GetAsync(string,System.Threading.CancellationToken).cancellationToken}

Cancels the call\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[StreamConfiguration](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.StreamConfiguration 'Abblix\.SharedSignals\.Model\.StreamConfiguration')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
The configuration, or null when no stream with this identifier exists for this
            receiver\.

## StreamManagementClient\.GetStatusAsync\(string, CancellationToken\) Method {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.GetStatusAsync(string,System.Threading.CancellationToken)}

Reads a stream's current status \(SSF 1\.0 Section 8\.1\.2\.1\)\.

```csharp
public System.Threading.Tasks.Task<Abblix.SharedSignals.Model.StreamStatus?> GetStatusAsync(string streamId, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `streamId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.GetStatusAsync(string,System.Threading.CancellationToken).streamId}

The stream whose status is being queried\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.GetStatusAsync(string,System.Threading.CancellationToken).cancellationToken}

Cancels the call\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[StreamStatus](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.StreamStatus 'Abblix\.SharedSignals\.Model\.StreamStatus')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
The status document, or null when no stream with this identifier exists for
            this receiver\.

## StreamManagementClient\.ListAsync\(CancellationToken\) Method {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.ListAsync(System.Threading.CancellationToken)}

Lists every stream configured for this receiver \(SSF 1\.0 Section 8\.1\.1\.2\)\. An empty list
is the answer for a receiver with no streams, never an error\.

```csharp
public System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<Abblix.SharedSignals.Model.StreamConfiguration>> ListAsync(System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.ListAsync(System.Threading.CancellationToken).cancellationToken}

Cancels the call\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Collections\.Generic\.IReadOnlyList&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlylist-1 'System\.Collections\.Generic\.IReadOnlyList\`1')[StreamConfiguration](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.StreamConfiguration 'Abblix\.SharedSignals\.Model\.StreamConfiguration')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlylist-1 'System\.Collections\.Generic\.IReadOnlyList\`1')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')

## StreamManagementClient\.RemoveSubjectAsync\(RemoveSubjectRequest, CancellationToken\) Method {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.RemoveSubjectAsync(Abblix.SharedSignals.Model.RemoveSubjectRequest,System.Threading.CancellationToken)}

Removes a subject from a stream \(SSF 1\.0 Section 8\.1\.3\.3\)\.

```csharp
public System.Threading.Tasks.Task<bool> RemoveSubjectAsync(Abblix.SharedSignals.Model.RemoveSubjectRequest request, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `request` [RemoveSubjectRequest](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.RemoveSubjectRequest 'Abblix\.SharedSignals\.Model\.RemoveSubjectRequest') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.RemoveSubjectAsync(Abblix.SharedSignals.Model.RemoveSubjectRequest,System.Threading.CancellationToken).request}

The stream and the subject\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.RemoveSubjectAsync(Abblix.SharedSignals.Model.RemoveSubjectRequest,System.Threading.CancellationToken).cancellationToken}

Cancels the call\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
True on success, under the same no\-probing caveat as
            [AddSubjectAsync\(AddSubjectRequest, CancellationToken\)](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.AddSubjectAsync(Abblix.SharedSignals.Model.AddSubjectRequest,System.Threading.CancellationToken) 'Abblix\.SharedSignals\.Receiver\.SecurityEvent\.StreamManagementClient\.AddSubjectAsync\(Abblix\.SharedSignals\.Model\.AddSubjectRequest, System\.Threading\.CancellationToken\)'); false when throttled \(429\)\.

## StreamManagementClient\.ReplaceAsync\(UpdateStreamRequest, CancellationToken\) Method {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.ReplaceAsync(Abblix.SharedSignals.Model.UpdateStreamRequest,System.Threading.CancellationToken)}

Replaces a stream's configuration: the request carries the full receiver\-supplied set,
and a member absent from it is deleted \(SSF 1\.0 Section 8\.1\.1\.4\)\.

```csharp
public System.Threading.Tasks.Task<Abblix.SharedSignals.Model.StreamConfiguration?> ReplaceAsync(Abblix.SharedSignals.Model.UpdateStreamRequest request, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `request` [UpdateStreamRequest](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.UpdateStreamRequest 'Abblix\.SharedSignals\.Model\.UpdateStreamRequest') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.ReplaceAsync(Abblix.SharedSignals.Model.UpdateStreamRequest,System.Threading.CancellationToken).request}

The stream identifier and the full receiver\-supplied set\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.ReplaceAsync(Abblix.SharedSignals.Model.UpdateStreamRequest,System.Threading.CancellationToken).cancellationToken}

Cancels the call\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[StreamConfiguration](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.StreamConfiguration 'Abblix\.SharedSignals\.Model\.StreamConfiguration')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
The entire updated configuration, or null on "202 Accepted", as with
[UpdateAsync\(UpdateStreamRequest, CancellationToken\)](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.UpdateAsync(Abblix.SharedSignals.Model.UpdateStreamRequest,System.Threading.CancellationToken) 'Abblix\.SharedSignals\.Receiver\.SecurityEvent\.StreamManagementClient\.UpdateAsync\(Abblix\.SharedSignals\.Model\.UpdateStreamRequest, System\.Threading\.CancellationToken\)')\.

## StreamManagementClient\.RequestVerificationAsync\(VerificationRequest, CancellationToken\) Method {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.RequestVerificationAsync(Abblix.SharedSignals.Model.VerificationRequest,System.Threading.CancellationToken)}

Requests a Verification Event over a stream \(SSF 1\.0 Section 8\.1\.4\.2\)\.

```csharp
public System.Threading.Tasks.Task<bool> RequestVerificationAsync(Abblix.SharedSignals.Model.VerificationRequest request, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `request` [VerificationRequest](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.VerificationRequest 'Abblix\.SharedSignals\.Model\.VerificationRequest') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.RequestVerificationAsync(Abblix.SharedSignals.Model.VerificationRequest,System.Threading.CancellationToken).request}

The stream and optionally the state to be echoed back\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.RequestVerificationAsync(Abblix.SharedSignals.Model.VerificationRequest,System.Threading.CancellationToken).cancellationToken}

Cancels the call\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
True when the transmitter will transmit the event \- possibly asynchronously and in no
particular order, so the receiver must not wait on it; false when the request was
throttled \(429\), see "min\_verification\_interval" in the stream's configuration\.

## StreamManagementClient\.UpdateAsync\(UpdateStreamRequest, CancellationToken\) Method {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.UpdateAsync(Abblix.SharedSignals.Model.UpdateStreamRequest,System.Threading.CancellationToken)}

Updates a stream's configuration: present receiver\-supplied members change, absent ones
stay \(SSF 1\.0 Section 8\.1\.1\.3\)\.

```csharp
public System.Threading.Tasks.Task<Abblix.SharedSignals.Model.StreamConfiguration?> UpdateAsync(Abblix.SharedSignals.Model.UpdateStreamRequest request, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `request` [UpdateStreamRequest](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.UpdateStreamRequest 'Abblix\.SharedSignals\.Model\.UpdateStreamRequest') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.UpdateAsync(Abblix.SharedSignals.Model.UpdateStreamRequest,System.Threading.CancellationToken).request}

The stream identifier and the members to change\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.UpdateAsync(Abblix.SharedSignals.Model.UpdateStreamRequest,System.Threading.CancellationToken).cancellationToken}

Cancels the call\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[StreamConfiguration](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.StreamConfiguration 'Abblix\.SharedSignals\.Model\.StreamConfiguration')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
The entire updated configuration, or null on "202 Accepted" \- the transmitter took the
request but has not processed it, and the receiver may repeat the same request later for
the result\.

## StreamManagementClient\.UpdateStatusAsync\(StreamStatus, CancellationToken\) Method {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.UpdateStatusAsync(Abblix.SharedSignals.Model.StreamStatus,System.Threading.CancellationToken)}

Updates a stream's status \(SSF 1\.0 Section 8\.1\.2\.2\)\.

```csharp
public System.Threading.Tasks.Task<Abblix.SharedSignals.Model.StreamStatus?> UpdateStatusAsync(Abblix.SharedSignals.Model.StreamStatus request, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `request` [StreamStatus](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.StreamStatus 'Abblix\.SharedSignals\.Model\.StreamStatus') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.UpdateStatusAsync(Abblix.SharedSignals.Model.StreamStatus,System.Threading.CancellationToken).request}

The stream, the new status, and optionally why\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Receiver.SecurityEvent.StreamManagementClient.UpdateStatusAsync(Abblix.SharedSignals.Model.StreamStatus,System.Threading.CancellationToken).cancellationToken}

Cancels the call\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[StreamStatus](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Model.StreamStatus 'Abblix\.SharedSignals\.Model\.StreamStatus')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
The updated status as the transmitter echoes it, or null on "202 Accepted" \- taken but
not yet processed, repeatable later for the result\.
