StatusPageIOClient 1.0.1

dotnet add package StatusPageIOClient --version 1.0.1                
NuGet\Install-Package StatusPageIOClient -Version 1.0.1                
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="StatusPageIOClient" Version="1.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add StatusPageIOClient --version 1.0.1                
#r "nuget: StatusPageIOClient, 1.0.1"                
#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.
// 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 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. 
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
1.0.1 103 9/5/2024
1.0.0 12,136 10/31/2019