Skip to main content
Use these endpoints to work with uptime monitoring data and monitor configuration.
Use the MainWP Postman collection as the source of truth for request and response schemas.
{id_or_domain} accepts either a numeric site ID or a site domain.

Route Matrix

Monitor Lists

MethodPathPurposeKey Params
GET/monitorsList monitors with full metricsstatus, search, include, exclude, page, per_page
GET/monitors/basicList monitors with basic fieldsstatus, search, include, exclude, page, per_page
GET/monitors/countCount monitorsstatus, search, include, exclude

Per-Monitor Data

MethodPathPurposeKey Params
GET/monitors/{id_or_domain}Get monitor detailsid_or_domain
GET/monitors/{id_or_domain}/basicGet basic monitor detailsid_or_domain
GET/monitors/{id_or_domain}/heartbeatGet heartbeat historyid_or_domain, period, since, limit, status, page
GET/monitors/{id_or_domain}/incidentsGet incident listid_or_domain, page, per_page
GET/monitors/{id_or_domain}/incidents/countCount incidentsid_or_domain
POST/monitors/{id_or_domain}/checkTrigger immediate monitor checkid_or_domain

Monitor Settings

MethodPathPurposeKey Params
PUT, PATCH/monitors/{id_or_domain}/settingsUpdate one monitor settingsactive, interval, timeout, maxretries, type, method, expected_status, keyword
PUT, PATCH/monitors/settingsUpdate global monitor defaultsactive, interval, timeout, maxretries, type, method, expected_status, keyword

Representative Requests

Get monitor incidents for one site

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/monitors/12/incidents?page=1&per_page=20"
{
  "success": 1,
  "total": 3,
  "data": [
    {
      "status": "down",
      "started_at": "2026-02-01 11:03:00"
    }
  ]
}

Update individual monitor settings

curl -X PATCH \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "active":"useglobal",
    "interval":"5m",
    "timeout":"30000",
    "type":"http",
    "method":"get"
  }' \
  "https://your-dashboard.com/wp-json/mainwp/v2/monitors/12/settings"
{
  "success": 1,
  "message": "Monitor settings updated successfully."
}