Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/sdk-node. SDK for openstatus www.openstatus.dev
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051/** * Example usage of the OpenStatus Node.js SDK. * * Run with: deno task dev */import { type HTTPMonitor, openstatus } from "./src/mod.ts";
async function main(): Promise<void> { console.log("OpenStatus SDK Example\n");
// 1. Health check (no authentication required) console.log("1. Checking API health..."); const health = await openstatus.health.v1.HealthService.check({}); console.log(` Status: ${health.status}\n`);
// 2. List monitors (requires authentication) const apiKey = process.env.OPENSTATUS_API_KEY; if (!apiKey) { console.log("2. Skipping monitor operations (OPENSTATUS_API_KEY not set)"); console.log( " Set OPENSTATUS_API_KEY environment variable to test monitor operations.", ); return; }
const headers = { "x-openstatus-key": `${apiKey}` };
console.log("2. Listing monitors..."); const { httpMonitors, tcpMonitors, dnsMonitors, totalSize } = await openstatus .monitor.v1.MonitorService.listMonitors({}, { headers });
console.log(` Found ${totalSize} monitors:`); console.log(` - HTTP: ${httpMonitors.length}`); console.log(` - TCP: ${tcpMonitors.length}`); console.log(` - DNS: ${dnsMonitors.length}`);
// 3. Display HTTP monitors if (httpMonitors.length > 0) { console.log("\n3. HTTP Monitors:"); httpMonitors.forEach((monitor: HTTPMonitor) => { console.log( ` - ${monitor.name}: ${monitor.url} (${ monitor.active ? "active" : "paused" })`, ); }); }}
main().catch(console.error);