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