Unstatus API

Introduction

Get started with the Unstatus REST API.

The Unstatus API lets you programmatically manage monitors, incidents, status pages, and maintenance windows.

If you are building in Node.js or Rust, prefer the official SDKs over hand-writing fetch calls.

Base URL

All API requests use the following base URL:

https://unstatus.app/api/v1

Quick Start

  1. Create an API key in Settings > API in the dashboard.
  2. Make a request using the key as a Bearer token:
List your monitors
curl https://unstatus.app/api/v1/monitors \
  -H "Authorization: Bearer usk_your_api_key"
  1. Parse the response — every endpoint returns a consistent JSON envelope:
Response
{
  "data": [
    {
      "id": "clx1abc...",
      "name": "API Server",
      "type": "http",
      "active": true,
      "currentStatus": "up"
    }
  ],
  "pagination": {
    "total": 1,
    "limit": 20,
    "offset": 0,
    "hasMore": false
  }
}

Or use an SDK:

Node SDK
import { createClient } from "@unstatus/node-sdk";

const client = createClient({
  apiKey: "usk_your_api_key",
});

const { items } = await client.monitors.list();
console.log(items);
Rust SDK
use unstatus_rust_sdk::Client;

let client = Client::new("usk_your_api_key")?;
let monitors = client.monitors().list(None).await?;
println!("{}", monitors.items.len());

Access

Any valid API key can call both read and write endpoints. Rate limits still vary by plan.

Resources

On this page