Healthie.NET.Api
3.1.2
Prefix Reserved
See the version list below for details.
dotnet add package Healthie.NET.Api --version 3.1.2
NuGet\Install-Package Healthie.NET.Api -Version 3.1.2
<PackageReference Include="Healthie.NET.Api" Version="3.1.2" />
<PackageVersion Include="Healthie.NET.Api" Version="3.1.2" />
<PackageReference Include="Healthie.NET.Api" />
paket add Healthie.NET.Api --version 3.1.2
#r "nuget: Healthie.NET.Api, 3.1.2"
#:package Healthie.NET.Api@3.1.2
#addin nuget:?package=Healthie.NET.Api&version=3.1.2
#tool nuget:?package=Healthie.NET.Api&version=3.1.2

Healthie.NET.Api
ASP.NET Core API controller for managing Healthie.NET pulse checkers via REST endpoints. All endpoints are served under the /healthie route prefix.
Installation
dotnet add package Healthie.NET.Api
Usage
using Healthie.Api;
builder.Services.AddHealthieController();
var app = builder.Build();
app.MapControllers();
app.Run();
With authorization:
builder.Services.AddHealthieController(
requireAuthorization: true,
authorizationPolicy: "AdminPolicy");
Endpoints
| Method | Route | Description |
|---|---|---|
GET |
/healthie |
Get all pulse checker states |
GET |
/healthie/intervals |
Get available polling intervals |
PUT |
/healthie/{name}/interval?interval={value} |
Set polling interval |
PUT |
/healthie/{name}/threshold?threshold={value} |
Set unhealthy threshold |
POST |
/healthie/{name}/start |
Start a checker |
POST |
/healthie/{name}/stop |
Stop a checker |
POST |
/healthie/{name}/trigger |
Trigger an immediate check |
PATCH |
/healthie/{name}/reset |
Reset state to healthy |
The {name} parameter is the fully-qualified type name (e.g. MyApp.DatabasePulseChecker).
Key Types
| Type | Description |
|---|---|
StartupExtensions.AddHealthieController() |
Registers the controller with optional authorization. |
HealthCheckersController |
The API controller with all pulse checker management endpoints. |
See Also
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- Healthie.NET.Abstractions (>= 3.1.2)
-
net8.0
- Healthie.NET.Abstractions (>= 3.1.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 |
|---|---|---|
| 4.1.4 | 102 | 9/30/2026 |
| 4.1.3 | 90 | 9/29/2026 |
| 4.1.2 | 117 | 9/12/2026 |
| 4.1.1 | 140 | 8/14/2026 |
| 4.1.0 | 125 | 7/30/2026 |
| 4.0.0 | 124 | 7/30/2026 |
| 3.1.4 | 121 | 7/19/2026 |
| 3.1.3 | 119 | 7/18/2026 |
| 3.1.2 | 123 | 7/18/2026 |
| 3.1.1 | 114 | 7/18/2026 |
| 3.1.0 | 123 | 7/17/2026 |
| 3.0.0 | 123 | 7/15/2026 |
| 2.3.0 | 1,068 | 2/24/2026 |
| 2.1.1-beta | 142 | 2/24/2026 |
| 2.0.0-beta | 139 | 2/22/2026 |
| 1.1.0-beta | 151 | 5/31/2025 |
| 1.0.0-beta | 227 | 5/18/2025 |
### Fixed
- The prerendered dashboard no longer risks dropping its own circuit on a board with much state.
3.1.1 carried the states from prerender to the interactive render by persisting them into the
page, which put the whole board -- every checker and all its history -- on the SignalR circuit.
That payload grows with each checker, and past SignalR's default 32 KB message limit the hub
rejects it and the circuit never starts: the board freezes on the prerendered snapshot, styled but
not live. The states now stay on the server between the two renders (Blazor Server holds them there
already) and only a short-lived token travels to the browser and back, so the wire cost is constant
whatever the size of the board. A token that no longer resolves falls back to a fresh read. No
SignalR limit needs raising, so no extra memory or denial-of-service exposure comes with it.
### Fixed
- The dashboard no longer flickers on load when it is prerendered. Hosted the usual
way -- `<HealthieDashboard />` on an interactive-server page, which prerenders by
default -- the server rendered the full board, then the circuit connected a moment
later and the component started again from an empty state, read every checker afresh,
and briefly replaced the board already on screen. In that gap a status icon, which the
dashboard stylesheet sizes against its surroundings, painted for a frame before those
rules applied and filled the board as one large ring. The states the prerender reads
are now carried across to the interactive render through `PersistentComponentState`,
so the first interactive render matches the prerendered one: nothing is replaced, no
frame shows an unsized icon, and the redundant second read of every checker is gone.
Full changelog: https://github.com/ivanvyd/Healthie.NET/blob/v3.1.2/CHANGELOG.md