Nerova.Sdk 0.3.0-preview.3

This is a prerelease version of Nerova.Sdk.
dotnet add package Nerova.Sdk --version 0.3.0-preview.3
                    
NuGet\Install-Package Nerova.Sdk -Version 0.3.0-preview.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Nerova.Sdk" Version="0.3.0-preview.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nerova.Sdk" Version="0.3.0-preview.3" />
                    
Directory.Packages.props
<PackageReference Include="Nerova.Sdk" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Nerova.Sdk --version 0.3.0-preview.3
                    
#r "nuget: Nerova.Sdk, 0.3.0-preview.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Nerova.Sdk@0.3.0-preview.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Nerova.Sdk&version=0.3.0-preview.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Nerova.Sdk&version=0.3.0-preview.3&prerelease
                    
Install as a Cake Tool

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-Key header 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.ProblemDetails with ResponseStatusCode and ResponseHeaders attached. The stable code and the correlationId arrive in AdditionalData. 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|id cursors: pass Limit and Cursor through the query parameters and follow NextCursor until 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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