> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mainwp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add-on Endpoints

> Route-level reference for MainWP add-on REST endpoints including Comments, SSL Monitor, Domain Monitor, Lighthouse, Pro Reports, and Time Tracker.

Add-on endpoints provide access to functionality from MainWP add-ons. These routes require each corresponding add-on to be installed and active on your MainWP Dashboard.

<Note>
  Use the [MainWP Postman collection](https://www.postman.com/mainwp/mainwp/collection/ujfddk4/mainwp-rest-api-v2-current) as the source of truth for request and response schemas.
</Note>

## What You'll Learn

* Which add-on routes are available in MainWP REST API v2
* Which parameters each add-on 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.

| 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, PUT, PATCH | `/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, PUT, PATCH | `/domain-monitor/{id_or_domain}` | Trigger domain check for one site | `id_or_domain` |

### Lighthouse

| Method | Path | Purpose | Key Params |
| - | - | - | - |
| POST, PUT, PATCH | `/lighthouse/audit` | Run Lighthouse audits for all supported sites | - |
| POST, PUT, PATCH | `/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 | No | Start date in `Y-m-d` format. When either date is missing, the range defaults to the last year |
| `end_date` | string | No | End date in `Y-m-d` format. When either date is missing, the range defaults to the last year |
| `action` | string | No | Activity action filter (route-specific) |
| `format` | string | No | Response format |
| `multi_tokens` | string | On `multi-tokens` only | Report template content whose tokens the Dashboard resolves, for example `[client.name]` |

`{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}/widgets` | Widget 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}/pagespeed` | Page Speed 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 |
| GET | `/pro-reports/{id_or_domain}/multi-tokens` | Resolved report tokens for a template |

### 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

### List pending comments across selected sites

```bash theme={null}
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/comments?status=pending&websites=12,19&maximum=50"
```

```json theme={null}
{
  "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

```bash theme={null}
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

```bash theme={null}
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

```bash theme={null}
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

```bash theme={null}
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/domain-monitor/profiles/12"
```

### Run Lighthouse for all sites

```bash theme={null}
curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/lighthouse/audit"
```

### Pro Reports Google Analytics route

```bash theme={null}
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

```bash theme={null}
curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/time-tracker/tasks/44/start"
```

***

## Related Resources

* [REST API Overview](/api-reference/rest-api/overview)
* [Comments Extension](/add-ons/administrative/comments-extension)
* [SSL Monitor Extension](/add-ons/monitoring/mainwp-ssl-monitor-extension)
* [Domain Monitor Extension](/add-ons/monitoring/mainwp-domain-monitor-extension)
* [Lighthouse Integration](/add-ons/monitoring/mainwp-lighthouse-extension)
* [Pro Reports Extension](/add-ons/agency/pro-reports-extension-overview)
* [Time Tracker Extension](/add-ons/client/mainwp-time-tracker-extension)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.