What You’ll Learn
- Listing available updates across all sites
- Applying WordPress core, plugin, theme, and translation updates
- Managing ignored updates
- Batch update operations
Confirmation and Update Holds in 6.3
run-updates-v1, update-all-v1, and the four update-site-* abilities require either dry_run: true to preview or confirm: true to execute. A call with neither returns mainwp_confirmation_required with HTTP 400. Do not set both flags to true.
Preview first, review the returned sites and update plan, then submit the same selection with confirm: true. A direct Abilities API request uses these flags; the separate one-time confirmation token used by MainWP MCP belongs to the MCP server’s confirmation flow.
Previews return dry_run, would_affect, count, warnings, and errors. Confirmed immediate responses include dry_run: false, skipped, and summary.total_skipped. Inspect both errors and skipped; a successful HTTP request does not mean every update was installed. Queued responses return a job ID for status polling.
These abilities respect site-level and global update holds. Pending items blocked by a hold appear as skipped, and queued jobs recheck holds, site access, and the job owner’s operation permissions when they execute. Translation updates also respect the site’s translation ignore setting.
Adding an update hold remains available through the ignore abilities. Removing a site’s own holds uses the new mainwp/unignore-site-updates-v1 ability with preview or confirmation. The older action: unignore and action: remove paths return an error directing you to that ability.
mainwp/list-updates-v1
List available updates across all sites. Method: GET (readonly)
Response:
mainwp/run-updates-v1
Execute updates on sites. Operations affecting more than 200 sites are queued for background processing. Method: POST
Run a preview first with
dry_run: true. The commands above show confirmed execution unless labeled as a preview.
Response:
mainwp/get-site-updates-v1
Get available updates for a single site. Method: GET (readonly)
Response:
mainwp/update-site-core-v1
Update WordPress core on a single site. Method: POST
Run a preview first with
dry_run: true. The commands above show confirmed execution unless labeled as a preview.
Response:
mainwp/update-site-plugins-v1
Update plugins on a single site. Method: POST
Run a preview first with
dry_run: true. The commands above show confirmed execution unless labeled as a preview.
Response:
mainwp/update-site-themes-v1
Update themes on a single site. Method: POST
Run a preview first with
dry_run: true. The commands above show confirmed execution unless labeled as a preview.
Response:
mainwp/update-site-translations-v1
Update translations on a single site. Method: POST
Run a preview first with
dry_run: true. The commands above show confirmed execution unless labeled as a preview.
Response:
mainwp/list-ignored-updates-v1
List updates marked as ignored. Method: GET (readonly)
Response:
mainwp/set-ignored-updates-v1
Add an item to a site’s ignored updates list. In 6.3, useaction: ignore here and unignore-site-updates-v1 to remove a hold.
Method: POST
Response:
mainwp/ignore-site-core-v1
Add a core update hold for a site. Useunignore-site-updates-v1 with type: core to remove it.
Method: POST
Response:
mainwp/ignore-site-plugins-v1
Add plugin update holds for a site. Useunignore-site-updates-v1 with type: plugin to remove them.
Method: POST
Response:
mainwp/ignore-site-themes-v1
Add theme update holds for a site. Useunignore-site-updates-v1 with type: theme to remove them.
Method: POST
Response:
mainwp/unignore-site-updates-v1
Preview or remove one site’s own update holds. Removing a hold can make an update eligible for later update runs, including queued runs; this ability does not install the update. Method: POST
A preview returns
would_affect.holds, a count, warnings, and errors. A hold’s still_held_by field identifies a global or whole-site hold that will remain in effect. Execution returns removed, not_held, and count with dry_run: false:
mainwp/update-all-v1
Execute all available updates across sites. Use with caution on production environments. Method: POST
Run a preview first with
dry_run: true. The commands above show confirmed execution unless labeled as a preview.
Response:
Related Resources
- Abilities API Overview - API basics and authentication
- Sites Abilities - Site management abilities
- REST API Updates - REST API alternative for updates
- Manage Updates - Update management in Dashboard
