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.
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
{id_or_domain} accepts either a numeric site ID or a site domain.
| Method | Path | Purpose | Key Params |
|---|
| GET | /comments | List comments across selected sites | websites, groups, clients, status, keyword, dtsstart, dtsstop, maximum |
| GET | /comments/{id_or_domain} | List comments for one site | status, keyword, dtsstart, dtsstop, maximum |
| PUT, PATCH | /comments/{id_or_domain}/{id_comment}/action | Perform an action on a single comment | action |
| PUT, PATCH | /comments/{id_or_domain}/bulk-action | Perform an action on multiple comments | action, 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
| Method | Path | Purpose | Key Params |
|---|
| GET | /ssl-monitor/info | Get SSL status for all monitored sites | - |
| GET | /ssl-monitor/info/{id_or_domain} | Get SSL status for one site | id_or_domain |
| POST | /ssl-monitor/{id_or_domain} | Trigger SSL check for one site | id_or_domain |
Domain Monitor
| Method | Path | Purpose | Key Params |
|---|
| GET | /domain-monitor/profiles | Get domain profiles for all monitored sites | - |
| GET | /domain-monitor/profiles/{id_or_domain} | Get domain profile for one site | id_or_domain |
| POST | /domain-monitor/{id_or_domain} | Trigger domain check for one site | id_or_domain |
Lighthouse
| Method | Path | Purpose | Key Params |
|---|
| POST | /lighthouse/audit | Run Lighthouse audits for all supported sites | - |
| POST | /lighthouse/audit/{id_or_domain} | Run Lighthouse audit for one site | id_or_domain |
| GET | /lighthouse/results | Get Lighthouse results for all sites | Optional filters |
| GET | /lighthouse/results/{id_or_domain} | Get Lighthouse results for one site | id_or_domain |
Pro Reports
Common query parameters for Pro Reports routes:
| Name | Type | Required | Description |
|---|
start_date | string | Yes | Start date in Y-m-d format |
end_date | string | Yes | End date in Y-m-d format |
action | string | No | Activity action filter (route-specific) |
format | string | No | Response format |
{id_or_domain} accepts either a numeric site ID or a site domain.
| Method | Path | Purpose |
|---|
| GET | /pro-reports/{id_or_domain}/plugins | Plugin activity |
| GET | /pro-reports/{id_or_domain}/themes | Theme activity |
| GET | /pro-reports/{id_or_domain}/wordpress | WordPress core activity |
| GET | /pro-reports/{id_or_domain}/posts | Post activity |
| GET | /pro-reports/{id_or_domain}/pages | Page activity |
| GET | /pro-reports/{id_or_domain}/users | User activity |
| GET | /pro-reports/{id_or_domain}/comments | Comment activity |
| GET | /pro-reports/{id_or_domain}/menus | Menu activity |
| GET | /pro-reports/{id_or_domain}/media | Media activity |
| GET | /pro-reports/{id_or_domain}/backups | Backup activity |
| GET | /pro-reports/{id_or_domain}/maintenance | Maintenance activity |
| GET | /pro-reports/{id_or_domain}/sucuri | Sucuri scan activity |
| GET | /pro-reports/{id_or_domain}/wordfence | Wordfence scan activity |
| GET | /pro-reports/{id_or_domain}/ithemes | Solid Security/iThemes activity |
| GET | /pro-reports/{id_or_domain}/virusdie | Virusdie activity |
| GET | /pro-reports/{id_or_domain}/domainmonitor | Domain Monitor activity |
| GET | /pro-reports/{id_or_domain}/sslmonitor | SSL Monitor activity |
| GET | /pro-reports/{id_or_domain}/woocomstatus | WooCommerce Status activity |
| GET | /pro-reports/{id_or_domain}/vulnerable | Vulnerability activity |
| GET | /pro-reports/{id_or_domain}/ga | Google Analytics activity |
| GET | /pro-reports/{id_or_domain}/matomo | Matomo analytics activity |
| GET | /pro-reports/{id_or_domain}/lighthouse | Lighthouse performance activity |
| GET | /pro-reports/{id_or_domain}/aum | Advanced Uptime Monitor activity |
| GET | /pro-reports/{id_or_domain}/uptime | Uptime activity |
| GET | /pro-reports/{id_or_domain}/atarim | Atarim activity |
| GET | /pro-reports/{id_or_domain}/protect | Jetpack Protect activity |
| GET | /pro-reports/{id_or_domain}/scan | Jetpack Scan activity |
| GET | /pro-reports/{id_or_domain}/website | Website summary metrics |
| GET | /pro-reports/{id_or_domain}/abandoned | Abandoned plugin/theme activity |
| GET | /pro-reports/{id_or_domain}/pending | Pending updates activity |
| GET | /pro-reports/{id_or_domain}/misc | Miscellaneous report data |
Time Tracker
{id_or_domain} accepts a numeric site ID or domain. {id_or_email} accepts a client ID or email.
| Method | Path | Purpose | Key Params |
|---|
| GET | /time-tracker | List tasks | Optional date/status filters |
| GET | /time-tracker/settings | Get Time Tracker settings | - |
| GET | /time-tracker/tasks/{task_id} | Get task by ID | task_id |
| POST | /time-tracker/tasks/add | Create task | Task fields |
| PUT | /time-tracker/tasks/{task_id}/edit | Edit task | task_id, editable task fields |
| POST | /time-tracker/tasks/{task_id}/start | Start task timer | task_id |
| POST | /time-tracker/tasks/{task_id}/pause | Pause task timer | task_id |
| POST | /time-tracker/tasks/{task_id}/stop | Stop task timer | task_id |
| GET | /time-tracker/clients | List clients in Time Tracker | Optional filters |
| GET | /time-tracker/clients/{id_or_email} | Get one client | id_or_email |
| GET | /time-tracker/clients/{id_or_email}/settings | Get client Time Tracker settings | id_or_email |
| GET | /time-tracker/clients/{id_or_email}/tasks | List tasks for one client | id_or_email |
| GET | /time-tracker/clients/{id_or_email}/buckets | List buckets for one client | id_or_email |
| GET | /time-tracker/sites/{id_or_domain}/tasks | List tasks for one site | id_or_domain |
| GET | /time-tracker/buckets | List buckets | Optional filters |
| GET | /time-tracker/buckets/{bucket_id} | Get one bucket | bucket_id |
Representative Requests
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"
}
]
}
}
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"
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"