Skip to main content
Use these endpoints to inspect and execute WordPress core, plugin, theme, and translation updates.
Use the MainWP Postman collection as the source of truth for request and response schemas.
{id_or_domain} accepts either a numeric site ID or a site domain.

Route Matrix

Read Update Data

MethodPathPurposeKey Params
GET/updatesList available updates across sitestype (all, wp, plugins, themes, translations), search, include, exclude
GET/updates/{id_or_domain}List available updates for one sitetype, search
GET/updates/ignoredList globally ignored plugin/theme updatestype (plugins, themes, all), search
GET/updates/{id_or_domain}/ignoredList ignored updates for one sitetype, search

Run Updates

MethodPathPurposeKey Params
POST, PUT, PATCH/updates/updateTrigger update-all across DashboardOptional type
POST, PUT, PATCH/updates/{id_or_domain}/updateTrigger update-all for one siteid_or_domain
POST, PUT, PATCH/updates/{id_or_domain}/update/wpUpdate WordPress core on one siteid_or_domain
POST, PUT, PATCH/updates/{id_or_domain}/update/pluginsUpdate plugins on one siteOptional slug (single or comma list)
POST, PUT, PATCH/updates/{id_or_domain}/update/themesUpdate themes on one siteOptional slug
POST, PUT, PATCH/updates/{id_or_domain}/update/translationsUpdate translations on one siteOptional slug

Ignore Updates

MethodPathPurposeKey Params
POST, PUT, PATCH/updates/{id_or_domain}/ignore/wpIgnore core update on one siteid_or_domain
POST, PUT, PATCH/updates/{id_or_domain}/ignore/pluginsIgnore plugin updates on one siteOptional slug
POST, PUT, PATCH/updates/{id_or_domain}/ignore/themesIgnore theme updates on one siteOptional slug

Representative Requests

List plugin updates only

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/updates?type=plugins"
{
  "success": 1,
  "data": {
    "12": {
      "plugins": {
        "akismet/akismet.php": {
          "Name": "Akismet"
        }
      }
    }
  }
}

Run updates on one site

curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/updates/12/update"
{
  "success": 1,
  "message": "Site updates started successfully."
}

Ignore selected plugin updates on one site

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"
{
  "success": 1,
  "message": "Ignore update plugins per site successfully."
}