Soenneker.Bandwidth.OpenApiClientUtil
4.0.162
Prefix Reserved
dotnet add package Soenneker.Bandwidth.OpenApiClientUtil --version 4.0.162
NuGet\Install-Package Soenneker.Bandwidth.OpenApiClientUtil -Version 4.0.162
<PackageReference Include="Soenneker.Bandwidth.OpenApiClientUtil" Version="4.0.162" />
<PackageVersion Include="Soenneker.Bandwidth.OpenApiClientUtil" Version="4.0.162" />
<PackageReference Include="Soenneker.Bandwidth.OpenApiClientUtil" />
paket add Soenneker.Bandwidth.OpenApiClientUtil --version 4.0.162
#r "nuget: Soenneker.Bandwidth.OpenApiClientUtil, 4.0.162"
#:package Soenneker.Bandwidth.OpenApiClientUtil@4.0.162
#addin nuget:?package=Soenneker.Bandwidth.OpenApiClientUtil&version=4.0.162
#tool nuget:?package=Soenneker.Bandwidth.OpenApiClientUtil&version=4.0.162
Soenneker.Bandwidth.OpenApiClientUtil
Creates and caches an authenticated BandwidthOpenApiClient for dependency-injected applications.
Installation
dotnet add package Soenneker.Bandwidth.OpenApiClientUtil
Configuration
{
"Bandwidth": {
"ApiKey": "your-token",
"ClientBaseUrl": "https://api.bandwidth.com/api/v2/",
"AuthHeaderName": "Authorization",
"AuthHeaderValueTemplate": "Bearer {token}"
}
}
Bandwidth:ApiKey is required; the other values shown are defaults. Set the header template to the authentication scheme required by the Bandwidth service you call. For an already Base64-encoded Basic credential, use Basic {token}.
This utility configures one base URL and one authentication header. Bandwidth endpoints requiring another host, a different credential set, or multiple authentication headers should use a separately configured generated client.
Registration
using Soenneker.Bandwidth.OpenApiClientUtil.Registrars;
services.AddBandwidthOpenApiClientUtilAsScoped();
The scoped utility uses a singleton HTTP-client provider. Ending a scope disposes that utility's generated client state but leaves the singleton provider and its HttpClient alive. Use AddBandwidthOpenApiClientUtilAsSingleton() when the generated client should also be shared application-wide.
Usage
using Soenneker.Bandwidth.OpenApiClient;
using Soenneker.Bandwidth.OpenApiClient.Models;
using Soenneker.Bandwidth.OpenApiClientUtil.Abstract;
public sealed class BandwidthMessageService
{
private readonly IBandwidthOpenApiClientUtil _clientUtil;
public BandwidthMessageService(IBandwidthOpenApiClientUtil clientUtil)
{
_clientUtil = clientUtil;
}
public async Task<MessagesList?> GetMessages(string accountId, CancellationToken cancellationToken = default)
{
BandwidthOpenApiClient client = await _clientUtil.Get(cancellationToken);
return await client.Messaging.Users[accountId].Messages.GetAsync(cancellationToken: cancellationToken);
}
}
Get() lazily creates one generated client per utility instance and returns it afterward. Authentication and base-address configuration are captured during initial creation. Credentials are added only to HTTPS requests and are pinned to the first request host.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Soenneker.Bandwidth.HttpClients (>= 4.0.101)
- Soenneker.Bandwidth.OpenApiClient (>= 4.0.77)
- Soenneker.Kiota.GenericAuthenticationProvider (>= 4.0.41)
- Soenneker.Utils.AsyncSingleton (>= 4.0.830)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.162 | 38 | 9/1/2026 |
| 4.0.161 | 40 | 9/1/2026 |
| 4.0.160 | 47 | 8/31/2026 |
| 4.0.159 | 46 | 8/31/2026 |
| 4.0.158 | 43 | 8/31/2026 |
| 4.0.157 | 46 | 8/31/2026 |
| 4.0.156 | 51 | 8/31/2026 |
| 4.0.155 | 48 | 8/30/2026 |
| 4.0.154 | 45 | 8/30/2026 |
| 4.0.153 | 46 | 8/30/2026 |
| 4.0.152 | 47 | 8/30/2026 |
| 4.0.151 | 59 | 8/30/2026 |
| 4.0.150 | 58 | 8/28/2026 |
| 4.0.149 | 87 | 8/26/2026 |
| 4.0.148 | 77 | 8/26/2026 |
| 4.0.147 | 83 | 8/26/2026 |
| 4.0.146 | 94 | 8/25/2026 |
| 4.0.145 | 85 | 8/22/2026 |
| 4.0.144 | 87 | 8/22/2026 |
| 4.0.143 | 99 | 8/21/2026 |