Reference & migration
MonoDuty REST API Reference
Use the MonoDuty REST API to manage webhooks, services, incidents, monitors, and heartbeat endpoints such as /api/pulse-monitors.
API Reference
The MonoDuty REST API allows you to programmatically manage webhooks, send alerts, and access your data.
Base URL
https://api.monoduty.com/v1
Response Format
All responses are returned in JSON format:
{
"success": true,
"data": { ... },
"message": "Operation successful"
}Authentication
All API requests require authentication via API key:
curl https://api.monoduty.com/v1/webhooks \ -H "Authorization: Bearer YOUR_API_KEY"
Keep Your API Key Secret Never expose your API key in client-side code or public repositories.
Generate API keys in Settings → API Keys.
Webhooks API
List Webhooks
GET /v1/webhooks
Create Webhook
POST /v1/webhooks
Get Webhook
GET /v1/webhooks/:id
Update Webhook
PUT /v1/webhooks/:id
Delete Webhook
DELETE /v1/webhooks/:id
Services API
List Services
GET /api/services
Create Service
POST /api/services
Get Service
GET /api/services/:id
Update Service
PUT /api/services/:id
Delete Service
DELETE /api/services/:id
Events API
Send Event (via Integration Key)
POST /api/v1/events?integration_key=KEY
OpsGenie Compatible The Events API accepts both MonoDuty native format and OpsGenie Alert API v2 format. See the OpsGenie Migration section for details.
Incidents API
List Incidents
GET /api/incidents
Create Incident
POST /api/incidents
Get Incident
GET /api/incidents/:id
Acknowledge Incident
POST /api/incidents/:id/acknowledge
Resolve Incident
POST /api/incidents/:id/resolve
Delete Incident
DELETE /api/incidents/:id
Heartbeats API
List Heartbeats
GET /api/pulse-monitors
Create Heartbeat
POST /api/pulse-monitors
Get Heartbeat
GET /api/pulse-monitors/:id
Update Heartbeat
PUT /api/pulse-monitors/:id
Delete Heartbeat
DELETE /api/pulse-monitors/:id
Pause Heartbeat
POST /api/pulse-monitors/:id/pause
Resume Heartbeat
POST /api/pulse-monitors/:id/resume
Monitors API
List Monitors
GET /api/uptime-monitors
Create Monitor
POST /api/uptime-monitors
Get Monitor (with checks & stats)
GET /api/uptime-monitors/:id
Delete Monitor
DELETE /api/uptime-monitors/:id
Pause Monitor
POST /api/uptime-monitors/:id/pause
Resume Monitor
POST /api/uptime-monitors/:id/resume
Alerts API
Send Alert (via Webhook)
POST /webhook/:webhook_id
List Alerts
GET /v1/alerts
Get Alert Details
GET /v1/alerts/:id
Acknowledge Alert
POST /v1/alerts/:id/acknowledge
Resolve Alert
POST /v1/alerts/:id/resolve