BellaBaxter.Client
0.1.1-preview.36
dotnet add package BellaBaxter.Client --version 0.1.1-preview.36
NuGet\Install-Package BellaBaxter.Client -Version 0.1.1-preview.36
<PackageReference Include="BellaBaxter.Client" Version="0.1.1-preview.36" />
<PackageVersion Include="BellaBaxter.Client" Version="0.1.1-preview.36" />
<PackageReference Include="BellaBaxter.Client" />
paket add BellaBaxter.Client --version 0.1.1-preview.36
#r "nuget: BellaBaxter.Client, 0.1.1-preview.36"
#:package BellaBaxter.Client@0.1.1-preview.36
#addin nuget:?package=BellaBaxter.Client&version=0.1.1-preview.36&prerelease
#tool nuget:?package=BellaBaxter.Client&version=0.1.1-preview.36&prerelease
BellaBaxter.Client
Auto-generated .NET HTTP client for the Bella Baxter secrets management API.
Includes built-in end-to-end encryption via BellaBaxter.Crypto.
When to use BellaBaxter.Client directly
Most applications should use the higher-level packages instead:
| Goal | Use |
|---|---|
Pull secrets into IConfiguration (hot-reload) |
BellaBaxter.AspNet.Configuration |
| Wire Bella into .NET Aspire orchestration | BellaBaxter.Aspire.Configuration |
| Scripts, tools, custom integrations | BellaBaxter.Client (this package) |
| Run the full Bella stack locally in Aspire | BellaBaxter.Aspire.Host |
Installation
dotnet add package BellaBaxter.Client
Quickstart
using BellaBaxter.Client;
var client = BellaClientFactory.Create(
apiUrl: "https://api.bella-baxter.io",
apiKey: Environment.GetEnvironmentVariable("BELLA_BAXTER_API_KEY")!
);
// List secrets for an environment
var secrets = await client.Environments.GetSecretsAsync(environmentId);
foreach (var secret in secrets)
{
Console.WriteLine($"{secret.Key} = {secret.Value}");
}
Authentication
API key (recommended for apps and CI/CD)
# Generate a key via the CLI
bella api-keys create --env production --name "MyApp Production"
# Returns: bax-<keyId>-<secret>
var client = BellaClientFactory.Create(
apiUrl: Environment.GetEnvironmentVariable("BELLA_BAXTER_URL")!,
apiKey: Environment.GetEnvironmentVariable("BELLA_BAXTER_API_KEY")!
);
API keys encode the project and environment slug — no .bella file needed.
Billed on pay-as-you-go plans. Generate via bella api-keys create or the Bella WebApp.
OAuth (local dev)
bella login # opens browser, stores token in .bella file
bella exec -- dotnet run # injects BELLA_BAXTER_API_KEY + BELLA_BAXTER_URL automatically
End-to-end encryption
Secret values are encrypted client-side using ECIES (Elliptic Curve Integrated Encryption Scheme) before being sent to the Baxter API. This means secret values are never transmitted or stored in plaintext — even the Baxter server itself cannot read them.
Decryption happens transparently in BellaBaxter.Client using your private key. The encryption is provided
by BellaBaxter.Crypto, which is a dependency of this package.
API coverage
| Resource | Methods |
|---|---|
| Projects | List, Get, Create, Update, Delete |
| Environments | List, Get, Create, Update, Delete |
| Secrets | List, Get, Upsert, Delete, Export (.env) |
| Providers | List, Get, Create, Update, Delete |
| Users | List, Get, Invite, Remove |
| API Keys | List, Create, Revoke |
Regenerating the client
BellaBaxter.Client is generated from the Bella Baxter OpenAPI spec using Kiota.
To regenerate after an API change:
cd apps/sdk
./generate.sh
Webhook signature verification
BellaBaxter.Client includes a WebhookSignatureVerifier for verifying HMAC-signed webhook payloads from Bella:
using BellaBaxter.Client;
var verifier = new WebhookSignatureVerifier(signingSecret: "whsec-...");
bool isValid = verifier.Verify(
payload: requestBody,
signatureHeader: Request.Headers["X-Bella-Signature"]
);
| 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
- BellaBaxter.Crypto (>= 0.1.1-preview.36)
- Microsoft.Extensions.Configuration (>= 10.0.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Http (>= 10.0.5)
- Microsoft.Extensions.Http.Resilience (>= 10.4.0)
- Microsoft.Kiota.Http.HttpClientLibrary (>= 1.22.1)
- Microsoft.Kiota.Serialization.Form (>= 1.22.1)
- Microsoft.Kiota.Serialization.Json (>= 1.22.1)
- Microsoft.Kiota.Serialization.Multipart (>= 1.22.1)
- Microsoft.Kiota.Serialization.Text (>= 1.22.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on BellaBaxter.Client:
| Package | Downloads |
|---|---|
|
BellaBaxter.AspNet.Configuration
ASP.NET Core IConfiguration provider that polls Baxter API for secrets with automatic hot-reload. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.1-preview.36 | 49 | 3/30/2026 |
| 0.1.1-preview.35 | 41 | 3/30/2026 |
| 0.1.1-preview.34 | 46 | 3/30/2026 |
| 0.1.1-preview.33 | 38 | 3/30/2026 |
| 0.1.1-preview.32 | 43 | 3/30/2026 |
| 0.1.1-preview.31 | 45 | 3/30/2026 |
| 0.1.1-preview.30 | 53 | 3/27/2026 |
| 0.1.1-preview.29 | 42 | 3/27/2026 |
| 0.1.1-preview.28 | 38 | 3/27/2026 |
| 0.1.1-preview.27 | 41 | 3/27/2026 |
| 0.1.1-preview.26 | 42 | 3/26/2026 |
| 0.1.1-preview.23 | 46 | 3/26/2026 |
| 0.1.1-preview.22 | 44 | 3/26/2026 |
| 0.1.1-preview.21 | 40 | 3/26/2026 |
| 0.1.1-preview.20 | 35 | 3/26/2026 |
| 0.1.1-preview.19 | 42 | 3/26/2026 |
| 0.1.1-preview.18 | 47 | 3/26/2026 |
| 0.1.1-preview.17 | 41 | 3/25/2026 |
| 0.1.1-preview.16 | 48 | 3/25/2026 |
| 0.1.1-preview.15 | 42 | 3/25/2026 |