# AspirePostaExtensions Methods

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

Extension methods for registering a Posta API client.

<a id="addkeyedpostaclient"></a>
<a id="addkeyedpostaclient-ihostapplicationbuilder-string-action-postaclientsettings-string"></a>

## AddKeyedPostaClient(IHostApplicationBuilder, string, Action<PostaClientSettings>, string?)

- Name: `AddKeyedPostaClient(IHostApplicationBuilder, string, Action<PostaClientSettings>, string?)`
- Modifiers: `extension`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/4ff8268fbd97ddd23cb73dc8eff9cc92718156d1/src/CommunityToolkit.Aspire.Posta/Clients/PostaClientBuilderExtensions.cs#L44-L45)

Registers a keyed [IPostaClient](/reference/api/csharp/communitytoolkit.aspire.posta/ipostaclient.md) whose service key is the connection name.

```csharp
public static class AspirePostaExtensions
{
    public static void AddKeyedPostaClient(
        this IHostApplicationBuilder builder,
        string connectionName,
        Action<PostaClientSettings>? configureSettings = null,
        string? configurationSectionName = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IHostApplicationBuilder`)
  The application builder.
- `connectionName` (`string`)
  The Posta resource or connection string name and service key.
- `configureSettings` (`Action<PostaClientSettings>`) `optional`
  An optional settings callback applied last.
- `configurationSectionName` (`string?`) `optional`
  An optional configuration section name.

<a id="addkeyedpostaclient-ihostapplicationbuilder-object-string-action-postaclientsettings-string"></a>

## AddKeyedPostaClient(IHostApplicationBuilder, object, string, Action<PostaClientSettings>, string?)

- Name: `AddKeyedPostaClient(IHostApplicationBuilder, object, string, Action<PostaClientSettings>, string?)`
- Modifiers: `extension`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/4ff8268fbd97ddd23cb73dc8eff9cc92718156d1/src/CommunityToolkit.Aspire.Posta/Clients/PostaClientBuilderExtensions.cs#L60-L62)

Registers a keyed [IPostaClient](/reference/api/csharp/communitytoolkit.aspire.posta/ipostaclient.md) using a custom service key.

```csharp
public static class AspirePostaExtensions
{
    public static void AddKeyedPostaClient(
        this IHostApplicationBuilder builder,
        object serviceKey,
        string connectionName,
        Action<PostaClientSettings>? configureSettings = null,
        string? configurationSectionName = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IHostApplicationBuilder`)
  The application builder.
- `serviceKey` (`object`)
  The dependency injection service key.
- `connectionName` (`string`)
  The Posta resource or connection string name.
- `configureSettings` (`Action<PostaClientSettings>`) `optional`
  An optional settings callback applied last.
- `configurationSectionName` (`string?`) `optional`
  An optional configuration section name.

<a id="addpostaclient"></a>
<a id="addpostaclient-ihostapplicationbuilder-string-action-postaclientsettings-string"></a>

## AddPostaClient(IHostApplicationBuilder, string, Action<PostaClientSettings>, string?)

- Name: `AddPostaClient(IHostApplicationBuilder, string, Action<PostaClientSettings>, string?)`
- Modifiers: `extension`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/4ff8268fbd97ddd23cb73dc8eff9cc92718156d1/src/CommunityToolkit.Aspire.Posta/Clients/PostaClientBuilderExtensions.cs#L30-L31)

Registers an [IPostaClient](/reference/api/csharp/communitytoolkit.aspire.posta/ipostaclient.md) using Aspire service discovery or a configured endpoint.

```csharp
public static class AspirePostaExtensions
{
    public static void AddPostaClient(
        this IHostApplicationBuilder builder,
        string connectionName,
        Action<PostaClientSettings>? configureSettings = null,
        string? configurationSectionName = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IHostApplicationBuilder`)
  The application builder.
- `connectionName` (`string`)
  The Posta resource or connection string name.
- `configureSettings` (`Action<PostaClientSettings>`) `optional`
  An optional settings callback applied last.
- `configurationSectionName` (`string?`) `optional`
  An optional configuration section name.
