API Reference

The Uptime Monitor API enables you to programmatically manage monitors, contacts, and incidents. Build powerful integrations and automate your monitoring workflows.

Base URL: https://api.uptime-monitor.io/api

All API requests must include authentication using Bearer tokens. See Authentication for details.

The API uses a point-based rate limiting system (5000 points/hour). See Rate Limiting for details.

Simple Authentication

Use API keys with Bearer authentication. Generate and manage keys directly from your account settings.

RESTful Design

Standard HTTP methods and JSON request/response format. Easy to integrate with any programming language.

Fast & Reliable

Low latency responses with 99.9% uptime SLA. Rate limits ensure fair usage across all customers.

Secure by Default

All API traffic is encrypted with TLS 1.2+. API keys are account-scoped with granular permissions.

Quick Start

1. Generate an API Key

Go to your Account Settings and create a new API key in the API section. Store it securely - you won't be able to see it again.

2. Make Your First Request

Test your API key by listing your monitors:

curl -X GET https://api.uptime-monitor.io/api/monitors \
  -H "Authorization: Bearer um_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

3. Handle the Response

All successful responses return JSON with a status of “ok”:

{
  "status": "ok",
  "monitors": [
    {
      "id": "507f1f77bcf86cd799439011",
      "name": "Production API",
      "url": "https://api.example.com",
      "type": "HTTPS",
      "interval": 60,
      "status": "ONLINE"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 1,
    "total_pages": 1
  }
}

Available Resources

Contacts API

Manage notification channels including email, SMS, webhooks, Slack, Discord, PagerDuty, and more. Configure who gets alerted when monitors detect issues.

GET /api/contacts
POST /api/contacts
PUT /api/contacts/:id
DELETE /api/contacts/:id

Monitors API

Create and manage HTTPS, TCP, and Ping monitors. Configure check intervals, regions, assertions, and notification rules.

GET /api/monitors
POST /api/monitors
PUT /api/monitors/:id
DELETE /api/monitors/:id
POST /api/monitors/:id/pause
POST /api/monitors/:id/resume

Incidents API

View monitor incidents and downtime history.

GET /api/incidents
GET /api/incidents/:id
PATCH /api/incidents/:id/comment

Status Pages API

Create and manage public status pages to share the health status of your monitored services with customers or team members.

GET /api/status_pages
POST /api/status_pages
PATCH /api/status_pages/:id
DELETE /api/status_pages/:id

Response Format

All API responses follow a consistent JSON format:

Success Response

{
  "status": "ok",
  "data": { ... },
  "pagination": { ... }
}

Error Response

{
  "status": "error",
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid request data"
  }
}

Additional Resources