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/v1Quick Start
- Create an API key in Settings > API in the dashboard.
- Make a request using the key as a Bearer token:
curl https://unstatus.app/api/v1/monitors \
-H "Authorization: Bearer usk_your_api_key"- Parse the response — every endpoint returns a consistent JSON envelope:
{
"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:
import { createClient } from "@unstatus/node-sdk";
const client = createClient({
apiKey: "usk_your_api_key",
});
const { items } = await client.monitors.list();
console.log(items);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
- Authentication — API key setup and usage
- SDKs — Official Node and Rust clients
- Rate Limiting — Limits and headers
- Errors — Error codes and handling
- Monitors — Create and manage monitors
- Incidents — Track and resolve incidents
- Status Pages — Public status pages
- Maintenance — Scheduled maintenance windows