Skip to main content
Update Manager API endpoints were added in v2.6.0.
Base path: /wp-json/wp-manager-pro/v1/updates All endpoints require X-WP-Nonce header with a wp_rest nonce and the manage_options capability.

GET /updates/available

Returns all pending updates for plugins, themes, and WordPress core.
curl "https://example.com/wp-json/wp-manager-pro/v1/updates/available" \
  -H "X-WP-Nonce: YOUR_NONCE"

Parameters

force
boolean
If true, forces WordPress to re-query WordPress.org for fresh update data before returning results.

Response

Returns an array of update items:
id
string
Composite ID: plugin:slug/file.php, theme:slug, or core:wordpress.
type
string
plugin, theme, or core.
slug
string
Plugin/theme slug or wordpress for core.
file
string
Plugin file path (plugins only).
name
string
Human-readable name.
current
string
Currently installed version.
new_version
string
Version available for update.
changelog_url
string
URL to the WordPress.org changelog page.

GET /updates/changelog

Returns changelog information for a specific update item.
curl "https://example.com/wp-json/wp-manager-pro/v1/updates/changelog?type=plugin&slug=woocommerce" \
  -H "X-WP-Nonce: YOUR_NONCE"

Parameters

type
string
required
plugin or theme.
slug
string
required
Plugin or theme slug.

Response

sections
object
Object containing changelog HTML, keyed by section name (e.g. changelog).

POST /updates/run

Run one or more updates.
curl -X POST https://example.com/wp-json/wp-manager-pro/v1/updates/run \
  -H "X-WP-Nonce: YOUR_NONCE" \
  -H "Content-Type: application/json" \
  -d '{"items": [{"type": "plugin", "file": "woocommerce/woocommerce.php", "slug": "woocommerce"}]}'

Parameters

items
array
required
Array of items to update. Each item must include type (plugin, theme, or core), and either file (plugins) or slug (themes/core).

Response

Returns an array of result objects:
id
string
The composite item ID.
status
string
done or failed.
error
string|null
Error message if status is failed.
from_version
string
Version before the update.
to_version
string
Version after the update.
has_backup
boolean
Whether a backup was captured before updating.

POST /updates/rollback

Roll back a previously updated item to its pre-update backup.
Rollback only works if a backup was captured when the update was run. The has_backup field in history entries indicates availability.
curl -X POST https://example.com/wp-json/wp-manager-pro/v1/updates/rollback \
  -H "X-WP-Nonce: YOUR_NONCE" \
  -H "Content-Type: application/json" \
  -d '{"history_id": "plugin:woocommerce/woocommerce.php:1735000000"}'

Parameters

history_id
string
required
The history entry ID to roll back (from the history list).

Response

success
boolean
Always true on success.

GET /updates/history

Returns the update history log.
curl https://example.com/wp-json/wp-manager-pro/v1/updates/history \
  -H "X-WP-Nonce: YOUR_NONCE"

Response

Returns an array of history entries (up to 100 most recent):
id
string
History entry ID.
name
string
Plugin/theme/core name.
type
string
plugin, theme, or core.
slug
string
Slug.
from_version
string
Version before update.
to_version
string
Version after update.
date
string
ISO 8601 timestamp of when the update ran.
status
string
done, failed, or rolled-back.
error
string|null
Error message if applicable.
has_backup
boolean
Whether a rollback backup is available.

DELETE /updates/history/clear

Clears all update history entries (backup files are not deleted).
curl -X DELETE https://example.com/wp-json/wp-manager-pro/v1/updates/history/clear \
  -H "X-WP-Nonce: YOUR_NONCE"

Response

success
boolean
Always true on success.

GET /updates/scheduled

Returns all scheduled update jobs.
curl https://example.com/wp-json/wp-manager-pro/v1/updates/scheduled \
  -H "X-WP-Nonce: YOUR_NONCE"

Response

Returns an array of scheduled job objects:
id
string
Job ID.
type
string
plugin, theme, or core.
slug
string
Slug.
run_at
integer
Unix timestamp of the scheduled run time.
created_at
string
ISO 8601 creation timestamp.
status
string
pending or running.
next_run
integer|null
Next WP Cron fire time as Unix timestamp.
next_run_human
string
Human-readable next run time.

POST /updates/schedule

Schedule an update job.
curl -X POST https://example.com/wp-json/wp-manager-pro/v1/updates/schedule \
  -H "X-WP-Nonce: YOUR_NONCE" \
  -H "Content-Type: application/json" \
  -d '{"type": "plugin", "slug": "woocommerce", "run_at": 1740000000}'

Parameters

type
string
required
plugin, theme, or core.
slug
string
required
Plugin/theme slug or wordpress for core.
run_at
integer
required
Unix timestamp for when to run the update.

Response

success
boolean
Always true on success.
job_id
string
ID of the created scheduled job.

POST /updates/schedule/cancel

Cancel a scheduled update job.
curl -X POST https://example.com/wp-json/wp-manager-pro/v1/updates/schedule/cancel \
  -H "X-WP-Nonce: YOUR_NONCE" \
  -H "Content-Type: application/json" \
  -d '{"job_id": "plugin:woocommerce:1740000000"}'

Parameters

job_id
string
required
The job ID to cancel.

Response

success
boolean
Always true on success.

GET /updates/check-self

Checks whether WP Manager Pro itself has an update available.
curl https://example.com/wp-json/wp-manager-pro/v1/updates/check-self \
  -H "X-WP-Nonce: YOUR_NONCE"

Response

has_update
boolean
Whether an update is available.
current_version
string
Currently installed version.
latest_version
string
Latest available version.

Build docs developers (and LLMs) love