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

# Updates Endpoints

> Route-level reference for MainWP REST API v2 update endpoints, including listing updates, running updates, and managing ignored updates.

Use these endpoints to inspect and execute WordPress core, plugin, theme, and translation updates.

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

`{id_or_domain}` accepts either a numeric site ID or a site domain.

## Route Matrix

### Read Update Data

| Method | Path                              | Purpose                                    | Key Params                                                                                |
| ------ | --------------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------------- |
| GET    | `/updates`                        | List available updates across sites        | `type` (`all`, `wp`, `plugins`, `themes`, `translations`), `search`, `include`, `exclude` |
| GET    | `/updates/{id_or_domain}`         | List available updates for one site        | `type`, `search`                                                                          |
| GET    | `/updates/ignored`                | List globally ignored plugin/theme updates | `type` (`plugins`, `themes`, `all`), `search`                                             |
| GET    | `/updates/{id_or_domain}/ignored` | List ignored updates for one site          | `type`, `search`                                                                          |

### Run Updates

| Method           | Path                                          | Purpose                             | Key Params                             |
| ---------------- | --------------------------------------------- | ----------------------------------- | -------------------------------------- |
| POST, PUT, PATCH | `/updates/update`                             | Trigger update-all across Dashboard | Optional `type`                        |
| POST, PUT, PATCH | `/updates/{id_or_domain}/update`              | Trigger update-all for one site     | `id_or_domain`                         |
| POST, PUT, PATCH | `/updates/{id_or_domain}/update/wp`           | Update WordPress core on one site   | `id_or_domain`                         |
| POST, PUT, PATCH | `/updates/{id_or_domain}/update/plugins`      | Update plugins on one site          | Optional `slug` (single or comma list) |
| POST, PUT, PATCH | `/updates/{id_or_domain}/update/themes`       | Update themes on one site           | Optional `slug`                        |
| POST, PUT, PATCH | `/updates/{id_or_domain}/update/translations` | Update translations on one site     | Optional `slug`                        |

### Ignore Updates

| Method           | Path                                     | Purpose                           | Key Params      |
| ---------------- | ---------------------------------------- | --------------------------------- | --------------- |
| POST, PUT, PATCH | `/updates/{id_or_domain}/ignore/wp`      | Ignore core update on one site    | `id_or_domain`  |
| POST, PUT, PATCH | `/updates/{id_or_domain}/ignore/plugins` | Ignore plugin updates on one site | Optional `slug` |
| POST, PUT, PATCH | `/updates/{id_or_domain}/ignore/themes`  | Ignore theme updates on one site  | Optional `slug` |

***

## Representative Requests

### List plugin updates only

```bash theme={null}
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/updates?type=plugins"
```

```json theme={null}
{
  "success": 1,
  "data": {
    "12": {
      "plugins": {
        "akismet/akismet.php": {
          "Name": "Akismet"
        }
      }
    }
  }
}
```

### Run updates on one site

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

```json theme={null}
{
  "success": 1,
  "message": "Site updates started successfully."
}
```

### Ignore selected plugin updates on one site

```bash theme={null}
curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"akismet/akismet.php,jetpack/jetpack.php"}' \
  "https://your-dashboard.com/wp-json/mainwp/v2/updates/12/ignore/plugins"
```

```json theme={null}
{
  "success": 1,
  "message": "Ignore update plugins per site successfully."
}
```

***

## Related Resources

* [REST API Overview](/api-reference/rest-api/overview)
* [Sites Endpoints](/api-reference/rest-api/sites)
* [Batch Endpoint](/api-reference/rest-api/batch)
