StatusPageIOClient 1.0.1
dotnet add package StatusPageIOClient --version 1.0.1
NuGet\Install-Package StatusPageIOClient -Version 1.0.1
<PackageReference Include="StatusPageIOClient" Version="1.0.1" />
paket add StatusPageIOClient --version 1.0.1
#r "nuget: StatusPageIOClient, 1.0.1"
// Install StatusPageIOClient as a Cake Addin #addin nuget:?package=StatusPageIOClient&version=1.0.1 // Install StatusPageIOClient as a Cake Tool #tool nuget:?package=StatusPageIOClient&version=1.0.1
StatusPageClient
API allowing applications to read from statuspage.io's public-facing API
I've written this largely so that I can read from the SendGrid status API, but others also work.
Known Statuspage.io clients
Provider | URL | Page ID |
---|---|---|
SendGrid | https://status.sendgrid.com/api | 3tgl2vf85cht |
GitHub | https://www.githubstatus.com/api | kctbh9vrtdwd |
Dropbox | https://status.dropbox.com/api | t34htyd6jblf |
Other Statuspage.io customers
In the general case, if you know that a status page is provided by Statuspage.io then just add "/api" to the end of the URL. This'll take you to the API summary. You then need to look at the URL given for the Summary section. This'll usually be in the format:
https://3tgl2vf85cht.statuspage.io/api/v2/summary.json
You want the first part of this URL's domain. In the example above, I'm looking at the SendGrid site and so the Page ID is 3tgl2vf85cht
.
Using the client
To get started, pass the right Page ID to the constructor of StatusPageClient
and await its RefreshAsync
method. This'll get all of the data most people need: component status, ongoing incidents and scheduled maintenance events. If you need historical incidents and scheduled maintenance events, set RetrieveAllIncidents
and RetrieveAllMaintenanceEvents
to true
, respectively.
Once you've called RefreshAsync
, you can access all of the data by looking at the StatusPage
property. This provides you with the overall status (OverallStatus
), some friendly descriptions (Name
and Url
), a list of components (Components
) and the lists of incidents and scheduled maintenance events (Incidents
and ScheduledMaintenances
, respectively.)
Subscriptions
The Statuspage.io API also lets you manage subscribers, so clients can get emails, SMSes and webhook requests as events occur. This functionality is not part of this library.
Use Cases
Statuspage.io rate limit clients to one request every second. This is usually fine, but if I want to check whether or not SendGrid is working on an incoming HTTP request, I'd quickly run into a rate limit. Instead, I use this library to get the relevant status, store it locally and expose it via health checks.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- System.Text.Json (>= 8.0.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.