Nerova.Sdk
0.3.0-preview.3
dotnet add package Nerova.Sdk --version 0.3.0-preview.3
NuGet\Install-Package Nerova.Sdk -Version 0.3.0-preview.3
<PackageReference Include="Nerova.Sdk" Version="0.3.0-preview.3" />
<PackageVersion Include="Nerova.Sdk" Version="0.3.0-preview.3" />
<PackageReference Include="Nerova.Sdk" />
paket add Nerova.Sdk --version 0.3.0-preview.3
#r "nuget: Nerova.Sdk, 0.3.0-preview.3"
#:package Nerova.Sdk@0.3.0-preview.3
#addin nuget:?package=Nerova.Sdk&version=0.3.0-preview.3&prerelease
#tool nuget:?package=Nerova.Sdk&version=0.3.0-preview.3&prerelease
Nerova.Sdk
Server-side .NET client for Nerova's dedicated stable tenant-v1 API. The typed
client is built from the published tenant-v1 OpenAPI contract, so every path,
parameter, and model exists because the contract says so.
This package is server-side only: no browser credential flow, no UI, no persistent credential storage. Never ship an API key to a browser or a mobile app.
dotnet add package Nerova.Sdk --version 0.3.0-preview.3
The package targets net10.0 and brings its HTTP and serialization runtime
libraries as regular dependencies. The API surface may change before 1.0, so pin
the exact version.
Quickstart
The API has one public host, https://api.nerovasystems.com, which is the
client's default base URL. Every API key is a Live key (nrv_live_) that reaches
Production; approved platforms start on a free testing allowance. Read the key
from the environment and send it as Authorization: Bearer <key>:
using Microsoft.Kiota.Abstractions.Authentication;
using Microsoft.Kiota.Http.HttpClientLibrary;
using Nerova.Sdk;
var value = Environment.GetEnvironmentVariable("NEROVA_API_KEY")
?? throw new InvalidOperationException("NEROVA_API_KEY is required.");
var tenantId = Environment.GetEnvironmentVariable("TENANT_ID")
?? throw new InvalidOperationException("TENANT_ID is required.");
var authenticationProvider = new ApiKeyAuthenticationProvider(
$"Bearer {value}",
"Authorization",
ApiKeyAuthenticationProvider.KeyLocation.Header
);
var requestAdapter = new HttpClientRequestAdapter(authenticationProvider);
var client = new NerovaPartnerClient(requestAdapter);
var manifest = await client.Api.V1.Tenants[tenantId]
.Activation.Manifest.GetAsync();
Console.WriteLine(manifest?.State);
The client mirrors the URL structure of the API: client.Api.V1.Status,
client.Api.V1.Context, client.Api.V1.Tenants, and
client.Api.V1.Tenants[id] for everything under one tenant. Models live in the
Nerova.Sdk.Models namespace.
Conventions
Idempotency: every mutation requires a caller-owned
Idempotency-Keyheader supplied through the request configuration. The client never generates a hidden key and performs no automatic retries of mutations. Reuse the same value for the same command, including after a transport failure, and read state back when the outcome is unknown:using Nerova.Sdk.Models; var created = await client.Api.V1.Tenants.PostAsync( new CreateTenantV1Request { DisplayName = "Demo Salon", ExternalReference = "your-crm-id-123" }, requestConfiguration => requestConfiguration.Headers.Add( "Idempotency-Key", "provision-tenant-your-crm-id-123") );Errors follow RFC 9457 problem details: a failed call throws the deserialized
Nerova.Sdk.Models.ProblemDetailswithResponseStatusCodeandResponseHeadersattached. The stablecodeand thecorrelationIdarrive inAdditionalData. Branch on those fields, never on message text.Enums are open string sets; treat unknown values as forward compatibility rather than errors.
List endpoints paginate with
unixms|idcursors: passLimitandCursorthrough the query parameters and followNextCursoruntil the server stops returning one.
Documentation and support
Guides, the API reference, and support contacts are on docs.nerovasystems.com. Start with the quickstart and the SDK overview.
| 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
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.11)
- Microsoft.Kiota.Bundle (>= 1.22.2)
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 |
|---|---|---|
| 0.3.0-preview.3 | 47 | 10/5/2026 |
| 0.3.0-preview.2 | 49 | 10/3/2026 |
| 0.3.0-preview.1 | 45 | 9/30/2026 |
| 0.2.0-preview.1 | 69 | 8/18/2026 |
| 0.1.0-preview.1 | 76 | 8/14/2026 |