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

# Extensions Endpoints

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

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.

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

| 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

### 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 Extension](/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)
