New: Distributed consensus monitoring is here. Learn more →

newuptime

API Reference

REST API v1

Automate everything. Manage monitors, query heartbeats, and integrate newuptime into your CI/CD pipelines, scripts, and dashboards.

Authentication

All API requests require a Bearer token. Generate an API key from Settings → API Keys in your dashboard.

Authorization: Bearer uk1_aBcDeFgHiJkLmN...
120 req/min rate limitJSON responsesRESTful design

Response Format

Every response follows a consistent envelope. Check ok for success/failure.

// Success
{ "ok": true, "data": [...], "meta": { "total": 42 } }
// Error
{ "ok": false, "msg": "Monitor not found" }

Base URL

https://central.newuptime.com/api/v1

IInfo

GET
/info

Platform info and monitor counts

MMonitors

GET
/monitors?page=1&limit=50&status=active|paused

List all monitors (paginated)

GET
/monitors/:id

Get monitor details

POST
/monitors

Create a new monitor

PUT
/monitors/:id

Update a monitor

DELETE
/monitors/:id

Delete a monitor and all its data

POST
/monitors/:id/pause

Pause monitoring

POST
/monitors/:id/resume

Resume monitoring

HHeartbeats

GET
/monitors/:id/heartbeats?hours=24&page=1&limit=50

Heartbeat history

GET
/monitors/:id/uptime

Uptime percentage (24h, 7d, 30d, 90d)

GET
/monitors/:id/important-heartbeats

State change events (UP/DOWN transitions)

NNotifications

GET
/notifications

List notification channels

GET
/notifications/:id

Get notification details

DELETE
/notifications/:id

Delete a notification channel

TTags

GET
/tags

List all tags

POST
/tags

Create a tag

PUT
/tags/:id

Update a tag

DELETE
/tags/:id

Delete a tag

SStatus Pages

GET
/status-pages

List status pages

GET
/status-pages/:slug

Get status page details

PProbes

GET
/probes

List all probe nodes and their status

Quick Examples

List all monitors

curl
-H "Authorization: Bearer uk1_yourkey" \
https://central.newuptime.com/api/v1/monitors

Create an HTTP monitor

curl -X POST
-H "Authorization: Bearer uk1_yourkey" \
-H "Content-Type: application/json" \
-d '{"name":"My Site","type":"http","url":"https://example.com","interval":60}' \
https://central.newuptime.com/api/v1/monitors

Get uptime stats

curl
-H "Authorization: Bearer uk1_yourkey" \
https://central.newuptime.com/api/v1/monitors/1/uptime

Pause a monitor

curl -X POST
-H "Authorization: Bearer uk1_yourkey" \
https://central.newuptime.com/api/v1/monitors/1/pause

Need help integrating?

The API follows RESTful conventions and works with any HTTP client. Use curl, fetch, axios, or your language's HTTP library.

cURLPython requestsNode.js fetchGo net/httpPHP Guzzle