# IPostaSectionClient Methods

- Package: [CommunityToolkit.Aspire.Posta](/reference/api/csharp/communitytoolkit.aspire.posta.md)
- Type: [IPostaSectionClient](/reference/api/csharp/communitytoolkit.aspire.posta/ipostasectionclient.md)
- Kind: `Methods`
- Members: `3`

Common operations exposed by each Posta API section.

<a id="sendasync"></a>
<a id="sendasync-postaendpoint-postarequest-cancellationtoken"></a>
<a id="sendasync-postaendpoint-postarequest-cancellationtoken-1pfo0z1"></a>

## SendAsync(PostaEndpoint, PostaRequest?, CancellationToken)

- Name: `SendAsync(PostaEndpoint, PostaRequest?, CancellationToken)`
- Modifiers: `abstract`
- Returns: `Task<TResponse?>`

Invokes an endpoint and deserializes its JSON response.

```csharp
public interface IPostaSectionClient
{
    public abstract Task<TResponse?> SendAsync<TResponse>(
        PostaEndpoint endpoint,
        PostaRequest? request = null,
        CancellationToken cancellationToken = default(CancellationToken))
    {
        // ...
    }
}
```

## Parameters

- `endpoint` ([PostaEndpoint](/reference/api/csharp/communitytoolkit.aspire.posta/postaendpoint.md))
- `request` ([PostaRequest?](/reference/api/csharp/communitytoolkit.aspire.posta/postarequest.md)) `optional`
- `cancellationToken` (`CancellationToken`) `optional`

<a id="sendasync-postaendpoint-postarequest-cancellationtoken-p41nia"></a>

## SendAsync(PostaEndpoint, PostaRequest?, CancellationToken)

- Name: `SendAsync(PostaEndpoint, PostaRequest?, CancellationToken)`
- Modifiers: `abstract`
- Returns: `Task<JsonDocument?>`

Invokes an endpoint and returns its JSON response.

```csharp
public interface IPostaSectionClient
{
    public abstract Task<JsonDocument?> SendAsync(
        PostaEndpoint endpoint,
        PostaRequest? request = null,
        CancellationToken cancellationToken = default(CancellationToken))
    {
        // ...
    }
}
```

## Parameters

- `endpoint` ([PostaEndpoint](/reference/api/csharp/communitytoolkit.aspire.posta/postaendpoint.md))
- `request` ([PostaRequest?](/reference/api/csharp/communitytoolkit.aspire.posta/postarequest.md)) `optional`
- `cancellationToken` (`CancellationToken`) `optional`

<a id="sendstreamasync"></a>
<a id="sendstreamasync-postaendpoint-postarequest-cancellationtoken"></a>

## SendStreamAsync(PostaEndpoint, PostaRequest?, CancellationToken)

- Name: `SendStreamAsync(PostaEndpoint, PostaRequest?, CancellationToken)`
- Modifiers: `abstract`
- Returns: [Task<PostaStreamResponse>](/reference/api/csharp/communitytoolkit.aspire.posta/postastreamresponse.md)

Invokes an endpoint and returns a streaming response. Disposing the result disposes the HTTP response.

```csharp
public interface IPostaSectionClient
{
    public abstract Task<PostaStreamResponse> SendStreamAsync(
        PostaEndpoint endpoint,
        PostaRequest? request = null,
        CancellationToken cancellationToken = default(CancellationToken))
    {
        // ...
    }
}
```

## Parameters

- `endpoint` ([PostaEndpoint](/reference/api/csharp/communitytoolkit.aspire.posta/postaendpoint.md))
- `request` ([PostaRequest?](/reference/api/csharp/communitytoolkit.aspire.posta/postarequest.md)) `optional`
- `cancellationToken` (`CancellationToken`) `optional`
