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"
}
}