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

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.3)
-
net8.0
- Healthie.NET.Abstractions (>= 3.1.3)
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 | 104 | 9/30/2026 |
| 4.1.3 | 91 | 9/29/2026 |
| 4.1.2 | 118 | 9/12/2026 |
| 4.1.1 | 141 | 8/14/2026 |
| 4.1.0 | 126 | 7/30/2026 |
| 4.0.0 | 126 | 7/30/2026 |
| 3.1.4 | 122 | 7/19/2026 |
| 3.1.3 | 120 | 7/18/2026 |
| 3.1.2 | 124 | 7/18/2026 |
| 3.1.1 | 117 | 7/18/2026 |
| 3.1.0 | 124 | 7/17/2026 |
| 3.0.0 | 125 | 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 | 153 | 5/31/2025 |
| 1.0.0-beta | 228 | 5/18/2025 |
### Changed
- The dashboard now scrolls within its own board rather than the page, so its scrollbar is themed to
match the board -- a thin, rounded bar in the board's own line colour, on both the dark and light
themes -- instead of the platform's wide light-grey default running down the side of a dark tool.
The board owns a full-viewport (`100dvh`) scroll region, and a scroll that reaches its end no
longer drags the page behind an embedded board.
### 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.3/CHANGELOG.md