Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mainwp-mintlify-c0f00f42.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Extension endpoints provide access to functionality from MainWP add-ons. These routes require each corresponding extension to be installed and active on your MainWP Dashboard.
Use the MainWP Postman collection as the source of truth for request and response schemas.

What You’ll Learn

  • Which extension routes are available in MainWP REST API v2
  • Which parameters each extension endpoint accepts
  • How to call Comments, SSL Monitor, Domain Monitor, Lighthouse, Pro Reports, and Time Tracker routes

Route Matrix

Comments

{id_or_domain} accepts either a numeric site ID or a site domain.
MethodPathPurposeKey Params
GET/commentsList comments across selected siteswebsites, groups, clients, status, keyword, dtsstart, dtsstop, maximum
GET/comments/{id_or_domain}List comments for one sitestatus, keyword, dtsstart, dtsstop, maximum
PUT, PATCH/comments/{id_or_domain}/{id_comment}/actionPerform an action on a single commentaction
PUT, PATCH/comments/{id_or_domain}/bulk-actionPerform an action on multiple commentsaction, comment_ids
Allowed action values: approve, unapprove, spam, unspam, trash, restore, delete. Allowed status filter values: approved, pending, spam, trash, all (default all). The maximum parameter caps the number of comments returned per site (default 50, max 500).

SSL Monitor

MethodPathPurposeKey Params
GET/ssl-monitor/infoGet SSL status for all monitored sites-
GET/ssl-monitor/info/{id_or_domain}Get SSL status for one siteid_or_domain
POST/ssl-monitor/{id_or_domain}Trigger SSL check for one siteid_or_domain

Domain Monitor

MethodPathPurposeKey Params
GET/domain-monitor/profilesGet domain profiles for all monitored sites-
GET/domain-monitor/profiles/{id_or_domain}Get domain profile for one siteid_or_domain
POST/domain-monitor/{id_or_domain}Trigger domain check for one siteid_or_domain

Lighthouse

MethodPathPurposeKey Params
POST/lighthouse/auditRun Lighthouse audits for all supported sites-
POST/lighthouse/audit/{id_or_domain}Run Lighthouse audit for one siteid_or_domain
GET/lighthouse/resultsGet Lighthouse results for all sitesOptional filters
GET/lighthouse/results/{id_or_domain}Get Lighthouse results for one siteid_or_domain

Pro Reports

Common query parameters for Pro Reports routes:
NameTypeRequiredDescription
start_datestringYesStart date in Y-m-d format
end_datestringYesEnd date in Y-m-d format
actionstringNoActivity action filter (route-specific)
formatstringNoResponse format
{id_or_domain} accepts either a numeric site ID or a site domain.
MethodPathPurpose
GET/pro-reports/{id_or_domain}/pluginsPlugin activity
GET/pro-reports/{id_or_domain}/themesTheme activity
GET/pro-reports/{id_or_domain}/wordpressWordPress core activity
GET/pro-reports/{id_or_domain}/postsPost activity
GET/pro-reports/{id_or_domain}/pagesPage activity
GET/pro-reports/{id_or_domain}/usersUser activity
GET/pro-reports/{id_or_domain}/commentsComment activity
GET/pro-reports/{id_or_domain}/menusMenu activity
GET/pro-reports/{id_or_domain}/mediaMedia activity
GET/pro-reports/{id_or_domain}/backupsBackup activity
GET/pro-reports/{id_or_domain}/maintenanceMaintenance activity
GET/pro-reports/{id_or_domain}/sucuriSucuri scan activity
GET/pro-reports/{id_or_domain}/wordfenceWordfence scan activity
GET/pro-reports/{id_or_domain}/ithemesSolid Security/iThemes activity
GET/pro-reports/{id_or_domain}/virusdieVirusdie activity
GET/pro-reports/{id_or_domain}/domainmonitorDomain Monitor activity
GET/pro-reports/{id_or_domain}/sslmonitorSSL Monitor activity
GET/pro-reports/{id_or_domain}/woocomstatusWooCommerce Status activity
GET/pro-reports/{id_or_domain}/vulnerableVulnerability activity
GET/pro-reports/{id_or_domain}/gaGoogle Analytics activity
GET/pro-reports/{id_or_domain}/matomoMatomo analytics activity
GET/pro-reports/{id_or_domain}/lighthouseLighthouse performance activity
GET/pro-reports/{id_or_domain}/aumAdvanced Uptime Monitor activity
GET/pro-reports/{id_or_domain}/uptimeUptime activity
GET/pro-reports/{id_or_domain}/atarimAtarim activity
GET/pro-reports/{id_or_domain}/protectJetpack Protect activity
GET/pro-reports/{id_or_domain}/scanJetpack Scan activity
GET/pro-reports/{id_or_domain}/websiteWebsite summary metrics
GET/pro-reports/{id_or_domain}/abandonedAbandoned plugin/theme activity
GET/pro-reports/{id_or_domain}/pendingPending updates activity
GET/pro-reports/{id_or_domain}/miscMiscellaneous report data

Time Tracker

{id_or_domain} accepts a numeric site ID or domain. {id_or_email} accepts a client ID or email.
MethodPathPurposeKey Params
GET/time-trackerList tasksOptional date/status filters
GET/time-tracker/settingsGet Time Tracker settings-
GET/time-tracker/tasks/{task_id}Get task by IDtask_id
POST/time-tracker/tasks/addCreate taskTask fields
PUT/time-tracker/tasks/{task_id}/editEdit tasktask_id, editable task fields
POST/time-tracker/tasks/{task_id}/startStart task timertask_id
POST/time-tracker/tasks/{task_id}/pausePause task timertask_id
POST/time-tracker/tasks/{task_id}/stopStop task timertask_id
GET/time-tracker/clientsList clients in Time TrackerOptional filters
GET/time-tracker/clients/{id_or_email}Get one clientid_or_email
GET/time-tracker/clients/{id_or_email}/settingsGet client Time Tracker settingsid_or_email
GET/time-tracker/clients/{id_or_email}/tasksList tasks for one clientid_or_email
GET/time-tracker/clients/{id_or_email}/bucketsList buckets for one clientid_or_email
GET/time-tracker/sites/{id_or_domain}/tasksList tasks for one siteid_or_domain
GET/time-tracker/bucketsList bucketsOptional filters
GET/time-tracker/buckets/{bucket_id}Get one bucketbucket_id

Representative Requests

List pending comments across selected sites

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/comments?status=pending&websites=12,19&maximum=50"
{
  "success": 1,
  "message": "Comments retrieved successfully.",
  "data": {
    "https://example.com": [
      {
        "comment_id": 482,
        "comment_author": "Jane Doe",
        "comment_content": "Great post!",
        "comment_status": "pending",
        "post_id": 341,
        "post_title": "Quarterly Report",
        "website_id": 12,
        "website_url": "https://example.com",
        "website_name": "Example"
      }
    ]
  }
}

Approve a single comment

curl -X PUT \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "action": "approve" }' \
  "https://your-dashboard.com/wp-json/mainwp/v2/comments/12/482/action"

Bulk-trash comments on one site

curl -X PUT \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "action": "trash", "comment_ids": "482,483,491" }' \
  "https://your-dashboard.com/wp-json/mainwp/v2/comments/12/bulk-action"

SSL Monitor for one site

curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/ssl-monitor/12"

Domain profile for one site

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/domain-monitor/profiles/12"

Run Lighthouse for all sites

curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/lighthouse/audit"

Pro Reports Google Analytics route

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/pro-reports/12/ga?start_date=2024-01-01&end_date=2024-01-31"

Start a Time Tracker task

curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/time-tracker/tasks/44/start"