openstatus logoPricingDashboard

API

A typed JSON-over-HTTP API powered by ConnectRPC — every endpoint the dashboard uses, with a fully typed Node SDK on top.

The openstatus API is a typed, JSON-over-HTTP layer powered by ConnectRPC. Every action the dashboard performs is reachable from the API — same workspace, same audit log, same single API key.

Quickstart

curl https://api.openstatus.dev/rpc/openstatus.v1.MonitorService/ListMonitors \
  -H "x-openstatus-key: os_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{}'

Generate a key from Settings → API Tokens.

What you can do

  • Manage monitors, status pages, status reports, maintenance windows, and notification channels.
  • Build dashboards or in-app integrations on top of typed JSON responses.
  • Use a single key across the API, CLI, Terraform, and MCP server.
  • Inspect the full schema in the OpenAPI explorer.

Node SDK

The openstatus Node SDK is a fully typed TypeScript and JavaScript client for the API — no hand-written fetch calls, no codegen step. Works in Node and Deno.

npm i @openstatus/sdk-node
import { Openstatus } from "@openstatus/sdk-node";

const client = new Openstatus({ apiKey: process.env.OPENSTATUS_API_KEY });

const monitors = await client.monitors.list();
await client.statusReports.create({ /* ... */ });

Reach out if you want us to port it to another language.

Auth & audit

Pass x-openstatus-key on every request. The token is the same one the CLI, Terraform provider, and MCP server share.

Every mutation lands in the audit log under actor_type = 'api', so you can trace any change back to a key, a user, and a transport.

Other surfaces

  • Want a terminal interface or YAML config? See the CLI.
  • Managing infrastructure in HCL? Use the Terraform provider.
  • Want Claude or ChatGPT to call your workspace? See the MCP server.

Reference

Full schema and methods in the API reference. SDK docs at jsr.io/@openstatus/sdk-node.